DE1901297C3 - Datenverarbeitungsanlage mit Steuereinrichtungen, die bei Feststellung eines Fehlers eine erneute Ausführung des laufenden Befehls bewirken - Google Patents
Datenverarbeitungsanlage mit Steuereinrichtungen, die bei Feststellung eines Fehlers eine erneute Ausführung des laufenden Befehls bewirkenInfo
- Publication number
- DE1901297C3 DE1901297C3 DE19691901297 DE1901297A DE1901297C3 DE 1901297 C3 DE1901297 C3 DE 1901297C3 DE 19691901297 DE19691901297 DE 19691901297 DE 1901297 A DE1901297 A DE 1901297A DE 1901297 C3 DE1901297 C3 DE 1901297C3
- Authority
- DE
- Germany
- Prior art keywords
- memory
- operand
- data
- 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.)
- Expired
Links
- 230000015654 memory Effects 0.000 claims description 175
- 238000001514 detection method Methods 0.000 claims description 11
- 230000001052 transient Effects 0.000 claims description 3
- 230000018109 developmental process Effects 0.000 claims description 2
- 230000000694 effects Effects 0.000 claims description 2
- 241000283220 Odobenus rosmarus Species 0.000 claims 1
- 230000002085 persistent Effects 0.000 claims 1
- 241001442055 Vipera berus Species 0.000 description 33
- 230000000875 corresponding Effects 0.000 description 6
- 238000000034 method Methods 0.000 description 6
- 230000000295 complement Effects 0.000 description 4
- 230000008929 regeneration Effects 0.000 description 3
- 238000011069 regeneration method Methods 0.000 description 3
- 210000004072 Lung Anatomy 0.000 description 2
- 230000000903 blocking Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 241000282898 Sus scrofa Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001143 conditioned Effects 0.000 description 1
- 230000001066 destructive Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000003973 paint Substances 0.000 description 1
- 230000003252 repetitive Effects 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 230000001960 triggered Effects 0.000 description 1
Description
19 Ol 297
Punkt auftreten, können einfach durch wiederholte ^u-führung des Befehls eliminiert werden. Die normale
Systemleistung wird durch diese Technik nicht herabgesetzt. Tritt aber ein Fehler nach einem kritischen
Zeitpunkt auf, so ist eine Korrektur durch Wiederholung 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, i956, wird auf Seite 124 im zweiten Absatz ausgeführt, daß es für eine zuverlässige Verwendung
von Datenverarbeitungsrnaschinen notwendig sei, das Programm so aufzubauen, daß, wenn eine
Prüfung zur Feststellung eines Fehlers führt, der relevante Teil der Rechnung automatisch wiederholt wird.
Dieses bedeutet, daß die Anlage über eine bestimmte Menge zuverlässigen Speicherraumes verfugen müsse,
so daß sie zu einem früheren Punkt in der Rechnung zurückgehen könne. Als Beispiele für einen solchen
zuverlässigen Speicher oder HilfsSpeicher werden Magnettrommeln oder Papierstreifen genannt.
Wie diese Wiederholungen im einzelnen gesteuert werden und wie die hierfür erforderlichen Schaltkreise
aussehen müssen, ist dieser Literatursteüe 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 · weils nächsten Befehls einer Befehlsfolge als Rückkehradresse
nach einer Unterbrechung dieser Befehlsfolge durch eine andere arbeitet.
Diese Rückkehradresse wird allerdings nicht zur Wiederholung fehlerhafter Operationen verwendet,
sondern sie dient dazu, wieder zu dem Hauptprogramm zurückzuverzweigen, nachdem eine Unterbrechung,
als Folge abnormer Arbeitszustände in der Maschine und ein hierzu jeweils spezifisches Zwischenprogramm
ausgeführt wurde. Fehlerhafte Operationen können also auf diese Weise, was als Nachteil
anzusehen ist, nicht wiederholt werden, sondern es kann allenfalls nach erfolgreicher Durchführung eines
Zwischenprogramms die Fehlerquelle ermittelt werden.
In der US-PS 3 247 490 wird schließlich ausgeführt,
daß beim Auftreten eines Fehlers, durch den die im Speicher ursprünglich gespeicherten Daten ganz oder
teilweise zerstört wurden, die Information in den Hauptspeicher zurückgeladen wird. Es wird dort ferner
ausgeführt, daß ein fest eingestellter Speicher für die Speicherung eines vorbestimmten Programms
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ßerdem entsteht ein Verlust an Verarbeitungsgeschwindigkeit
dadurch, daß nicht mit den wesentlichen Ursprungsdaten der fehlerhaften Instruktion begonnen
wird, sondern die Wiederholung vom Anfang des Programms erfolgt.
Aus den US-Patentschriften 3 248 702 und 3292153 ist zwar schon die redundante Speicherung
wesentlicher Daten des Hauptspeichers in einem zu-
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
ίο während der Befehlsausführung benutzte Operanden
verändert wurden.
Diese Aufgabe der Erfindung wird durch die im Hauptanspruch angegebenen Merkmale gelöst. Weitere
Merkmale, vorteilhafte Ausgestaltungen und »5 Weiterbildungen der Erfindung sind den Unteransprüchen
zu entnehmen.
Mit dem Gegenstand der Erfindung wird vor allem der Vorteil erzielt, daß die Operationswiederholung
für die Beseitigung sporadischer Fehler mit einem geringen apparativen Mehraufwand erreicht wird. Bei
der Durchführung der Arbeiten der Datenverarbeitungsanlage 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 Datenverarbeitungsanlage mit einem erfindungsgemäßen Operanden-Rückgriffspeicher,
Fig. 2 Einzelheiten der Steuereinrichtungen einer Datenverarbeitungsanlage gemäß Fig. 1,
Fig. 3 verschiedene Befehlsformate für eine Datenverarbeitungsanlage,
Fig. 4 einen Befehl für dezimale Division im SS.-Format
gemäß Fig. 3,
Fig. 5 die Aufteilung eines ersten Operanden für eine Divisionsoperation entsprechend dem Befehl in
Fig. 4,
Fig. 6 die Aufteilung eines zweiten Operanden für eine Divisionsoperation entsprechend dem Befehl in
. Fig. 4,
Fig. 7 die Reihenfolge, in der die Wörter eines ersten Operanden gemäß Fig. 5 dem Hauptspeicher
entnommen werden,
Fig. 8 die Reihenfolge der Speicherung von Quotientenbytes und Restbytes an der Stelle eines ersten
Operanden im Hauptspeicher,
Fig. 9 Einzelheiten des Operanden-Rückgriff Speichers, des Operanden-Rückgriffspeicher-Adreßregisters
und weiterer zusätzlicher Schaltungen für den Operanden-Rückgriffspeicher.
Gesamtsystem
Das in Fig. 1 gezeigte System enthält einen Hauptspeicher
12 und einen Arbeitsspeicher 13. Obwohl keine besonderen Eingabe-/Ausgabeeinheiten dargestellt
sind, da diese allgemein bekannt sind, stehen sie mit dem in Fig. 1 gezeigten System über das Verbindungsnetzwerk
216 in Verbindung, das an den Addiererausgangspuffer 217 und die Addiererausgangsleitung
221 angeschlossen ist. Die Hauptsteuereinheit 11 steuert die Arbeitsweise des Systems durch Schaltungen
und Signale, die kollektiv durch die Steuerleitung 15 dargestellt sind. Besondere Steuersignale, die
für die vorliegende Erfindung von Bedeutung sind, 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 Infcrmation 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 volle 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 der64 Ein-Wort-Registerim Arbeitsspeiche 13
sind als allgemeine Register bestimmt und werden bei der Adreßberechnung und Indcxierung 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 Datcnlcitungcn unterschiedlicher Kapazität
übertragen. Diese drei Leitungen sind die Addiererausgangsleitung 221 fUr 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-Addicrer
210, der durch die 32-Blt-Rcgister L, R, M und H gespeist wird. Der andere Weg ist der
Komblnierschaltungsweg mit der 8-Bit-Kombinierschaltung 213, die durch die Register L, R und M
gespeist wird. Die Kombinierschaltung handhabt Ein-Bytc-Blocks in Halbbyte-Abschnittcn.
Außer 32 einzelnen Addiereinheiten umfaßt der Addierer 210 ParittttsprUfschaltungcn, Paritätserzeugcrschaltungcn
sowie einen Übertrags-Generator. Bei der Ausführung arithmetischer Operationen werden
Dutcn aus dem 32-Bit-Rcglstcr H, M oder R auf den
rechten Addiercrcingung Y gegeben. Der linke Addierereingang
.YG 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 Addiercrausgangspuffer 217 gegeben. Subtraktion erfolgt durch Komplement-Addition
mit Hilfe der Echtwert-ZKomplementwertschaltung 220; Multiplikation und Division
durch wiederholte Addition bzw. Subtraktion und Stellenverschiebung mit Hilfe der Verschiebeschaltung
215.
Der Kombinierschaltungsweg wird hauptsächlich 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
"o 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 Kwirdeinausdem M-Register211 unter Steue-
a5 rung 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
3" 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 Hauptsteuercinheit 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 Speichcr-Speichcr-Befehls), und setzt die neue
Adresse über die Leitung 226 in das Befehlsadrcßregister. Die anfängliche Befehlsadresse bezeichnet die
Stelle des laufenden auszuführenden Befehls im Hauptspeicher und wird in das Speicheradreßregister
(SAR) 90gelesen und zum Hauptspeicher 12 geleitet, wodurch der adressierte Befehl in das Spcicherdatenrcgistcr
(SDR) 91 ausgelesen wird. Aus dem Hauptspeicher 12 auf das SDR nusgelcscne Befehle laufen
über die Schaltung 216 zum Addicrcrausgangspuffcr 217. Die Entnahme eines Befehls wird Befchls-Abruf
so genannt und erfolgt jeweils in zwei Schritten. Wahrend
des Befehls-Abrufcs wird der Befehl ausgelesen und zum Einstellen verschiedener Anfangsbedingungen
in der Zentraleinheit und dem Arbeitsspeicher 13 vor Beginn der Befehlsausführung verwendet.
SS Zur Hauptsteuercinheit 11 gehört auch eine Folgesteuereinheit
302, Allgemeinstatus-Merker 303, ein Programm-Statuswort-Register 304 und eine Fehlercrkcnnungsschaltung
305.
In Fig. 2 sind wettere Einzelheiten der Hauptsteu-
In Fig. 2 sind wettere Einzelheiten der Hauptsteu-
βο crelnheit U des Grundsystems sowie die für das vorliegende
AusfUhrungsbeisplcl der Erfindung zusätzlich vorhandenen Einrichtungen dargestellt. Die
Folgestcucrcinhcit 302 enthlilt grundsätzlich einen
Festspeicher (FS) 307, der durch ein zugehöriges
Gj Fcstspeichcr-Adreßrcgister (FSAR) 308 adressiert
wird. Bei Wahl einer entsprechenden Adresse durch dus FSAR 308 liest der Festspeicher ein Steuerwort
in dus Festspeicher-Datenregister (FSDR) 309 uus.
19 Ol 297
Das in das Register 309 gesetzte Steuerwort steuert die Verarbeitungseinheit für einen Maschinenzyklus,
da vor jedem neuen Zyklus der Verarbeitungseinheit ein neues Steuerwort ausgelesen wird. Das Steuerwort
im FSDR wirkt über die Decodierschaltung 310 und die Steuerleitung 15 auf die verschiedenen Torschaltungen
und Steuerschaltungen des Systems. Wörter sind im Festspeicher 307 in Mikrobefehlsfolgen organisiert,
wobei das jeweils nächste Wort in der Folge teilweise durch das vorhergehende Wort bestimmt ist,
und zwar über einen Teil, der vom FSAR 308 zurückgeführt wird. Zusätzlich zu einem Ausgangssignal von
der Decodierschaltung 310 wird eine bestimmte Folge außerdem ausgewählt durch Signale vom SDR 91,
dem M-Register 211 und dem F-Register 104 über die Leitungen 316 bzw. 317 und 318. Als zusätzliche
Möglichkeit für die Wahl einer Mikrobefehlsfolge oder eines Steuerwortes als Funktion einer Maschinenbedingung
oder eines Datenwertes verfügt das FSAR 308 über einen Eingang 319, der eine Verzweigung
zu einer bestimmten FS-Adresse in Abhängigkeit davon steuert, ob ein Bedingungscode in den All·
gemeinstatus-Merkern, im Programm-Statuswort oder in anderen entsprechenden Einrichtungen vorliegt
oder nicht. Die Allgemeinstatus-Merker 309 oder andere entsprechende Einrichtungen können
z. B. durch Signale von der Decodierschaltung 310 gesteuert werden.
Das Programm-Statuswort-Register 304 enthält Status- und Steuerinformationen, die bei der Ausführung
der verschiedenen Steuerfunktionen des Systems verwendet werden, und dient der Aufzeichnung des
laufenden Systemstatus. Das Register 304 kann von der Addiererausgangsleitung 221 geladen werden.
Zur Fehlcr-Erkennungsschaltung 305 gehören normale Paritätsprüfschaltungen, wie z. B. die Paritätsprüfschaltung
323 am Ausgang des Addierers 210 in Fig. 1. Paritätsprüfschaltungen gibt es an verschiedenen
Stellen im System der Fig. 1, und sie speisen alle die Fehler-Erkennungsschaltung 305 in bekannter
Weise.
Die Arbeitsweise des Grundsystems wird durch Befehle gesteuert. Obwohl die fünf in Fig. 3 gezeigten
grundlegenden Befehlsformate möglich sind, wird hier uls Beispiel nur das SS-Format (Speicher-Speicher-Befehl)
beschrieben. Wie in Fig. 3 gezeigt, enthalten die Bits 0 bis 7 den Operations-Code (OP-Codc), die
Bits 8 bis Il die Lunge Ll (Anzahl Bytes) des ersten Operanden, die Bits 12 bis 15 die Lunge Ll (Anzahl
Bytes) des zweiten Operanden, die Bits 16 bis 19 die
Basisadressc Bl des ersten Operanden, die Bits 20 bis 31 die relative Adresse Dl des ersten Operanden,
die Bits 32 bis 47 die Basisadressc Bl bzw. relative Adresse Dl des zweiten Operanden.
Ein spezielles Beispiel eines Speicher-Speicher-Befehls für eine dezimale Division ist in Flg. 4 gezeigt,
wo der OP-Code FD diese Operation vorschreibt. Li hat den Wert IS und zeigt an, daß der erste Operand
Ll + l Byte lang ist, d. h. also 16 Bytes. In ähnlicher
Welse ist Li fUnf und besagt damit, daß der zweite
Operand Ll + 1, d. h. sechs Bytes lang 1st. Der auf drei gesetzte Wert fUr 01 besagt, dall die Basisadresse
für den Operanden 1 im allgemeinen Register 3 des Arbeitsspeichers erscheint. Tm angeführten Beispiel
ergibt Bi+ Di eine Gesamtsumme von 1049. In ähnlicher Welse 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-Abruf es stehen in der Zentraleinheit die folgenden Daten an folgenden
Stellen:
Stelle Inhalt
R, WS (2) Hauptspeicheradresse des äußersten rechten Byte des zweiten Operanden.
L,M,H, WS(I) Hauptspeicheradresse des äußer-,
sten rechten Byte des ersten Operanden.
D zweite Hexadezimalstelle des OP-
Code (erste Stelle ist F).
Gl, MD Ll-FeId.
G2, J L2-Feld.
MB Byteadresse des äußersten rechten
Byte des ersten Operanden.
ao LB Byteadresse des äußersten rechten
ao LB Byteadresse des äußersten rechten
Byte des zweiten Operanden.
WS (9) Hauptspeicheradresse des äußer
WS (9) Hauptspeicheradresse des äußer
sten linken Byte des ersten Operanden.
a5 WS (A) Hauptspeicheradressc des äußer
sten linken Byte des zweiten Operanden.
Wenn angenommen wird, daß die im allgemeinen Register 31 (durch das Bl-Feld des in Fig. 4 gezeigten
so 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 »jc« 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 Hauptspcichcradresse (Gesamtadresse ist durch Bits 8 bis 31 gegeben) gegen eine einzelne
Bytestello in einem gegebenen Wort an. Die Bits 27 bis 29 der Hauptspeicheradressc geben eine einzelne
Wortadrsüisc für einen gegebenen ersten Operanden an, da im Eleispicl der Dividend in der dezimalen Division
auf maximal vier Wörter begrenzt ist. Da jedoch der erste Operand in Form des Dividenden nicht not·
wendigerweise an einer Wortgrenze beginnen muß, kann sich der maximal vier Wörter lange Operand gemäß
der Darstellung in Fig. 5 über fünf Wortstcllcn erstrecken (wie es in dem gewühlten Beispiel ja auch
der Fall tat), nämlich die Wörter UO - ■, 111 - -, 000 ■ -,
so 001 ■ · und 010 - -, die durch die Wahl der Wortadressc
27 bis 29 aus den Hauptspeicheradreßblts 8 bis 31
definiert «Ind.
In ähnlicher Welse zeigt Fig. 6 den zweiten Operanden (Divisor), der auf der Speicheradresse S13 be·
SS ginnt und sich nach rechts Über sechs Bytes von dieser
Adresse aus erstreckt, d. h. Über UX + 1 Bytes.
Nach Festlegung der Adressen des orston und zweiten Operanden 1st der nächste Verarbeitungsschritt
der Abruf der Operanden aus dem Speicher und der βο Beginn der Verarbeitung. Zuerst wird der zweite
Operand abgerufen, wozu drei Abrufgüngc 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 es von einem Byte pro Zeiteinheit erfolgt, wird der ganze
zweite Operana abgerufen und Im Arbeltsspeicher
gespeichert, wo die Bytes je nach Bedarf während der Verarbeitung adressiert werden.
9 10
je einer Zeiteinheit gerufen. Das Ergebnis, d. h. der (Fig- 1) zählt die Abzüge. Wenn der Übertraj
gelöscht und somit die Ursprungsdaten verändert tientenziffer.
werden, die zu einer erneuten Ausführung der dezi- 4. Echte Addition des ausgerichteten Divisors zurr
malen Divisionsinstruktion erforderlich wären. Übertragsergebnis aus Schritt 3. Der Wert de!
mit dem äußersten rechten Wort im Datenfeld des feld des ersten Operanden gespeichert. Falls be-
ersten Operanden begonnen wird. Da jedes Wort im reits die letzte Quotientenziffer gespeichert ist
cheradreßbits 8 bis 31 eindeutig gekennzeichnet wird, Quotientenziffer nicht die letzte ist, wird dei
holt der erste Abruf die vier Bytes im Wort Hl-- ·5 Restwert des laufenden Schrittes 4 nach link!
(Binärschreibweise). Obwohl das vierte Byte eigent- verschoben; danach wird auf die Einerstelle dei
lieh nicht dazu gehört, muß es während des ersten Ab- Teildividenden die nächste Ziffer des Dividen
rufes trotzdem geholt werden, da das Abrufen auf den gesetzt, und dann erfolgt Rückgang zi
dem das Wort 111— abgerufen worden ist, beginnt *o 5. Entwicklung und Speicherung des Quotientendie Verarbeitung, und die drei werthohen Bytes des Vorzeichens. Anschließend Speicherung de!
Quotienten werden entwickelt und zur Abrufzeit 2 zur Restwertes aus Schritt 4 als Rest in die am mei-Verfügung gestellt. Da die werthohen Bytes des Quo- sten rechts stehenden Bytes des ersten Operantienten während der Verarbeitung des Wortes 111 - - denfeldes. Dann Rückkehr zum Befehlsabruf füi
entwickelt wurden, stehen sie zur Speicherung an der *5 einen neuen Befehl.
ses Wort während der Abrufzeit 2 entnommen wurde. maldivision wird das M-Register 211 für die Datenfel
nung der gespeicherten Quotientenbytes zeigt die für die Adresse des ersten Operanden im Hauptspei
ruf) im ersten Speichergang die drei werthohen Bytes den ist, und wenn dieser Zähler gleich Null ist, ist da:
des Quotienten in das Feld 110 - - gespeichert und da- Wort in der Zentraleinheit zu Ende und ein andere;
durch die ursprünglichen A"-Datenbytes gelöscht wer- 35 Wort muß vom Hauptspeicher in der obenerwähnter
den, die darin standen. In ähnlicher Weise speichert Abruffolge gerufen werden, bevor die Ausführunf
nach dem dritten Abrufgang der zweite Speichergang weiterlaufen kann. Der Gl-Zähler 376 (Fig 1) zeig
ρ-Bytes in das Feld der Adresse 111--. Nach dem die Anzahl der übrigen noch zu verarbeitenden Byte:
vierten Abruf speichert der dritte Speichergang die im ersten Operandenfeld an Für den zweiten Ope
übrigen drei Bytes des Quotienten in das Feld des 40 randen arbeiten der LB-Zähler 101 der G2-Zählei
am weitesten rechts stehende Restbyte R entwickelt, 124 genauso wie der MB-Zähler der Gl-Zähler, da:
und der vierte Speichergang setzt dieses Byte in das M-Registcr und das Η-Register für Operand 1.
in das Feld des Wortes 001 -- und anschließend ersetzt Die vorliegende Erfindung befaßt sich mit eine
cm sechster Spcichergang das Byte ---It des Wortes Wiederholungseinrichtung, die zusätzlich in einen
000-. durch das letzte Restbyte. Die obige Folge von Datenverarbeitungssystem, wie es oben bcschriebei
der Ursprungsdaten während der Ausführung einer so tung gestattet einem derartigen System, die Aus wir
ten werden schon beim ersten Speichergang verän- die richtige AusfUhruna eines Befehls noch einmal zi
dert, und jeder danach auftretende Fehler kann bei versuche!, wennTe Fehler auftritt weh vSdl
den bisher üblichen Systemen durch eine erneute Be- U rsprungsdaten ÄteTinffin/Ä^Sblei
fehlsausführung nicht mehr korrigiert werden. ss der Veränderung der Ursnrunasdaten schließt normo
1. Abrufen und nach rechts ausrich en des Zahlen- Operandcn-Rückgrlffspclcher unS ein Operanden
wertes des zweiten Operanden (Divisor) sowie RUckgrlffspelcher-Adreßrenlster fORS-Adreßreul
Durchführung bestimmter Prüfungen, um fest· «o ster). wobei do■ RUcBf f sie Icher «war nur relaS
zustellen ob die Kriterien für eine Division er- klein Ist (Im A^S^^^S^^SS)
2. Abrufend ausrichten nach recht, der wertho- TJ^A(^S^Z!^£nyS^i
hen Bytes des ersten Operanden (Teildividend) werden können WennΪΑ SStor?ufSeSZ wS
unter Verwendung des am weitesten rechteste- «s die Systemlclstung durch diesWlederho ungseln
henden Wortes und Durchführung bestimmter richtung nicht herabgesetzt Falls ein Fehler auftritt
Prüfungen. Rann die Ausführung eines Befehls wieder versuch
3. Komplement-Addltion des ausgerichteten DIvI- werden. Wenn bei der wiederholten AusfUhrunu 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 langanhaltender, vorübergehender Fehler.
Der in Fig. 1 gezeigte Operanden-Rückgriffspeicher (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 Hauptsteuereinheit 11 geladen, und zwar durch die Bits 27 bis
29 der Operandenadresse, die auf der Addiererausgangsleitung 221 in Verbindung mit der Hauptspeicheradressierung
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 Operanden-Rückgriffspeicher 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 Opcranden-Rückgriffspcichcr gespeichert
worden ist, wird der dieser Wortstclle entsprechende Abruf-Merkcr 358 eingeschattet. Wenn
eine Speicherung von der Zentraleinheit auf eine Stelle im Hauptspeicher erfolgt, die einer vorher belegten
Wortstelle im Operanden-Rückgriffspeicher 351 entspricht, verhindert der zugeordnete Abruf-Merker
358, wenn er eingeschaltet ist, eine Veränderung
dur Daten im Opcranden-Rückgriffspcichcr 351,
schultet jedoch andererseits gleichzeitig den entsprechenden Spcichcr-Änderungs-Mcrkcr 359 ein, wodurch
angezeigt wird, daß die Ursprungsdaten im
Hauptspeicher verändert wurden und der Operandcn-Rückgriffspcichcr
die einzige Stelle ist, die die fUr eine erneute Ausführung des Befehls erforderlichen Ursprungsdaten des Operanden enthält.
AuUer dem Operandon-Ruckgrlffspeicher 351 und den dazugehörigen Schaltungen enthalt das hier beschriebene System noch ein Befehlsadrcß-Rückgrlffrcglstcr 366, das ebenfalls in Pig. I dargestellt ist.
Dieses Befehlsadreß-RUckgriffregistcr 366 enthält
jeweils nur die Adresse des Befehls, der gerade ausgeführt wird, bis feststeht, daß die Ausführung fehlerfrei
war. Das Befehlsadreßreglstcr 218 wird während der normalen Verarbeitung gemäß obiger Beschreibung
schon auf den neuesten Stand gebracht, bevor die Ausfuhrung eines Befehls beendet ist, und enthält
dann nicht mehr die Adresse des gerade ausgeführten Befehls. Aus diesem Clrund kann man nicht auf den
ersten Abruf zurückkehren ohne Hilfe des Befehlsadreß-RUckgriffreglstcrs 366 oder einer ähnlichen
Einrichtung, mit der das Befehlsadreßreglster vor der
wiederholten Ausführung eines Befehls geladen werden kann Wenn die Huuptsteucrelnhclt 11 im Wie
derholungsbetrieb läuft, leitet die Folgesteuereinheit 302 den Inhalt des Befehlsadreß-Rückgriffregisters
366 zum entsprechenden Zeitpunkt vor dem ersten Abruf auf das Befehlsadreßregister 218. Die Rück-
•5 speicherung der Befehlsadresse aus dem Befehlsadreß-Rückgriffregister
ist klar zu unterscheiden von der Rückspeicherung des Operanden. Die Operanden-Ursprungsdaten
können verändert worden sein oder auch nicht; die jeweilige Operandenfeldstelle 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ändeit wurden,
bezüglich der nacheinander folgenden Speicheradressen außerhalb der Reihenfolge liegen (z. B. bei der
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ß.
In Fig. 2 sind weitere zusätzliche Rückgriffschaltungen
gezeigt für Teile der Steuereinheit, die wäh-' rend 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 der
Bedingungscodebits im Programm-Statuswort. Zu den Allgemeinstatus-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 Fchlcrerkennungsschaltung 305 ein Sperrsignal für
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
Decodierschaltung310 einen Ursprungsdaten-Änderungsmcrkcr
374 ein, sobald Ursprungsdaten verändert werden, wobei es keine Rolle spielt, bei welcher
Funktion des Datenverarbeitungssystems das geschah. Der UD-Änderungsmerkcr 374 kann also einerseits
durch die Decodicrschultung 310 eingeschaltct
werden; kann aber andererseits für die Zwecke der vorliegenden Erfindung auch durch ODER-Vcrknitpfung
der Inhalte aller Spcicher-Änderungsmerker 359 (Fig. 9) eingeschaltet werden. Während des
Versuches der wiederholten Ausführung eines Befehls
so wird das Ausgangssignal des Ursprungsdaten-Är.dcrungsmerkcrs
374 als Signal zur Verzweigung zu einer RUckspcicherroutine verwendet. Durch eine besondere
im Festspeicher 307 erscheinende Rückspeicherbefehlsfolge
werden dann die im Operanden-Rück-
SS griffspeicher 351 erscheinenden Daten neu in den
Hauptspeicher gespeichert.
Die im Orundsystem vorhandene Betriebsarten·
wahlschaltung 375 gestattet die Wahl der Eingabe-/ Ausgabe-Betriebsart oder der zentralen Betriebsart
6t> Im hler beschriebenen Ausfuhrungsbeispiel der Er·
findung spricht diese Wahlschaltung 375 auch noct auf ein Signal der Fchlererkcnnungsschaltung 305 at
zur Wahl der Wiederholungs-Betriebsart, womit dii Steuerung zusammenhangt, in welcher Art die in
Festspeicher-Datenregister 309 stehenden Worte
durch die Decodierschultung 310 decodiert werden
Die Wahlschaltung 375 kunn ein einfacher Dreiweg schalter sein, der ein Signal über die Leitungen 38<
19 Ol 297
zur Decodierschaltung 310 gibt. Die wiederholte
Ausführung eines Befehls wird bei einer Fehlerfest· stellung 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 315 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. S) im Hauptspeicher 12 adressiert, indem die 24-Bit-Speicheradresse dieses Wortes
aus dem H-Rtgister 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 ernten 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ückgriffspeicher 351 ü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 111 - - 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, nämlich des Wortes 110 —, auf den neuesten Stand gebracht.
Wenn der MB-Bytezähler 102 anzeigt, daß alle Bytes im Wort Hl-- 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 HO--im
Hauptspeicher 12 zu adressieren. Wenn diese Adresse auf der Addiererausgangsleitung erscheint,
xo werden unter Steuerung der Folgesteuereinheit 302
die Bits 27 bis 29 in das Operanden-Rückgriffspeicher-Adreßregister 354 übertragen. Genau wie beim
ersten Abruf gang wird das Wort HO-- 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 AddiererausgangsJeitung 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-Register unverändert
über de.. Addierer 210 auf die Addiererausgangsleitung und das SDR 91 geleitet. Vom SDR
91 werden sie auf die Wortstelle HO - - im Hauptspeicher 12 gespeichert und dadurch die Ursprungsdaten
*5 des Wortes Π0-- des ersten Operanden im Hauptspeicher
gelöscht. Wenn die Quotientenbytes auf das Speicherdatenregister 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
so 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ück· griffregistern 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 eingeschalte ist, verursacht die Befehlsfolge im Festspeicher 3Of
eine Verzweigung zu einer Rückspeicherroutine Diese Rückspeicherroutine verwendet die Hauptspei-
19 Ol 297
cheradresse des ersten Operanden zum Rückspeichern dieses Operanden aus de η Operanden-Rückgriffspeicher
351 in den Hauptspeicher 12. Beginnend mit der Wortadiesse HO-- wird die 24-Bit-Adresse
des Hauptspeichers, so wie sie während des Befehls-Abrufes aus der Summe von ßl + 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ückgriffspeicher-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 110-- verbundene Merker 359 eingeschaltet
ist, wird das Wort 110-- des ersten Operanden vom Rückgriffspeicher 351 übei 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 Hl-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. Ist 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 HO-- laufen die Wortadressen weiter über Hl-- 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 ORS-Adreßregister
zusammen mit invertierenden Schal-
tungen 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 Decodierschaltung 310 der Folgesteuereinheit 302 z. B. bei
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
Hauptsteueieinheit 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 zahlt. 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 Verarbei-
, tungseinrichtungen, Steuereinrichtungen, einem 5
' Hauptspeicher,- Fehlererkennungseinrichtungen
und einer Operations-Wiederholungseinrichtung
und einer Operations-Wiederholungseinrichtung
mit einem Rückgriffspeicher und zugehörigem . ^ „.,l.!,,.-Adressenregister
für die Rückladung von Ur- Die Erfindung betrifft eine Datenverarbe.tungsansprungsdatenindenHauptspeicher.dadurchge-
«, lage gemäß dem Oberbegriff des Anspruchs 1.
kennzeichnet, daß das Operanden-Rückgriff- Die in Datenverarbeitungsanlagen auf retenden speicher-Adreßregister (354) zur Aufnahme eines Fehler können in zwei Kategorien aufgeteilt werden: 'bestimmten Hauptspeicheradressenteils ausgebil- »vorübergehende« Fehler und »dauernde« ferner, det ist, der aus der Hauptspeicheradresse derjeni- Vorübergehende Fehler können die Folge einer kurzgen Operanden gebildet wird, die aas dsm Haopt- »i fristigun Netzspannungsüchwankung oder eines Morspeicher (12) für die Durchführung eines Befehls impuli.es sein. Dauernde Fehler werden z. B. durch entnommen und in den Operanden-Rückgriff- den vollständigen Ausfall eines Bauelementes oder speicher geladen werden und daß in Verbindung durch eine Leitungsunterbrechung hervorgerufen,
mit dem noch vorhandenen restlichen Hauptspei- Die Datenverarbeitungsanlage nach der Erfindung cheradressenteil eine eindeutige Zuordnung zwi- ^ enthält Einrichtungen, die eine korrekte Arbeitsweise sehen Operanden-Rückgriffspeicherplätzen und trotz des Auftretens vorübergehender Fehler erlaubt. Hauptspeicherplätzen besteht, so daß später wie- Eine weitere Möglichkeit zur Eliminierung vorder benötigte Operandendaten auf Grund der bei- übergehender Fehler besteht dann, den Programmden genannten Hauptspeicheradressenteile im ablauf beim Auftreten eines Fehlers zu stoppen und Operanden-Rückgriffspeicher aufgefunden und in *5 mit der Ausführung des gesamten Programms von den Hauptspeicher an ihren ursprünglichen Platz vorne zu beginnen, wobei möglicherweise die Daten zurückübertragbar sind. und das Programm noch einmal neu geladen werden
kennzeichnet, daß das Operanden-Rückgriff- Die in Datenverarbeitungsanlagen auf retenden speicher-Adreßregister (354) zur Aufnahme eines Fehler können in zwei Kategorien aufgeteilt werden: 'bestimmten Hauptspeicheradressenteils ausgebil- »vorübergehende« Fehler und »dauernde« ferner, det ist, der aus der Hauptspeicheradresse derjeni- Vorübergehende Fehler können die Folge einer kurzgen Operanden gebildet wird, die aas dsm Haopt- »i fristigun Netzspannungsüchwankung oder eines Morspeicher (12) für die Durchführung eines Befehls impuli.es sein. Dauernde Fehler werden z. B. durch entnommen und in den Operanden-Rückgriff- den vollständigen Ausfall eines Bauelementes oder speicher geladen werden und daß in Verbindung durch eine Leitungsunterbrechung hervorgerufen,
mit dem noch vorhandenen restlichen Hauptspei- Die Datenverarbeitungsanlage nach der Erfindung cheradressenteil eine eindeutige Zuordnung zwi- ^ enthält Einrichtungen, die eine korrekte Arbeitsweise sehen Operanden-Rückgriffspeicherplätzen und trotz des Auftretens vorübergehender Fehler erlaubt. Hauptspeicherplätzen besteht, so daß später wie- Eine weitere Möglichkeit zur Eliminierung vorder benötigte Operandendaten auf Grund der bei- übergehender Fehler besteht dann, den Programmden genannten Hauptspeicheradressenteile im ablauf beim Auftreten eines Fehlers zu stoppen und Operanden-Rückgriffspeicher aufgefunden und in *5 mit der Ausführung des gesamten Programms von den Hauptspeicher an ihren ursprünglichen Platz vorne zu beginnen, wobei möglicherweise die Daten zurückübertragbar sind. und das Programm noch einmal neu geladen werden
2. Datenverarbeitungsanlage nach Anspruch 1, müssen. Dieses Verfahren ist unter Umständen sehr
dadurch gekennzeichnet, daß für die Benutzung zeitaufwendig; vor allem aber werden die Resultate,
des Operanden-Rückgriffspeichers (351) jeweils 3° die bis zum Auftreten des Fehlers korrekt ermittelt
die niedrigstelligen Adreßbus der gerade benutz- wurden, gar nicht ausgenutzt, sondern gehen verloren,
ten Operanden-Hauptspeicheradresse aatoma- Ein anderes Verfahren, das eine Beseitigung der
tisch in das Operanden-Rückgriffspeicher- Auswirkungen vorübergehender Fehler ermöglicht,
Adreßregister (354) geladen werden. ist die Programmierung mit Prüfpunkten. Dabei wer-
3. Datenverarbeitungsanlage nach den Ansprü- 35 den im Programm bestimmte Stellen (Prüfpunkte)
chen 1 und/oder 2, dadurch gekennzeichnet, daß vorgesehen, bei deren Erreichung der Programmabzu
jedem Speicherplatz im Operanden-Rückgriff- lauf angehalten wird. Die zu einem solchen Zeitpunkt
speicher (351) ein Speicher-Änderungsmerker in bestimmten Registern, Speichern usw. enthaltenen
(359) vorgesehen ist, der gesetzt wird, sobald Daten und Steuerinformationen werden ausgelesen
während der Ausführung eines Befehls die Ope- 40 und an besonderen Plätzen, z. B. in einem Magnetrandendaten
im jeweils zugeordneten Speicher- band, gespeichert und bleiben bis zur Erreichung des
platz des Hauptspeichers (12) verändert werden. nächsten Prüfpunktes dort erhalten. Dadurch besteht
und daß nach Feststellung eines Fehlers für einen die Möglichkeit, nach einer Unterbrechung oder nach
erneuten Versuch einer Ausführung des laufenden Auftreten eines Fehlers durch ein Hilfsprogramm in
Befehls nur aus denjenigen Speienerplätzen des 45 der Datenverarbeitungsanlage die Bedingungen wie-Operanden-Rückgriffspeichers
Daten in die züge- derherzustellen, die zur Zeit der Erreichung des letzordneten
Speicherplätze des Hauptspeichers zu- ten Prüfpunktes bestanden, und von diesem Punkt aus
rückübertragen werden, für die der betreffende den Programmablauf wieder zu starten.
Speicher-Änderungsmerker gesetzt ist. Dieses Verfahren hat aber den Nachteil, daß durch
Speicher-Änderungsmerker gesetzt ist. Dieses Verfahren hat aber den Nachteil, daß durch
4. Datenverarbeitungsanlage nach den Ansprü- 50 die an den Prüfpunkten notwendigen Zusatzoperatiochen
1 bis 3, dadurch gekennzeichnet, daß zu je- nen Zeitverluste eintreten, die den Wirkungsgrad des
dem Speicherplatz des Operanden-Rückgriffspei- Systems herabsetzen. Außerdem müssen die gechers
(351) ein Abruf-Merker (358) vorgesehen wünschten Prülpunkte und die Benutzung der notist,
der gesetzt wird, sobald Operandendaten, die wendigen Hilfsprogramme bei der Programmierung
aus dem Hauptspeicher abgerufen und den Verar- 55 berücksichtigt werden und erfordern deshalb zusätzlibeitungseinrichtungen
zugeführt werden, außer- ehe Arbeit.
dem in den betreffenden Speicherplatz des Ope- Schließlich ist eine weitere Lösung des Problems
randen-Rückgriffspeichers geladen werden. der vorübergehenden Fehler durch das US-Patent
5. Datenverarbeitungsanlage nach den Ansprü- 3 248 697 bekanntgeworden. Dieses Patent beschreibt
chen 1 bis 4, dadurch gekennzeichnet, daß ein Ur- 60 eine Einrichtung, durch die bei Ausführung eines jesprungsdaten-Änderungsmerker
(374) vorgese- den Befehls festgestellt wird, wann ein kritischer hen ist, der gesetzt wird, sobald im Verlauf der Punkt erreicht ist, nach dem eine einfache Wiederho-Ausführung
eines Befehls im Hauptspeicher (12) lung der Befehlsausführung nicht mehr möglich ist.
Operandendaten, die für diesen Befehl benutzt Dieser kritische Punkt ist nicht erreicht, wenn wähwurden,
verändert werden, und daß nach Feststel- 65 rend der Operatiion irgendwelche für den betreffenden
lung eines Fehlers beim erneuten Versuch einer Befehl benutzten Operandendaten selbst verändert
Ausführung des laufenden Befehls nur dann Ope- werden.
randendaten aus dem Operanden-Rückgriffspei- Vorübergehende Fehler, die vor dem kritischen
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 DE1901297B2 (de) | 1976-12-23 |
DE1901297C3 true DE1901297C3 (de) | 1977-08-11 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1901228C3 (de) | Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers | |
DE3131341C2 (de) | ||
DE2515696C2 (de) | Datenverarbeitungssystem | |
DE69133302T2 (de) | Registerabbildung in einem einzigen Taktzyklus | |
DE2714805C2 (de) | ||
DE69730276T2 (de) | Vorrichtung und Verfahren zur Erleichterung der Vermeidung von exzeptionellen bestimmten Zuständen während des Ablaufs eines Programmes | |
DE2318069C2 (de) | Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix | |
DE2657848A1 (de) | Steuereinheit fuer ein datenverarbeitungssystem | |
CH650600A5 (de) | Zentralprozessoreinheit einer datenverarbeitungsanlage mit operationscode-erweiterungsregister. | |
DE1499200B2 (de) | Datenverarbeitungsanlage mit vorranggesteuerter programm unterbrechung | |
DE2806024A1 (de) | Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit | |
DE2523414B2 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
DE2331589A1 (de) | Datenverarbeitungsanordnung | |
DE1935944C3 (de) | Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage | |
DE1285219B (de) | Steuerwerk zur Ausfuehrung von Unterprogrammen | |
DE3045609C2 (de) | ||
DE2450468C2 (de) | Fehlerkorrekturanordnung für einen Speicher | |
DE2744359C2 (de) | ||
DE1909090C3 (de) | Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage | |
DE2336020B2 (de) | Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE69111778T2 (de) | Verfahren und Gerät zur Erweiterung einer Rechnerarchitektur von zweiunddreissig auf vierundsechzig Bits. | |
DE1901297C3 (de) | Datenverarbeitungsanlage mit Steuereinrichtungen, die bei Feststellung eines Fehlers eine erneute Ausführung des laufenden Befehls bewirken | |
DE1499286B2 (de) | Datenbearbeitungsanlage | |
DE1222289B (de) | Datenverarbeitungseinrichtung |