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 bewirken

Info

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
Application number
DE19691901297
Other languages
English (en)
Other versions
DE1901297A1 (de
DE1901297B2 (de
Inventor
Dorothy L Poughkeepsie; Synder Alan D Hopewell Junction N Y Schnabel (VStA)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1901297A1 publication Critical patent/DE1901297A1/de
Publication of DE1901297B2 publication Critical patent/DE1901297B2/de
Application granted granted Critical
Publication of DE1901297C3 publication Critical patent/DE1901297C3/de
Expired legal-status Critical Current

Links

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-
βο 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.
Ablauf einer Operation
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
Byte des zweiten Operanden.
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
Die Bytes des ersten Operanden werden je nach sors zum vorliegenden Teil des Dividenden, bis Bedarf während der dezimalen Division worvweise zu ein Übertrag auftritt, Der MD-Zähler 103
je einer Zeiteinheit gerufen. Das Ergebnis, d. h. der (Fig- 1) zählt die Abzüge. Wenn der Übertraj
Quotient und der Rest, werden im Feld des ersten auftritt, steht der MD-Zähler auf einem Wert Operanden gespeichert, wodurch der erste Operand 5 der um 1 größer ist als die zu entwickelnde Quo-
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!
Gemäß der Darstellung in Fig. 7 werden Ll + 1 MD-Zählers wird um die Zahl - 1 korrigiert unc Datenbytes vom ersten Operanden abgerufen, wobei io als Quotientenstelle im äußersten linken Byte-
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
Operanden durch die Bits 27 bis 29 der Hauptspei- erfolgt direkter Übergang zu Schritt 5. Wenn die
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
Wortbasis innerhalb von Wortgrenzen erfolgt. Nach- Schritt 3.
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.
Stelle des Wortes 110-- zur Verfugung, nachdem die- Bei der Ausführung der oben beschriebenen Dezi
ses Wort während der Abrufzeit 2 entnommen wurde. maldivision wird das M-Register 211 für die Datenfel
Unter Verwendung des Buchstabens Q zur Bezeich- der des ersten Operanden und das H-Register 212
nung der gespeicherten Quotientenbytes zeigt die für die Adresse des ersten Operanden im Hauptspei
Fig. 8 den Stand des ersten Operandenfeldes nach der 30 eher benutzt. Der MB-Zähler 102 bestimmt welche! Abrufzeit 2. Daraus geht hervor, daß nach Abruf des Byte des betreffenden Wortes des ersten Operander Wortes 110-- des ersten Operanden (im zweiten Ab- als Teil der laufenden Ausführungsroutine zu verwen
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
Wortes 000--. Nach dem fünften Abruf wurde das 377 (Fig. 1), das L-Register 126 und das R-Registei
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.
Feld des Wortes 010--. Bei Weiterentwicklung der K Restbytes speichert der fünfte Speichergang den Rest 45 Wiederholungseinrichtung
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
Abru - und Speicherghngen verdeutlicht die Art, in wurde, eingebaut wird. Diese Wiederholungseinnch
der Ursprungsdaten während der Ausführung einer so tung gestattet einem derartigen System, die Aus wir
Dezimaldlvislon verändert werden. Die Ursprungsda- kungen vorübergehender Fehler zu überwinden un«
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
Die eigentliche Divisionsoperation mit Abruf- und lerweise den erneuteii Versuch einer Be ehlsSuh Spolcheroperatlonen besteht aus den fünf Folgen: rung aus. Diese!ί Poblemwirdg^lös^ durch eine.
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)

eher (351) zum Hauptspeicher zurückübertragen Patentansprüche: werden, weinn der Ursprungsdaten-Anderungs- merker gesetzt ist.
1. Datenverarbeitungsanlage mit Verarbei-
, tungseinrichtungen, Steuereinrichtungen, einem 5
' Hauptspeicher,- Fehlererkennungseinrichtungen
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
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
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
DE19691901297 1968-01-15 1969-01-11 Datenverarbeitungsanlage mit Steuereinrichtungen, die bei Feststellung eines Fehlers eine erneute Ausführung des laufenden Befehls bewirken Expired DE1901297C3 (de)

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