DE1901297B2 - Datenverarbeitungsanlage mit steuereinrichtungen, die bei feststellung eines fehlers eine erneute ausfuehrung des laufenden befehls bewirken - Google Patents
Datenverarbeitungsanlage mit steuereinrichtungen, die bei feststellung eines fehlers eine erneute ausfuehrung des laufenden befehls bewirkenInfo
- Publication number
- DE1901297B2 DE1901297B2 DE19691901297 DE1901297A DE1901297B2 DE 1901297 B2 DE1901297 B2 DE 1901297B2 DE 19691901297 DE19691901297 DE 19691901297 DE 1901297 A DE1901297 A DE 1901297A DE 1901297 B2 DE1901297 B2 DE 1901297B2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- operand
- main memory
- address
- word
- 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/16—Error detection or correction of the data by redundancy in hardware
-
- 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
Description
Die Erfindung betrifft eine Datenverarbeitungsan-
lage gemäß dem Oberbegriff des Anspruchs 1.
Die in Datenverarbeitungsanlagen auftretenden Fehler können in zwei Kategorien aufgeteilt werden:
»vorübergehende« Fehler und »dauernde« Fehler. Vorübergehende Fehler können die Folge einer kurz-
fristigen Netzspannungsschwankung oder eines Störimpulses sein. Dauernde Fehler werden z. B. durch
den vollständigen Ausfall eines Bauelementes oder durch eine Leitungsunterbrechung hervorgerufen.
Die Datenverarbeitungsanlage nach der Erfindung
Die Datenverarbeitungsanlage nach der Erfindung
ze enthält Einrichtungen, die eine korrekte Arbeitsweise
trotz des Auftretens vorübergehender Fehler erlaubt. Eine weitere Möglichkeit zur Eliminierung vorübergehender
Fehler besteht darin, den Programmablauf beim Auftreten eines Fehlers zu stoppen und
mit der Ausführung des gesamten Programms von vorne zu beginnen, wobei möglicherweise die Daten
und das Programm noch einmal neu geladen werden müssen. Dieses Verfahren ist unter Umständen sehr
zeitaufwendig; vor allem aber werden die Resultate,
die bis zum Auftreten des Fehlers korrekt ermittelt wurden, gar nicht ausgenutzt, sondern gehen verloren.
Ein anderes Verfahren, das eine Beseitigung der
Auswirkungen vorübergehender Fehler ermöglicht,
ist die Programmierung mit Prüfpunkien. Dabei werden im Programm bestimmte Stellen (Priifpunkte)
vorgesehen, bei deren Erreichung der Programmablauf angehalten wird. Die zu einem solchen Zeitpunkt
in bestimmten Registern, Speichern usw. enthaltenen Daten und Steuerinformationen werden ausgelesen
und an besonderen Plätzen, z. B. in einem Magnetband, gespeichert und bleiben bis zur Erreichung des
nächsten Prüfpunktes dort erhalten. Dadurch besteht die Möglichkeit, nach einer Unterbrechung oder nach
Auftreten eines Fehlers durch ein Hilfsprogramm in der Datenverarbeitungsanlage die Bedingungen wiederherzustellen,
die zur Zeit der Erreichung des letzten Prüfpunktes bestanden, und von diesem Punkt aus
den Programmablauf wieder zu starten.
Dieses Verfahren hat aber den Nachteil, daß durch die an den Prüfpunkten notwendigen Zusatzoperationen
Zeitverluste eintreten, die den Wirkungsgrad des Systems herabsetzen. Außerdem müssen die gewünschten
Prüfpunkte und die Benutzung der notwendigen Hilfsprogramme bei der Programmierung
berücksichtigt werden und erfordern deshalb zusätzliche Arbeit.
Schließlich ist eine weitere Lösung des Problems der vorübergehenden Fehler durch das US-Patent
3 248697 bekanntgeworden. Dieses Patent beschreibt eine Einrichtung, durch die bei Ausführung eines jeden
Befehls festgestellt wird, wann ein kritischer Punkt erreicht ist, nach dem eine einfache Wiederholung
der Befehlsausführung nicht mehr möglich ist. Dieser kritische Punkt ist nicht erreicht, wenn während
der Operation irgendwelche für den betreffenden Befehl benutzten Operandendaten selbst verändert
werden.
Vorübergehende Fehler, die vor dem kritischen
19 Ol
sätzlichen kleineren Speicher mit entsprechender Adressenkorrespondenz bekannt. Jedoch soll hierdurch
das virtuelle Speicherprinzip und nicht die gänzlich andere Aufgabenstellung der Operationswiederholung im Fehlerfall gelöst werden.
Der Erfindung liegt daher die Aufgabe zugrunde, eine Einrichtung anzugeben, mit der die Wirkungen
vorübergehender Fehler schnell und ohne großen Aufwand überwunden werden können, auch wenn
Punkt auftreten, können einfach durch wiederholte Ausführung des Befehls eliminiert werden. Die normale
Systemleistung wird durch diese Technik nicht herabgesetzt. Tritt aber ein Fehler nach einem kritijcSen
Zeitpunkt auf, so ist eine Korrektur durch Wieierholung nicht mehr möglich, wodurch eine Programmunterbrechung
bedingt wird. In dem Buch »Automatic Digital Computers« von
M-V. WiIkes, erschienen bei Methuen & Company „...
Ltd-, London, 1956, wird auf Seite 124 im zweiten 10 während der Befehlsausführung benutzte Operanden
Absatz ausgeführt, daß es für eine zuverlässige Vtr- verändert wurden.
«rendung von Datenverarbeitungsmaschinen notwen- Diese Aufgabe der Erfindung wird durch die im
dig sei, das Programm so aufzubauen, daß, wenn eine Hauptanspruch angegebenen Merkmale gelöst. Wei-Prüfung
zur Feststellung eines Fehlers führt, der rele- tere Merkmale, vorteilhafte Ausgestaltungen und
vante Teil der Rechnung automatisch wiederholt wird. 15 Weiterbildungen der Erfindung sind den Unteran-Dieses
bedeutet, daß die Anlage über eine bestimmte Sprüchen zu entnehmen.
Menge zuverlässigen Speicherraumes verfügen müsse, Mit dem Gegenstand der Erfindung wird vor allem
so daß sie zu einem früheren Punkt in der Rechnung der Vorteil erzielt, daß die Operationswiederholung
zurückgehen könne. Als Beispiele für einen solchen für die Beseitigung sporadischer Fehler mit einem gezuveriässigen
Speicher oder Hilfsspeicher werden 20 ringen apparativen Mehraufwand erreicht wird. Bei
Magnettrommeln oder Papierstreifen genannt. der Durchführung der Arbeiten der Datenverarbei
tungsanlage erreichte Ergebnisse können bis zum Auftreten des Fehlers voll ausgenutzt werden. Außerdem
ergibt sich auch im normalen Betrieb keine Minderung der Systemleistung.
Ein Ausführungsbeispiel der Erfindung wird im folgenden an Hand von Zeichnungen erläutert. Es
zeigt
Fig. 1 ein Blockschaltbild einer Datenverarbei-
weils nächsten Befehls einer Befehlsfolge als Rück- 30 tungsanlage mit einem erfindungsgemäßen Operankehradresse
nach einer Unterbrechung dieser Be- den-Rückgriffspeicher, fehlsfolge durch eine andere arbeitet. Fig. 2 Einzelheiten der Steuereinrichtungen einer
Diese Rückkehradresse wird allerdings nicht zur Datenverarbeitungsanlage gemäß Fig. 1,
Wiederholung fehlerhafter Operationen verwendet, Fig. 3 verschiedene Befehlsformate für eine Da-
sondern sie dient dazu, wieder zu dem Hauptpro- 35 tenverarbeitungsanlage,
gramm zurückzuverzweigen, nachdem eine Unterbre- Fig. 4 einen Befehl für dezimale Division im SS.-
chung, als Folge abnormer Arbeitszustände in der Format gemäß Fig. 3,
Maschine und ein hierzu jeweils spezifisches Zwi- Fig. 5 die Aufteilung eines ersten Operanden für
schenprogramm ausgeführt wurde. Fehlerhafte Ope- eine Divisionsoperation entsprechend dem Befehl in
rationen können also auf diese Weise, was als Nachteil 40 Fig. 4,
anzusehen ist, nicht wiederholt werden, sondern es Fig. 6 die Aufteilung eines zweiten Operanden für
kann allenfalls nach erfolgreicher Durchführung eines eine Divisionsoperation entsprechend dem Befehl in
Zwischenprogramms die Fehlerquelle ermittelt wer- Fig. 4,
den. Fig. 7 die Reihenfolge, in der die Wörter eines erInder
US-PS 3247490 wird schließlich ausgeführt, 45 sten Operanden gemäß Fig. 5 dem Hauptspeicher
daß beim Auftreten eines Fehlers, durch den die im entnommen werden,
Speicher ursprünglich gespeicherten Daten ganz oder Fig. 8 die Reihenfolge der Speicherung von Quo-
teilweise zerstört wurden, die Information in den tientenbytes und Restbytes an der Stelle eines ersten
Hauptspeicher zurückgeladen wird. Es wird dort fer- Operanden im Hauptspeicher, ner ausgeführt, daß ein fest eingestellter Speicher für 50 Fig. 9 Einzelheiten des Operanden-Rückgriffspeidie
Speicherung eines vorbestimmten Programms chers, des Operanden-Rückgriffspeicher-Adreßregi-
- ... sters uncj wejterer zusätzlichei Schaltungen für den
Operanden-Rückgriffspeicher.
Wie diese Wiederholungen im einzelnen gesteuert werden und wie die hierfür erforderlichen Schaltkreise
aussehen müssen, ist dieser Literaturstelle nicht zu entnehmen.
In der deutschen Auslegeschrift 1201586 ist eine
programmgesteuerte Datenverarbeitungsmaschine beschrieben, die mit einem gespeicherten Programm
und einer Zwischenspeicherung der Adresse des je-
Gesamtsystem
Das in Fig. 1 gezeigte System enthält einen Hauptspeicher 12 und einen Arbeitsspeicher 13. Obwohl
keine besonderen Eingabe-ZAusgabeeinheiten dargestellt sind, da diese allgemein bekannt sind, stehen
vorgesehen ist, der die gleichen Selektionsschaltungen benutzt, die normalerweise für das Auslesen eines
Programms aus einem statischen magnetischen Speicher benutzt werden.
Diese Mechanik dient zur manuellen oder automatischen Nachladung von Programmteilen beim Auftreten
von Fehlern. Von Nachteil hierbei ist, daß für eine Sicherung des gesamten Hauptspeicherinhalts
zwei gleich große Speicher erforderlich sind; außer- 60 sie mit dem in Fig. 1 gezeigten System über das Verdem
entsteht ein Verlust an Verarbeitungsgcschwin- bindungsnetzwerk 216 in Verbindung, das an den Addigkeit
dadurch, daß nicht mit den wesentlichen Ur- dier-rausgangspuffer 217 und die Addiererausgangssprungsdaten
der fehlerhaften Instruktion begonnen leitung 221 angeschlossen ist. Die Hauptsteuereinheit
wird,sondern die Wiederholung vom Anfang des Pro- 11 steuert die Arbeitsweise des Systems durch Schalgramms
erfolgt. 65 tungen und Signale, die kollektiv durch die Steuerlei-Aus
den US-Patentschriften 3248702 und tung 15 dargestellt sind. Besondere Steuersignale, die
3292153 ist zwar schon die redundante Speicherung für die vorliegende Erfindung von Bedeutung sind,
wesentlicher Daten des Hauptspeichers in einem zu- werden später genauer beschrieben.
19 Ol 297
Der Hauptspeicher 12 ist beispielsweise eine Matrixanordnung
von Magnetkernen, in welcher ein gewünschter Speicherplatz: durch eine Adresse im Speicheradreßregister
(SAR) 90 gewählt wird. Wenn das SAR 90 eine Hauptspeicheradresse enthält, durchläuft
der Hauptspeicher 12 unter Steuerung seines eigenen internen Taktgebers einen Speicher-Grundzyklus
und liest Informationen über die Leseleitungen 95 in das Speicherdatenregister (SDR) 91. Aus dem
SDR 91 können die Daten in den Hauptspeicher 12 zurückgegeben sowie auf das Verbindungsnetzwerk
216, den Puffer 217 und die Addiererausgangsleitung 221 gegeben werden. Der gesamte Speicherzyklus besteht
aus einem Lesehalbzyklus (zerstörendes Lesen) und einem Schreibhalbzyklus (Regeneration).
Durch Einschreiben neuer Information in das SDR 91 vor der Regeneration im Schreibzyklus wird die
ursprünglich im Hauptspeicher stehende Information geändert. Gleichzeitig mit der Regeneration steht die
Information im SDR 91 für das System auf der Addiererausgangsleitung 221 zur Verfügung.
Das System faßt acht Bits zu einem sogenannten »Byte« zusammen. Ein »Wort« ist in dem System als
eine Einheit von vier aufeinanderfolgenden Bytes definiert. Eine voile Adresse besteht aus 24 Bits und
bezeichnet die Stelle eines Bytes im Speicher.
Der Arbeitsspeicher (AS) 13 besteht aus 64 Registern mit der Kapazität je eines Wortes, die durch das
zugehörige Arbeitsspeicheradreßregister (ASAR) 120 adressiert werden. Das ASAR 120 wird aus dem
J-Register 121 geladen, das seinerseits wiederum aus der Addiererausgangsleitung 221 oder der Kombinierschaltungsleitung
222 gespeist wird. Sobald für den Arbeitsspeicher 13 eine Leseoperation vorgeschrieben
ist, wird das adressierte Wort vom AS 13 entweder in das L-Register 126 oder in das R-Register
124 ausgelesen. Die Ausgangssignale vom L-Register und R-Register werden zurück zum Arbeitsspeicher
13 oder zum Addierer 210 geführt.
16 der 64 Ein-Wort-Register im Arbeitsspeiche 13
sind als allgemeine Register bestimmt und werden bei der Adreßberechnung und Indexierung als Indexregister
verwendet, bei der Festpunkt-Arithmetik und logischen Operationen jedoch als Speicherregister. Außerdem
enthält der Arbeitsspeicher 13 Arbeitsplätze, die während der Verarbeitung zu verschiedenen
Zwecken verwendet werden.
Daten werden zu den und von den Registern über drei Datenleitungen unterschiedlicher Kapazität
übertragen. Diese drei Leitungen sind die Addiererausgangsleitung 221 für 32 Bits, die Befehlsadreßleitung
223 für 24 Bits, und die Kombinierschaltungsleitung 222 mit 8 Bits Kapazität.
Der Datenfluß geht im wesentlichen über zwei parallele
Wege, die gleichzeitig benutzt werden können. Einer dieser Wege ist der Addiererweg mit dem 32-Bit-Addierer
210, der durch die 32-Bit-Register L, R, M und H gespeist wird. Der andere Weg ist der
Kombinierschaltur.gsweg mit der 8-Bit-Kornbinierschaltung
213, die durch die Register L, R und M gespeist wird. Die Kombinierschaltung handhabt
Ein-Byte-Blocks in Halbbyte-Abschnitten.
Außer 32 einzelnen Addiereinheiten umfaßt der Addierer 210 Paritätsprüfschaltungen, Paritätserzeugerschaltungen
sowie einen Übertrags-Generator. Bei der Ausführung arithmetischer Operationen werden
Daten aus dem 32-Bit-Register H, M oder R auf den rechten Addierereingang Y gegeben. Der linke Addierereingang
XG ist mit einer Echtwert-ZKomplementwertschaltung
220 verbunden und wird vom 32-Bit-Register 126 (L-Register) gespeist.
In einem Zyklus der Zentraleinheit werden je zwei
5 Operanden aus je 32 Bits auf die Addierereingänge XG und y geleitet, durch den Addierer verarbeitet,
und das Ergebnis dann auf den Addiererausgangspuffer 217 gegeben. Subtraktion erfolgt durch Komplement-Addition
mit Hilfe der Echtwert-/Komplementwertschaltung 220; Multiplikation und Division
durch wiederholte Addition bzw. Subtraktion und Stellenverschiebung mit Hilfe der Verschiebeschaltung
215.
Der Kombinierschaltungsweg wird hauptsächlich
»5 bei der Ausführung von Befehlen für variable Feldlänge
verwendet. Zwei Bytequellen können für eine Verknüpfungs-Operation durch die Kombinierschaltung
gleichzeitig gewählt werden. Auf den linken Eingang U kann entweder ein aus dem L-Register unter
Steuerung eines der beiden Bytezähler LB 101 und MB 102 ausgewähltes Byte gegeben werden oder ein
Byte, das aus dem Inhalt der beiden 4-Bit-Register MD 103 und F 104 gebildet wird. Dem rechten Eingang
V wird ein aus dem M-Register 211 unter Steuerung eines der beiden Bytezähler LB 101 und MB
102 ausgewähltes Byte zugeführt. Die Kombinierschaltung wird genauso wie die anderen Funktionseinheiten durch die Hauptsteuereinheit 11 gesteuert.
Der Befehlsadreßweg hat eine Kapazität von 24 Bits, um die im Befehlsadreßregister 218 enthaltene
24-Bit-Befehlsadresse übertragen und auf den neuesten Stand bringen zu können. Der erste Befehl wird
am Anfang durch die Hauptsteuereinheit 11 in das Befehlsadreßregister (BA REG) 218 gesetzt. Von
dort werden Befehlsadressen auf den Befehlsadreßzähler 219 geleitet. Der Befehlsadreßzähler erhöht die
Befehlsadresse um eine Zahl, die der Anzahl Bytes in einem Befehl entspricht (sechs Bytes im Falle eines
Speicher-Speicher-Befehls), und setzt die neue Adresse über die Leitung 226 in das Befehlsadreßregister.
Die anfängliche Befehlsadresse bezeichnet die Stelle des laufenden auszuführenden Befehls im
Hauptspeicher und wird in das Speicheradreßregister (SAR) 90 gelesen und zum Hauptspeicher 12 geleitet,
wodurch der adressierte Befehl in das Speicherdatenregister (SDR) 91 ausgelesen wird. Aus dem Hauptspeicher
12 auf das SDR ausgelesene Befehle laufen über die Schaltung 216 zum Addiererausgangspuffer
217. Die Entnahme eines Befehls wird Befehls-Abruf genannt und erfolgt jeweils in zwei Schritten. Während
des Befehls-Abrufes wird der Befehl ausgelesen und zum Einstellen verschiedener Anfangsbedingungen
in der Zentraleinheit und dem Arbeitsspeicher 13 vor Beginn der Befehlsausführung verwendet.
Zur Hauptsteuereinheit 11 gehört auch eine Folgesteuereinheit
302, Allgemeinstatus-Merker 303, ein Programm-Statuswort-Register 304 und eine Fehlererkennungsschaltung
305.
In Fig. 2 sind weitere Einzelheiten der Hauptsteu-
ereinheit 11 des Grundsystems sowie die für das vorliegende
Ausführungsbeispiel der Erfindung zusätzlich vorhandenen Einrichtungen dargestellt. Die
Folgesteuereinheit 302 enthält grundsätzlich einen Festspeicher (FS) 307, der durch ein zugehöriges
Festspeicher-Adreßregister (FSAR) 308 adressiert wird. Bei Wahl einer entsprechenden Adresse durch
das FSAR 308 liest der Festspeicher ein Steuerwort in das Festspeicher-Datenregister (FSDR) 309 aus.
19 Ol 297
i in das Register 309 gesetzte Steuerwort steuert
Verarbeitungscinheit für einen Maschinenzyklus, vor jedem neuen Zyklus der Verarbeitungseinheit
neues Steuerwort ausgelesen wird. Das Steuerwort FSDR wirkt über die Decodierschaltung 310 und
Steuerleitung 15 auf die verschiedenen Torschalgen und Steuerschaltungen des Systems. Wörter
1 im Festspeicher 307 in Mikrobefehlsfolgen orgacrt, wobei das jeweils nächste Wort in der Folge
>veise durch das vorhergehende Wort bestimmt ist, I zwar über einen Teil, der vom FSAR 308 zurückihrt
wird. Zusätzlich zu einem Ausgangssignal von Decodierschaltung 310 wird eine bestimmte Folge
erdem ausgewählt durch Signale vom SDR 91, ι M-Register 211 und dem F-Register 104 über
Leitungen 316 bzw. 317 und 318. Als zusätzliche glichkeit für die Wahl einer Mikrobefehlsfolge
r eines Steuerwortes als Funktion einer Maschibedingung oder eines Datenwertes verfügt das
^R 308 über einen Eingang 319, der eine Verzweig
zu einer bestimmten FS-Adresse in Abhängigdavon steuert, ob ein Bedingungscode in den AH-leinstatus-Merkern,
im Programm-Statuswort r in anderen entsprechenden Einrichtungen vort oder nicht. Die Allgemeinstatus-Merker 309
r andere entsprechende Einrichtungen können . durch Signale von der Decodierschaltung 310
euert werden.
>as Programm-Statu^wort-Register 304 enthält
us- und Steuerinformationen, die bei der Ausfüh- > der verschiedenen Steuerfunktionen des Systems
vendet werden, und dient der Aufzeichnung des enden Systemstatus. Das Register 304 kann von
Addiererausgangsleitung 221 geladen werden,
,ur Fehler-Erkennungsschaltung 305 gehören •nale Paritätsprüfschaltungen, wie z. B. die Parijrüfschaltung 323 am Ausgang des Addierers 210 ig. 1. Paritatsprüfschaitungen gibt es an verschie- ;n Stellen im System der Fig. 1, und sie speisen die Fehler-Erkennungsschaltung 305 in bekann-Weise.
,ur Fehler-Erkennungsschaltung 305 gehören •nale Paritätsprüfschaltungen, wie z. B. die Parijrüfschaltung 323 am Ausgang des Addierers 210 ig. 1. Paritatsprüfschaitungen gibt es an verschie- ;n Stellen im System der Fig. 1, und sie speisen die Fehler-Erkennungsschaltung 305 in bekann-Weise.
>ie Arbeitsweise des Grundsystems wird durch ?hle gesteuert. Obwohl die fünf in Fig. 3 gezeigten
idlegcnden Befehlsformate möglich sind, wird hier Beispiel nur das SS-Format (Speicher-Speicher-
;hl) beschrieben. Wie in Fig. 3 gezeigt, enthalten Bits 0 bis 7 den Operations-Code (OP-Code), die
8 bis 11 die Länge Ll (Anzahl Bytes) des ersten randen, die Bits 12 bis 15 die Länge Ll (Anzahl
is) des zweiten Operanden, die Bits 16 bis 19 die isadresse Bl des ersten Operanden, die Bits 20
M die relative Adresse Dl des ersten Operanden, Bits 32 bis 47 die Basisadresse Bl bzw. relative
esse Dl des zweiten Operanden.
in spezielles Beispiel eines Speicher-Speicherihls für eine dezimale Division ist in Fig. 4 gezeigt,
ler OP-Code FD diese Operation vorschreibt. Ll den Wert 15 und zeigt an, daß der erste Operand
+■ 1 Byte lang ist, d. h. also 16 Bytes. In ähnlicher
se ist Ll fünf und besagt damit, daß der zweite rand Ll + 1, d. h. sechs Bytes lang ist. Der auf
gesetzte Wert für Bl besagt, daß die Basisadresse Jen Operanden 1 im allgemeinen Register 3 des
eitsspeichers erscheint. Im angeführten Beispiel bt fll + Dl eine Gesamtsumme von 1049. In
licher Weise sind der Inhalt des allgemeinen Registers 4 zuzüglich der relativen Adresse Dl gleich der
Hauptspeicheradresse des äußersten linken Byte des zweiten Operanden, die im gegebenen Beispiel 513 ist.
Nach Beendigung des Befehls-Abrufes stehen in der Zentraleinheit die folgenden Daten an folgenden
Stellen:
Stelle Inhalt
R, WS (2) Hauptspeicheradresse des äußersten rechten Byte des /weiten Opcranden.
L, M,H, WS(X) Hauptspeicheradresse des äußersten
rechten Byte des ersten Operanden.
D zweite Hexadezimalstelle des OP-
1S Code (erste Stelle ist F).
Gl. MD Ll-FeId.
Gl, J L2-Feld.
MB Byteadressc des äußersten rechten
Byte des ersten Operanden.
LB Byteadresse des äußersten rechten
LB Byteadresse des äußersten rechten
Byte des zweiten Operanden.
WS {9) Hauptspeicheradresse des äußer
sten linken Byte des ersten Operanden.
WS (A) Hauptspeicheradresse des äußer
sten linken Byte des zweiten Operanden.
Wenn angenommen wird, daß die im allgemeinen Register 3 (durch das ßl-Feld des in Fig. 4 gezeigten
Befehls) angegebene Adresse nach Addition zur relativen Adresse Dl den Wert 1049 ergibt, dann steht
(siehe Fig. 5) der erste Operand (Dividend) mit seinem ersten Byte darstellungsgemäß an der Stelle 1049
im Hauptspeicher. Die Zeichen ».v« in Fig. 5 stellen
je ein Byte dar, wobei die vertikalen Linien zwischen je vier Bytes eine Wortgrenze bezeichnen. Die Bits
30 und 31 der Hauptspeicheradresse (Gesamtadresse ist durch Bits 8 bis 31 gegeben) gegen eine einzelne
Bytestelle in einem gegebenen Wort an. Die Bits 27 bis 29 der Hauptspeicheradresse geben eine einzelne
Wortadressc für einen gegebenen ersten Operanden an, da im Beispiel der Dividend in der dezimalen Division
auf maximal vier Wörter begrenzt ist. Da jedoch der erste Operand in Form des Dividenden nicht notwendigerweise
an einer Wortgrenze beginnen muß, kann sich der maximal vier Wörter lange Operand gemäß
der Darstellung in Fig. 5 über fünf Wortstellen erstrecken (wie es in dem gewählten Beispiel ja auch
der Fall ist), nämlich die Wörter 110--. 111--. 000--,
001 - - und 010 - -, die durch die Wahl der Wortadresse
27 bis 29 aus den Hauptspeicheradreßbits 8 bis 31 definiert sind.
In ähnlicher Weise zeigt Fig. 6 den zweiten Operanden (Divisor), der auf der Speicheradresse 513 beginnt und sich nach rechts über sechs Bytes von dieser
Adresse aus erstreckt, d. h. über L2 + 1 Bytes.
Nach Festlegung der Adressen des ersten und zweiten Operanden ist der nächste Verarbeitungsschritt
der Abruf der Operanden aus dem Speicher and der Beginn der Verarbeitung. Zuerst wird der zweite
Operand abgerufen, wozu drei Abrufgänge notwendig
sind, da bei einem Abruf nur jeweils ein Wort aus dem Hauptspeicher geholt werden kann. Obwohl die
Verarbeitung durch die Zentraleinheit auf der Basis von einem Byte pro Zeiteinheit erfolgt, wird der ganze
zweite Operand abgerufen und im Arbeitsspeicher gespeichert, wo die Bytes je nach Bedarf während der
Verarbeitung adressiert werden.
609552/197
19 Ol 297
ίο
Die Bytes des ersten Operanden werden je nach Bedarf während derdezimialen Division wortweise zu
je einer Zeiteinheit gerufen. Das Ergebnis, d. h. der Quotient und der Rest, werden im Feld des ersten
Operanden gespeichert, wodurch der erste Operand gelöscht und somit die Ursprungsdaten verändert
werden, die zu einer erneuten Ausführung der dezimalen Divisionsinstruktion erforderlich wären.
Gemäß der Darstellung in Fig. 7 werden Ll + 1 Datenbytes vom ersten Operanden abgerufen, wobei
mit dem äußersten rechten Wort im Datenfeld des ersten Operanden begonnen wird. Da jedes Wort im
Operanden durch die Bits 27 bis 29 der Hauptspeicheradreßbits 8 bis 31 eindeutig gekennzeichnet wird,
holt der erste Abruf die vier Bytes im Wort 111--(Binärschreibweise).
Obwohl das vierte Byte eigentlich nicht dazu gehört, muß es während des ersten Abrufes
trotzdem geholt werden, da das Abrufen auf Wortbasis innerhalb von Wortgrenzen erfolgt. Nachdem
das Wort 111 — abgerufen worden ist, beginnt
die Verarbeitung, und die drei werthohen Bytes des Quotienten werden entwickelt und zur Abrufzeit 2 zur
Verfugung gestellt. Da die werthohen Bytes des Quotienten während der Verarbeitung des Wortes Hl-entwickelt
wurden, stehen sie zur Speicherung an der Stelle des Wortes 110-- zur VeTfügung, nachdem dieses
Wort während der Abrufzeit 2 entnommen wurde. Unter Verwendung des Buchstabens Q zur Bezeichnung
der gespeicherten Quotientenbytes zeigt die Fig. 8 den Stand des ersten Operandenfeldes nach der
Abrufzeit 2. Daraus geht hervor, daß nach Abruf des Wortes 110-- des ersten Operanden (im zweiten Abruf)
im ersten Speichergang die dre; werthohen Bytes des Quotienten in das Feld 1 K)-- gespeichert und dadurch
die ursprünglichen X-Datenbytes gelöscht werden, die darin standen. In ähnlicher Weise speichert
nach dem dritten Abrufgang der zweite Speichergang (2-Bytes in das Feld der Adresse 111--. Nach dem
vierten Abruf speichert der dritte Speichergang die übrigen drei Bytes des Quotienten in das Feld des
Wortes 000--. Nach dem fünften Abruf wurde das am weitesten rechts stehende Restbyte R entwickelt,
und der vierte Speichergang setzt dieses Byte in das Feld des Wortes 010--. Bei Weiterentwicklung der
Restbytes speichert der fünfte Speichergang den Rest in das Feld des Wortes 001 - - und anschließend ersetzt
ein sechster Speichergang das Byte ---11 des Wortes 000-- durch das letzte Restbyte. Die obige Folge von
Abruf- und Speichergängen verdeutlicht die Art, in der Ursprung-daten während der Ausführung einer
Dezimaldivision verändert werden. Die Ursprungsdaten werden schon beim eisten Speichergang verändert, und jeder danach auftretende Fehler kann bei
den bisher üblichen Systemen durch eine erneute Befehlsausführung nicht mehr korrigiert werden.
Die eigentliche Divisionsoperation mit Abruf- und Speicheroperationen besteht aus den fünf Folgen:
1. Abrufen und nach rechts ausrichten des Zahlenwertes des zweiten Operanden (Divisor) sowie
Durchführung bestimmter Prüfungen, um festzustellen, ob die Kriterien für eine Division erfüllt sind.
2. Abrufen und ausrichten nach rechts der werthohen Bytes des ersten Operanden (Tcildividend)
unter Verwendung des am weitesten rechts stehenden Wortes und Durchführung bestimmter
Prüfungen.
3. Komplement-Addition des ausgerichteten Divisors zum vorliegenden Teil des Dividenden, bis
ein Übertrag auftritt. Der MD-Zähler 103 (Fig. 1) zählt die Abzüge. Wenn der Übertrag
auftritt, steht der MD-Zähler auf einem Wert, der um 1 größer ist als die zu entwickelnde Quotientenziffer.
4. Echte Addition des ausgerichteten Divisors zum Übertragsergebnis aus Schritt 3. Der Wert des
MD-Zählers wird um die Zahl - 1 korrigiert und als Quotientenstelle im äußersten linken Bytefeld
des ersten Operanden gespeichert. Falls bereits die letzte Quotientenziffer gespeichert ist,
erfolgt direkter Übergang zu Schritt 5. Wenn die Quotientenziffer nicht die letzte ist, wird der
'5 Restwert des laufenden Schrittes 4 nach links
verschoben; danach wird auf die Einerstelle des Teildividenden die nächste Ziffer des Dividenden
gesetzt, und dann erfolgt Rückgang zu Schritt 3.
5. Entwicklung und Speicherung des Quotienten-Vorzeichens. Anschließend Speicherung des
Restwertes aus Schritt 4 als Rest in die am meisten rechts stehenden Bytes des ersten Operandenfeldes.
Dann Rückkehr zum Befehlsabruf für einen neuen Befehl.
Bei der Ausführung der oben beschriebenen Dezimaldivision wird das M-Register 211 für die Datenfelder
des ersten Operanden und das H-Register 212 für die Adresse des ersten Operanden im Hauptspeieher
benutzt. Der MB-Zähler 102 bestimmt, welches Byte des betreffenden Wortes des ersten Operanden
als Teil der laufenden Ausführungsroutine zu verwenden ist, und wenn dieser Zähler gleich Null ist. ist das
Wort in der Zentraleinheit zu Ende und ein anderes Wort muß vom Hauptspeicher in der obenerwähnten
Abruffolge gerufen werden, bevor die Ausführung weiterlaufen kann. Der Gl-Zähler 376 (Fig. D zeigt
die Anzahl der übrigen noch zu verarbeitenden Bytes im ersten Operandenfeld an. Für den zweiten Operanden
arbeiten der LB-Zähler 101, der G2-Zähler 377 (Fig. 1), das L-Register 126 und das R-Rcgister
124 genauso wie der MB-Zähler, der Gl-Zähler, das M-Register und das Η-Register für Operand 1.
Wiederholungseinrichtung
Die vorliegende Erfindung befaßt sich mit einer Wiederholungseinrichtung, die zusätzlich in einem
Datenverarbeitungssystem, wie es oben beschrieben wurde, eingebaut wird. Diese Wiederholungseinrich-
tung gestattet einem derartigen System, die Auswirkungen vorübergehender Fehler zu überwinden und
die richtige Ausführung eines Befehls noch einmal zu versuchen, wenn ein Fehler auftritt, auch wenn die
Ursprungsdaten bereits geändert sind. Das Problem
der Veränderung der Ursprungsdaten schließt normalerweise den erneuten Versuch einer Befehlsausfüh
rung aus. Dieses Problem wird gelöst durch einer Operanden-Rückgriffspeicher und ein Operanden-Rückgriffspeicher-Adreßregister (ORS-Adreßregi
ster), wobei der Rückgriffspeicher zwar nur relath
klein ist (im Ausführungsbeispiel nur acht Wörter) aber doch alle Operanden-Ursprungsdaten enthält
die während der Ausführung eines Befehls veränder werden können. Wenn keine Fehler auftreten, win
die Systemleistung durch diese Wiederholungsein richtung nicht herabgesetzt. Falls ein Fehler auftritt
kann die Ausführung eines Befehls wieder versuch werden. Wenn bei der wiederholten Ausführung wie
19 Ol 297
der ein Fehler auftritt, wird einfach eine weitere Ausführung
versucht. Diese mehrfach wiederholte Ausführung ist besonders wirksam bei der Überwindung
relativ langanhallender, vorübergehender Fehler.
Der in Fig. 1 gezeigte Opcranden-Rückgriffspeiehcr (ORS) 351 wird von der auf der Addiererausgangsleitung
221 erscheinenden Information in nachfolgend genauer zu beschreibender Weise geladen.
Die Auswahl einer von acht Wortstellen im Operanden-Rückgriffspeicher
351 wird vom Operanden-Rückgriffspeicher-Adreßregister 354 gesteuert. Das
ORS-Adreßregister 354 wird durch die Hauptstcuereinheit
11 geladen, und zwar durch die Bits 27 bis 29 der Operandenadresse, die auf der Addiererausgangsleitung
221 in Verbindung mit der Hauptspeichcradressierung für den ersten Operanden erscheinen.
Wie in Fig. 9 genauer gezeigt, empfängt das ORS-Adreßregister
354 die Wortadreßbits 27 bis 29 so, wie sie in Verbindung mit dem Grundsystem festgelegt
sind. Die Bits 27 bis 29 werden durch einen herkömmlichen Decodierer 355 decodiert und beeinflussen die
acht Torschaltungen 356 (0 bis 7), die ihrerseits wieder eine der acht Wortstellen im Operanden-Rückgriffspeicher
351 wählen. Über die Leitung 352 wird dann unter derselben Steuerung, wie sie für das Übertragen
der Wörter des ersten Operanden auf die Addiererausgangsleitung verwendet wird, das adressierte
Operandenwort an der zugeordneten Wortstelle im Operandcn-Rückgriffspeichcr gespeichert. Die Stelle
im Rückgriffspeicher entspricht der Wortadresse des ersten Operanden im Hauptspeicher, wie sie durch
die Bits 27 bis 29 der Hauptspeicher-Adresse festgelegt war. Wenn ein Wort richtig (ohne Entdeckung
eines Fehlers) im Operanden-Rückgriffspeicher gespeichert worden ist, wird der dieser Wortstelle entsprechende
Abruf-Merker 358 eingeschaltet. Wenn eine Speicherung von der Zentraleinheit auf eine
Stelle im Hauptspeicher erfolgt, die einer vorher belegten Worlstelle im Operanden-Rückgriffspeicher
351 entspricht, verhindert der zugeordnete Abruf-Merker 358. wenn er eingeschaltet ist. eine Veränderung
der Daten im Operanden-Rückgriffspeicher 351, schaltet jedoch andererseits gleichzeitig den entsprechenden
Speicher-Änderungs-Merker 359 ein, wodurch angezeigt wird, daß die Ursprungsdaten im
Hauptspeicher verändert wurden und der Operanden-Rückgriffspeicher die einzige Stelle ist. die die
für eine erneute Ausführung des Befehls erforderlichen Ursprungsdaten des Operanden enthält.
Außer dem Operanden-Rückgriffspeicher 351 und
den dazugehörigen Schaltungen enthält das hier beschriebene System noch ein Befehlsadreß-Rückgriffregister 366, das ebenfalls in Fig. 1 dargestellt ist.
Dieses Befehlsadreß-Rückgriffregister 366 enthält jeweils nur die Adresse des Befehls, der gerade ausgeführt wird, bis feststeht, daß die Ausführung fehlerfrei
war. Das Befehlsadreßregister 218 wird während der normalen Verarbeitung gemäß obiger Beschreibung
schon auf den neuesten Stand gebracht, bevor die Ausführung eines Befehls beendet ist, und enthält
dann nicht mehr die Adresse des gerade ausgeführten Befehls. Aus diesem Grund kann man nicht auf den
ersten Abruf zurückkehren ohne Hilfe des Befehlsadreß-Rückgriffregisters 366 oder einer ähnlichen
Einrichtung, mit der das Befehlsadreßregister vor der wiederholten Ausführung eines Befehls geladen werden kann. Wenn die Hauptsteuereinheit 11 im Wie
derholungsbetrieb läuft, leitet die Folgesteuereinheit 302 den Inhalt des Befehlsadrcß-Rückgriffregisters
366 zum entsprechenden Zeitpunkt vor dem ersten Abruf auf das Befehlsadreßrcgister 218. Die Rück-
•5 speicherung der Befehlsadresse aus dem Befehlsadreß-Rückgriffregistei
ist klar zu unterscheiden von der Rückspcicherung des Operanden. Die Operanden-Ursprungsdaten
können verändert worden sein oder auch nicht; die jeweilige Operandenfeldstclle im
Speicher ist nicht zuverlässig bekannt, und auch wenn sie bekannt wäre, können die einzelnen Bytes innerhalb
dieses Feldes, die eventuell verändert wurden, bezuglich der nacheinander folgenden Speicheradressen
außerhalb der Reihenfolge liegen (z. B. bei der
1S oben angeführten Dezimaldivision). Auf der anderen
Seite hat das Befehlsadreß-Rückgriffregister 366 nur ein Feld, das immer auf dieselbe Stelle übertragen
wird und vor einer wiederholten Ausführung immer neu eingespeichert werden muß.
2" In Fig. 2 sind weitere zusätzliche Rückgriff schaltungen
gezeigt für Teile der Steuereinheit, die während der normalen Ausführung eines Befehls oder bei
Entdeckung eines Fehlers verändert werden. So gehört z. B. zum Programm-Statuswort-Register 304
^5 (PSW) ein Rückgriffregister 370 zur Speicherung dei
Bedingungscodebits im Programm-Statuswort. Zu den Allgcmeinstatus-Merkern 303 gehören die Allgemeinstatus-Rückgriffregister
371. die zum Rückspeichern der allgemeinen Bedingungen dienen, wenn die
Systemsteuerung bei Entdeckung eines Fehlers auf Wiederholungsbetrieb verzweigt. Außerdem gibt die
Fehlererkennungsschaltung 305 ein Sperrsignal fur den Taktgeber der Zentraleinheit während eines Zyklus
der Zentraleinheit, wenn ein Fehler abgefühlt wurde, um die weitere Verarbeitung durch die Zentraleinheit
sofort anzuhalten. Der Festspeicher-Taktgeber wird nicht angehalten, so daß eine Wiederholung
eingeleitet werden kann. Außerdem schaltet die Dccodierschaltung 310 einen Ursprungsdaten-Änderungsmerker
374 ein, sobald Ursprungsdaten verändert werden, wobei es keine Rolle spielt, bei welcher
Funktion des Datenverarbeitungssystems das geschah. Der UD-Änderungsmerker 374 kann also einerseits
durch die Decodierschaltung 310 eingeschaltet werden; kann aber andererseits für die Zwecke
der vorliegenden Erfindung auch durch ODER-Verknüpfung der Inhalte aller Speicher-Änderungsmerker
359 (Fig. 9) eingeschaltet werden. Während des Versuches der wiederholten Ausführung eines Befehls
wird das Ausgangssignal des Ursprungsdaten-Anderungsmerkcrs
374 als Signal zur Verzweigung zu einer
Rückspeicherroutine verwendet. Durch eine besondere im Festspeicher 307 erscheinende Rückspeicherbefehlsfolge werden dann die im Operanden-Rück-
griffspeicher 351 erscheinenden Daten neu in den Hauptspeicher gespeichert.
Die im Grundsystem vorhandene Betriebsartenwahlschaltung 375 gestattet die Wahl der Eingabe-/
Ausgabe-Betriebsart oder der zentralen Betriebsart Im hier beschriebenen Ausführungsbeispiel der Erfindung spricht diese Wahlsclialtung 375 auch nod
auf ein Signal der Fehlererkennungsschaltung 305 ai zur Wahl der Wiederholungs-Betriebsart, womit di<
Steuerung zusammenhängt, in welcher Art die in Festspeicher-Datenregister 309 stehenden Worte
durch die Decodierschaltung 310 decodiert werden Die Wahlschaltung 375 kann ein einfacher Dreiweg
schalter sein, der ein Signal über die Leitungen 381
19 Ol 297
zur DecodJerschaltung 310 gibt. Die wiederholte
Ausführung eines Befehls wird bei einer Fehlerfeststellung so gewählt, daß eine Adresse von lauter Nullen
(die Adresse des ersten Wortes der Wiederholungssequenz) in das Festspeicher-Adreßregister 308
geladen wird. Diese Adresse von lauter Nullen wird dadurch erzwungen, daß das Auslesen des Festspeicher-Datenregisters
309 über die Sperrleitung 311 verhindert wird, wodurch eben lauter Nullen auf die
Leitung 31S gebracht werden. Auf der Leitung 373 erscheint bekanntlich während eines Zyklus der Zentraleinheit
ein Sperrsignal für deren Taktgeber, so daß die Eingangssignale vom F-Register, vom M-Register
und vom Speicherdatenregister zum FSAR 308 ebenfalls Null sind, wodurch also die Adresse für den Wiederholungsbetrieb
in das FSAR 308 geladen wird. Wenn diese Wiederholungsbetriebsart einmal gewählt
ist, wird eine Wiederholungs-Befehlsfolge aus dem Festspeicher 307 ausgelesen, um auf diese Weise das
PSW-Register 304, die Allgemeinstatus-Merker 303 und das Befehlsadreßregister 218 neu zu laden. Diese
und ähnliche Operationen erfolgen in bekannter Weise und werden deswegen nicht näher beschrieben.
Operationsablauf mit Rückgriffspeicher
Im Normalbetrieb wird der zweite Operand (siehe Fig. 6) nach dem Befehlsabruf vom Hauptspeicher 12
in den Arbeitsspeicher 13 übertragen. Nach Abruf des zweiten Operanden wird das Wort Hl-- des ersten
Operanden (siehe Fig. 5) im Hauptspeicher 12 adressiert, indem die 24-Bit-Speicheradresse dieses Wortes
aus dem H-Register 212 über den Addierer 210 unverändert auf den Addiererausgangspuffer 217 geleitet
wird. Diese Wortadresse wird dann über die Addiererausgangsleitung
221 auf das Speicheradreßregister 90 geleitet. Die Bits 27 bis 29 der 24-Bit-Speicheradresse
werden ebenfalls auf das Operanden-Rückgriffspeicher-Adreßregister 354 geleitet. Das
alles geschieht unter Steuerung der Folgesteuereinheit 302 in der Hauptsteuereinheit 11. Wenn die Adresse
des ersten Operanden für das Wort Hl-- im SAR
90 steht, liest der Hauptspeicher 12 dieses Wort auf das Speicherdatenregister 91, von wo es über die
Schaltung 216 auf den Addiererausgangspuffer 217 übertragen wird. Von dort wird dieses Wort des ersten
Operanden normalerweise auf das L-Register 126 übertragen. In der vorliegenden Erfindung wird es außerdem
über die Addiererausgangsleitung 221 auf den Operanden-Rückgriffspeicher351 übertragen. Wie in
Fig. 7 und Fig. 9 gezeigt, setzt der Abruf das Wort 111 - - in die letzte Wortposition des Rückgriffspeichers
351, da die achte Torschaltung 356 eingeschaltet wurde bei der Decodierung der Bits 27 bis 29, die
beim Laden des SAR 90 auch in das Operanden-Rückgriffspeicher-Adreßregister
354 (siehe Fig. 9) gebracht wurden. Wenn das Wort Hl-- richtig abgerufen
und im Operanden-Rückgriffspeicher 351 gespeichert wurde, wird der zugehörige Abruf-Merker
358 eingeschaltet und zeigt damit an, daß der Abruf 1 beendet ist.
Nach dem ersten Abruf beginnt die Zentraleinheit mit der Verarbeitung der dezimalen Division und bildet
die werthohen Quotientenbytes als Ergebnis der Verarbeitung des Wortes 111 --des ersten Operanden
mit dem Divisor (zweiter Operand). Nachdem die drei Bytes aus dem Wort 1 Π - - verarbeitet sind (das vierte
Byte dieses Wortes gehört in diesem Fall nicht zum Operanden), ist das H-Register 212 mit der Adresse
des nächsten abzurufenden Wortes, dämlich des Wortes 110 --, auf den neuesten Stand gebracht.
Wenn der MB-Bytezähler 102 anzeigt, daß alle
Bytes im Wort 111 - - verarbeitet sind, wird der zweite
Abruf eingeleitet, indem die neue Adresse im H-Register 212 auf die Addiererausgangsleitung 221 und
dann auf das SAR 90 gelesen wird, um das Wort 110--im
Hauptspeicher 12 zu adressieren. Wenn diese Adresse auf der Addiererausgangsleitung erscheint.
werden unter Steuerung der Folgesteuereinheit 302 die Bits 27 bis 29 in das Operanden-Rückgriffspeicher-Adreßregister
354 übertragen. Genau wie beim ersten Abrufgang wird das Wort 110-- auf das SDR
ausgelesen, und zwar über den Addiererausgangspuf-
fer 270 und die Addiererausgangsleitung 221 sowie auf das L-Register 126. Gleichzeitig mit dem Übertrag
auf die Addiererausgangsleitung wird das Wort 110- auf
die Wortposition 6 des Rückgriffspeichers 351 gesetzt.
Nachdem das Wort 110-- abgerufen ist, werden die werthohen Quotientenbytes vom M-Registet unverändert
über den Addierer 210 auf die Addiererausgangsleitung und das SDR 91 geleitet. Vom SDR
91 werden s;e auf die Wortstelle Π0-- im Hauptspeicher
12 gespeichert und dadurch die Ursprungsdaten
des Wortes 110-- des ersten Operanden im Hauptspeicher
gelöscht. Wenn die Quotientenbytes auf das Speicherdatenrefjister 91 geleitet und in den Hauptspeicher
12 gespeichert werden, wird der sechste der Speicher-Änderungsmerker 359 eingeschaltet und
dadurch angezeigt, daß das Wort HO-- im Operanden-Rückgriffspeicher
jetzt die einzige Quelle der Ursprungsdaten ist, die nötigenfalls für eine wiederholte
Ausführung des Befehls herangezogen werden kann.
Die übrigen Speicher- und Abruffolgen werden bei der normalen Verarbeitung so ausgeführt, wie es in
den Fig. 7 und 8 dargestellt ist. Die Abruf-Merker 358 und die Speicher-Änderungsmerker 359 werden
dabei zu den entsprechenden Zeitpunkten eingeschaltet.
Beim ersten Speichergang wird der in Fig. 2 dargestellte Ursprungsdaten-Änderungsmerker 374 einge-.
schaltet und dadurch angezeigt, daß der Befehl nicht
. noch einmal ausgeführt werden kann, ohne daß der Hauptspeicher 12 mit den Operanden neu geladen
wird, die im Rückgriffspeicher 351 stehen und deren zugehörige Speicher-Änderungsmerker 359 eingeschaltet
sind.
Wenn zu irgendeinem Zeitpunkt nach Beginn der Verarbeitung ein Fehler auftritt, sperrt die in Fig. 2
gezeigte Fehlererkennungsschaltung 305 den Taktgeber der Zentraleinheit über die Leitung 373 während
eines Zyklus der Zentraleinheit und gibt ein Signal auf die Betriebsartenwahlschaltung 375, die eine
Adresse einer Wiederholungs-Befehlsfolge im Festspeicher 307 auf das Festspeicher-Adreßregister 308
gibt. Bei dieser Wiederholungsfolge werden u. a. die Allgemeinstatus-Merker 303, das PSW-Register 304
und das Befehlsadreßregister 218 aus deren Rückgriffregistern neu geladen. Danach verzweigt diese
Wiederholungsbefehlsfolge im Festspeicher zurück zum Befehlsabruf und beginnt die Befehlsausführung
noch einmal. Während des zweiten Schrittes des Befehls-Abrufes wird der Ursprungsdaten-Änderungs-Merker
374 abgefragt, und wenn dieser eingeschaltet ist, verursacht die Befehlsfolge im Festspeicher 308
eine Verzweigung zu einer Rückspeicherrouiine Diese Rückspeicherroutine verwendet die Hauptspei-
19 Ol 297
eheradresse des ersten Operanden zum Rückspei-
<£iern dieses Operanden aus dem Operanden-Rück-
«iffspeicher 351 in den Hauptspeicher 12. Beginnend IBh der Wortadresse HO-- wird die 24-Bit-Adresse
des Hauptspeichers, so wie sie während des Befehls-Abrufes aus der Summe von Bl + Dl errechnet
wurde, über die Addiererausgangsleitung auf das Speicheradreßregister geleitet. Gleichzeitig werden
die Adreßbits 27 bis 29 des Wortes 110 - - in das Operanden-Rückgriff
speicher-Adreßregister 354 gesetzt und dadurch das siebte Wort im Speicher 351 gewählt.
Alle erwähnten Operationen laufen natürlich unter der Festspeicher-Folgesteuerung. Wenn der mit der
Wortposition HO-- verbundene Merker 359 eingeschaltet ist, wird das Wort HO-- des ersten Operanden
vom Rückgriffspeicher 351 über die Schaltung 216 auf den Addiererausgangspuffer 217 und von dort
auf das Speicherdatenregister übertragen, von wo es in den Hauptspeicher 12 auf den richtigen Platz zurückgespeichert
wird.
Nachdem das Wort HO-- zurückgespeichert wurde, wird die Hauptspeicheradresse um ein Wort
weitergeschaltet, so daß als nächstes das Wort 111-aus
dem Operanden-Rückgriffspeicher genauso zurückgespeichert wird wie das Wort 110--. Dieser
Vorgang erfolgt fünfmal, wobei jedesmal geprüft wird,
ob der zugehörige Merker 359 eingeschaltet ist. 1st das nicht der Fall, werden keine Hauptspeicherdaten
aus dem Operanden-Rückgriffspeicher 351 für das jeweilige
Wort zurückgespeichert. Es brauchen im vorliegenden Beispiel nur fünf der acht möglichen Wörter
überprüft zu werden, da die Dezimaldivisionsoperanden über höchstens fünf Wörter verteilt sind. Beginnend
mit dem werthohen Wort, in diesem Fall dem Wort 110-- laufen die Wortadressen weiter über
111- bis 010--.
Obwohl die Erfindung im Zusammenhang mit einem bestimmten dezimalen Divisionsbefehl im Speicher-Speicher-Format
beschrieben wurde, kann sie natürlich auch im Zusammenhang mit anderen Befehlsformaten
bei der Ausführung anderer Operationen verwendet werden. Bei Befehlen, die beispielsweise
dem RR- oder RS-Format in Fig. 3 entsprechen, kann bei der Speicherung von Ursprungsdaten
im Operanden-Rückgriffspeicher 351 eine besondere Art der Adressierung erfolgen, indem das GRS-Adreßregister
zusammen mit invertierenden Schaltungen 360 und 361 derart benutzt wird, daß die Speicherplätze
0 und 1 im Rückgriffspeicher 351 vertauscht werden. Ein derartiger Vorgang wird durch
Signale auf den Leitungen 362 und 363 von der Decodierschaltung310derFolgesiteuereinheit
302 z. B. bei >5 der Ausführung von Gleitkommaoperationen ausgelöst.
Im beschriebenen Ausführungsbeispiel hatte der Operanden-Rückgriffspeicher eine Kapazität von
acht Wörtern. Die Größe dieses Speichers hängt natürlich von der Größe der Operanden ab und muß
nötigenfalls genauso entsprechend erweitert werden, wie die Anzahl der Bits im zugehörigen Operanden-Rückgriffspeicher-Adreßregister
354. Die in Fig. 2 in Blöcken dargestellte Folgesteuereinheit 302 der
Hauptsteuereinheit 11 ist im Ausführungsbeispiel als Festspeicher mit zugehöriger Schaltung beschrieben,
kann jedoch ebenso auch ein sequentielles Verknüpfungsnetzwerk sein.
In die in Fig. 2 gezeigte Steuerschaltung kann ein Fehlerzähler 392 eingebaut werden, der die Anzahl
der durch die Fehlererkennungsschaltung 305 festgestellten Fehler zählt. Bei einem bestimmten Zählerstand
kann die Steuerung zu einer Fehleranalyseroutine verzweigen oder anderweitig die Versuche
stoppen, den laufenden Befehl wiederholt auszuführen. Zum Fehlerzähler gehört eine Rückstelleitung
393, die den Zähler nach erfolgreicher Ausführung eines Befehls auf Null zurückstellt.
Hierzu 5 Blatt Zeichnungen
Claims (5)
1. Datenverarbeitungsanlage mit Verarbeitungseinrichtungen,
Steuereinrichtungen, einem Hauptspeicher, Fehlererkennungseinrichtungen
und einer Operations-Wiederholungseinrichtung mit einem Rückgriffspeicher und zugehörigem
Adressenregister für die Rückladung von Ursprungsdaten in den Hauptspeicher, dadurchgekennzeichnet,
daß das Operanden-Rückgriffspeicher-Adreßregister (354) zur Aufnahme eines
bestimmten Hauptspeicheradressenteiis ausgebildet ist, der aus der Hauptspeicheradresse derjenigen
Operanden gebildet wird, die aus dem Hauptspeicher (12) für die Durchführung eines Befehls
entnommen und in den Operanden-Räckgriffspeicher geladen werden und daß in Verbindung
mit dem noch vorhandenen restlichen Hauptspeicheradressenteii
eine eindeutige Zuordnung zwischen Operanden-Rückgriffspeicherplätzen und Hauptspeicherplätzen besteht, so daß später wieder
benötigte Operandendaten auf Grund der beiden genannten Hauptspeicheradressenteile im
Operanden-Rückgriffspeicher aufgefunden und in den Hauptspeicher an ihren ursprünglichen Platz
zurückübertragbar sind.
2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, daß für die Benutzung
des Operanden-Rückgriffspeichers (351) jeweils die niedrigstelligen Adreßbus der gerade benutzten
Operanden-Hauptspeicheradresse automatisch in das Operanclen-Rückgriffspeicher-Adreßregister
(354) geladen werden.
3. Datenverarbeitungsanlage nach den Ansprüchen 1 und/oder 2, dadurch gekennzeichnet, daß
zu jedem Speicherplatz im Operanden-Rückgriffspeicher (351) ein Speiicher-Änderungsmerker
(359) vorgesehen ist. der gesetzt wird, sobald während der Ausführung eines Befehls die Operandendaten
im jeweils zugeordneten Speicherplatz des Hauptspeichers (12) verändert werden, und daß nach Feststellung eines Fehlers für einen
erneuten Versuch einer Ausführung des laufenden Befehls nur aus denjenigen Speicherplätzen des
Operanden-Rückgriffspeichers Daten in die zugeordneten Speicherplätze des Hauptspeichers zurückübertragen
werden, Tür die der betreffende Speicher-Änderungsmerker gesetzt ist.
4. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, daß zu jedem
Speicherplatz des Operanden-Rückgriffspeichers (351) ein Abruf-Merker (358) vorgesehen
ist, der gesetzt wird, sobald Operandendaten, die aus dem Hauptspeicher abgerufen und den Verarbeitungseinrichtungen
zugeführt werden, außerdem in den betreffenden Speicherplatz des Operanden-Rückgriffspeichers
geladen werden.
5. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 4, dadurch gekennzeichnet, daß ein Ursprungsdaten-Änderungsmerker
(374) vorgesehen ist, der gesetzt wird, sobald im Verlauf der Ausführung eines Befehls am Hauptspeicher (12)
Operandendaten, die für diesen Befehl benutzt wurden, verändert werden, und daß nach Feststellung
eines Fehlers beim erneuten Versuch einer Ausführung des laufenden Befehls nur dann Operandendaten
aus dem Operanden-Rückgriffspeicher (351) zum Hauptspeicher zurückübertragen
werden, wenn der Ursprungsdaten-Änderungsmerker gesetzt ist.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69774068A | 1968-01-15 | 1968-01-15 | |
US69774068 | 1968-01-15 |
Publications (3)
Publication Number | Publication Date |
---|---|
DE1901297A1 DE1901297A1 (de) | 1969-10-23 |
DE1901297B2 true DE1901297B2 (de) | 1976-12-23 |
DE1901297C3 DE1901297C3 (de) | 1977-08-11 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
SE341483B (de) | 1971-12-27 |
GB1182030A (en) | 1970-02-25 |
US3533082A (en) | 1970-10-06 |
FR1604085A (de) | 1971-07-05 |
CH479118A (de) | 1969-09-30 |
ES361853A1 (es) | 1970-11-01 |
BE725194A (de) | 1969-05-16 |
NL6900494A (de) | 1969-07-17 |
DE1901297A1 (de) | 1969-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1901228C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2316296C2 (de) | Mikroprogrammierbarer Prozessor | |
DE1246289B (de) | Bedingungsregister fuer eine programmgesteuerte Datenverarbeitungsanlage | |
DE2714805A1 (de) | Datenverarbeitungssystem | |
DE2030812A1 (de) | Modulare Datenrechnersysteme | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE3131341A1 (de) | "pufferspeicherorganisation" | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
DE2230102A1 (de) | Rechenwerk fuer variable wortlaengen | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
DE1275800B (de) | Steuerwerk fuer datenverarbeitende Maschinen | |
DE2856680C2 (de) | ||
DE1935944C3 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE2054830B2 (de) | Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge | |
DE1909090C3 (de) | Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage | |
DE2513262A1 (de) | Digitale codeumwandlungsanordnung | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE2538978C2 (de) | ||
DE2609698C2 (de) | Elektronischer Rechner | |
DE2336676B2 (de) | Einrichtung zur Modifizierung von Mikroprogrammbefehlen | |
DE1296429B (de) | Datenbearbeitungsanlage | |
DE1901297C3 (de) | Datenverarbeitungsanlage mit Steuereinrichtungen, die bei Feststellung eines Fehlers eine erneute Ausführung des laufenden Befehls bewirken | |
DE2717244C2 (de) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C3 | Grant after two publication steps (3rd publication) | ||
E77 | Valid patent as to the heymanns-index 1977 | ||
8339 | Ceased/non-payment of the annual fee |