DE1901297A1 - Datenverarbeitungsanlage mit Steuereinrichtungen,die bei Feststellung eines Fehlers eine erneute Ausfuehrung des laufenden Befehls bewirken - Google Patents

Datenverarbeitungsanlage mit Steuereinrichtungen,die bei Feststellung eines Fehlers eine erneute Ausfuehrung des laufenden Befehls bewirken

Info

Publication number
DE1901297A1
DE1901297A1 DE19691901297 DE1901297A DE1901297A1 DE 1901297 A1 DE1901297 A1 DE 1901297A1 DE 19691901297 DE19691901297 DE 19691901297 DE 1901297 A DE1901297 A DE 1901297A DE 1901297 A1 DE1901297 A1 DE 1901297A1
Authority
DE
Germany
Prior art keywords
operand
memory
address
main memory
command
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19691901297
Other languages
English (en)
Other versions
DE1901297C3 (de
DE1901297B2 (de
Inventor
Synder Alan D
Schnabel Dorothy L
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

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1405Saving, restoring, recovering or retrying at machine instruction level
    • G06F11/141Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses

Description

Böblingen, den 7. Januar 1969 jo-ti
Anmelder: International Business Machines
Corporation, Armonk, N. Y. 10
Amtliches Aktenzeichen: Neuanmeldung
Aktenz. der Anmelderin: Docket PO 967 046
Datenverarbeitungsanlage mit Steuereinrichtungen, die bei Feststellung eines Fehlers eine erneute Ausführung des laufenden
Befehls bewirken.
Die in Datenverarbeitungsanlagen auftretenden Fehler können in zwei Kategorien aufgeteilt werden: "vorübergehende " Fehler und "dauernde" Fehler. Vorübergehende Fehler können die Folge einer kurzfristigen Netzspannungsschwankung oder eines Störimpulses sein. Dauernde Fehler werden z. B. durch den vollständigen Ausfall eines Bauelementes oder durch eine Leitungsunterbrechung hervorgerufen.
Die vorliegende Erfindung betrifft Einrichtungen in einer Datenverarbeitungsanlage, die eine korrekte Arbeitsweise trotz des Auftretens vorübergehender Fehler erlauben.
909843/U59
PO 9B1 046
Es sind Datenverarbeitungssysteme bekannt geworden, in denen Fehlerauswirkungen durch Redundanz der technischen Einrichtungen verhindert werden, also z.B. durch Verdoppelung der einzelnen Schaitungsteile oder durch Parallelarbeit ganzer Anlagen. Diese Lösung ist zwar sicher, aber sehr aufwendig.
Eine weitere Möglichkeit zur Eliminierung vorübergehender Fehler besteht darin, den Programmablauf beim Auftreten eines Fehlers zu stoppen und mit der Ausführung des gesamten Programms von vorne zu beginnen, wobei möglicherweise die Daten und das Programm noch einmal neu geladen werden müssen. Dieses Verfahren ist unter Umständen sehr zeitaufwendig ; vor allem aber werden die Resultate, die bis zum Auftreten des Fehlers korrekt ermittelt wurden, gar nicht ausgenutzt, sondern gehen verloren.
Ein anderes Verfahren, das eine Beseitigung der Auswirkungen vorübergehender Fehler ermöglicht, ist die Programmierung mit Prüfpunkten. Dabei werden im Programm bestimmte Stellen (Prüfpunkte) vorgesehen, bei deren Erreichung der Programmablauf angehalten wird. Die zu einem solchen Zeitpunkt in bestimmten Registern, Speichern, usw. , enthaltenen Daten und Steuerinformationen werden ausgelesen und an besonderen Plätzen, z.B. in einem Magnetband, gespeichert, und bleiben bis zur Erreichung des nächsten Prüfpunktes dort erhalten. Dadurch besteht die Möglichkeit, nach einer Unterbrechung oder nach Auftreten eines
909843/1453
PO9-67-046 . Z -
Fehlers durch ein Hilfsprogramm in der Datenverarbeitungsanlage die Bedingungen wiederherzustellen, die zur Zeit der Erreichung des letzten Prüfpunktes bestanden, und von diesem Punkt aus den Programmablauf wieder zu starten.
Dieses Verfahren hat aber den Nachteil, dass durch die an den Prüfpunkten notwendigen Zusatzoperationen Zeitverluste eintreten, die den Wirkungsgrad des Systems herabsetzen. Ausserdem müssen die gewünschten Prüfpunkte und die Benutzung der notwendigen Hilfsprogramme bei der Programmierung berücksichtigt werden, und erfordern deshalb zusätzliche Arbeit.
Schliesslich ist eine weitere Lösung des Problems der vorübergehenden Fehler durch das U.S.A. Patent 3,248,697 bekannt geworden. Dieses Patent beschreibt eine Einrichtung, durch die bei Ausführung eines jeden Befehls festgestellt wird, wann ein kritischer Punkt erreicht ist, nach dem eine einfache Wiederholung der Befehlsausführung nicht mehr möglich ist. Dieser kritische Punkt ist erreicht, wenn während der Operation irgendwelche für den betreffenden Befehl benutzten Operandendaten selbst verändert werden.
Vorübergehende Fehler, die vor dem kritischen Punkt auftreten, können einfach durch wiederholte Ausführung des Befehls eliminiert werden. Die normale Systemleistung wird durch diese Technik nicht herabge-
909843/ U53
PO9-67-046 · - 3 -
gesetzt. Tritt aber ein Fehler nach dem kritischen Zeitpunkt auf, so ist eine Korrektur durch Wiederholung nicht mehr möglich, wodurch eine Programmunterbrechung bedingt wird.
Der Erfindung liegt die Aufgabe zugrunde, eine Einrichtung anzugeben, mit der die Wirkungen vorübergehender Fehler überwunden werden können, auch wenn während der Befehlsausführung benutzte Operanden verändert wurden; welche die Ausnutzung der bis zum Auftreten des Fehlers erreichten Ergebnisse gestattet ; die aber keine besonderen Vorkehrungen bei der Programmierung erfordert und im normalen Betrieb auch keine Minderung der Systemleistung bedingt.
Gegenstand der Erfindung ist eine Datenverarbeitungsanlage mit Verarbeitungseinrichtungen, Steuereinrichtungen, einem Hauptspeicher und Fehlererkennungseinrichtungen, wobei die Steuereinrichtungen bei'Feststellung eines Fehlers eine erneute Ausführung des laufenden Befehls bewirken, die dadurch gekennzeichnet ist, dass ein Operanden-Rückgriffspeicher vorgesehen ist, in den Operandendaten geladen werden, die einerseits zur Ausführung eines Befehls den Verarbeitungseinrichtungen vom Hauptspeicher aus zugeführt werden, und die andererseits im Hauptspeicher während der Befehlsausführung verändert werden können, und dass, nach Feststellung eines Fehlere, für die wiederholte Ausführung des laufenden Befehls mindestens die Operandendaten aus dem Operanden-Rückgriffspeicher in den Hauptspeicher zurückübertragen werden, die während des erfolglosen Versuche der Befehlsausführung im Hauptspeicher verändert worden sind.
9098A3/U59
PO9-67-046 L - 4 -
Eine solche Anlage ist besonders geeignet zur Eliminierung vorübergehender Fehler bei der Speicher-Speicher-Arbeitsweise, d.h. bei Operationen, für die Operanden dem Speicher entnommen und in der Verarbeitungseinheit verknüpft werden, wonach das Ergebnis an die Stelle eines der Operanden in den Speicher gebracht wird.
Weitere Merkmale der Erfindung sind den Unteransprüchen zu entnehmen.
Ein Ausführungsbeispiel der Erfindung wird im folgenden anhand von Zeichnungen erläutert. In den Zeichnungen zeigen:
Fig. 1 ein Blockschaltbild einer Datenverarbeitungsanlage mit einem erfindungsgemässen Operanden-Rückgriffspeicher;
Fig. 2 Einzelheiten der Steuereinrichtungen einer Datenverarbeitungsanlage gemäss Fig. 1;
Fig. 3 verschiedene Befehlsformate für eine Datenverarbeitungsanlage; Fig. 4 einen Befehl für dezimale Division im SS.-Ebrmat gemäss 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äss Fig. 5 dem Hauptspeicher entnommen werden;
Fig. 8 die Reihenfolge der Speicherung von Quotientenbytes und Rest bytes an der Stelle eines ersten Operanden im Hauptspeicher;
Fig. 9 Einzelheiten des Operanden-Rückgriff Speichers, des Operanden-Rückgriffspeicher-Adressregisters und weiterer zusätzlicher Schaltungen für den Operanden-Rückgriffspeicher.
PO 967 046 90 9843/1453
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 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.
Der Hauptspeicher 12 ist beispielsweise eine Matrixanordnung von Magnetkernen, in welcher ein gewünschter Speicherplatz durch eine Adresse im Speicheradressregister (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 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).
PO9-67-046 - 6 -
9098^3/1453
Durch Einschreiben neuer Information in das SDR 91 vor der Regeneration im Schreibzyklus wird die ursprünglich im Hauptspeicher stehende Information geändert. Gleichzeitig mit der Regeneration steht die Information im SDR 91 für das System auf der Addiererauegangeleitung 221 zur Verfügung.
Das System fasst 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 Arbeitsspeicheradressregister (ASAR) 120 adressiert werden. Das ASAR 120 wird aus dem J-Register 121 geladen, das seinerseits wiederum aus der Addiererausgangsleitung 221 oder der Kombinierschaltungsleitung 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.
PO9-67-046 r 7 .-
909843/U53
16 der 64 Ein-Wort-Register im Arbeitsspeicher 13 sind als allgemeine Register bestimmt und werden bei der Adressberechnung und Indexierung als Indexregister verwendet, bei der Festpunkt-Arithmetik und logischen Operationen jedoch als Speicher register. Ausserdem enthält der Arbeitsspeicher 13 Arbeitsplätze, die während, der Verarbeitung zu verschiedenen Zwecken verwendet werden.
Daten werden zu den und von den Registern über drei Datenleitungen unterschiedlicher Kapazität übertragen. Diese drei Leitungen sind die Addiererauegangs leitung 221 für 32 Bits, die Befehlsadressleitung 223 für 24 Bits, und die Kombinierschaltungsleitung 222 mit 8 Bits Kapazität.
Der Datenfluss geht im wesentlichen über zwei parallele Wege, die gleichzeitig benutzt werden können. Einer dieser Wege ist der Addiererweg mit dem 32-Bit-Addier er 210, der durch die 32-Bit-Register L, R, M. und H gespeist wird. Der andere Weg ist der Kombinierschaltungsweg mit der 8-Bit-Kombinierschaltung 213, die durch die Register L, R und M gespeist wird. Die Kombinierschaltung handhabt Ein-Byte-Blocke in Halbbyte-Abschnitten.
Ausser 32 einzelnen Addierereinheiten umfasst der Addierer 210
Paritätsprüfechaltungen, Paritätserzeugerschaltungen sowie einen
PO9-67-046 - 8 -
909843/1453
Uebertrags-Generator. Bei der Ausführung arithmetischer Operationen werden Daten aus dem 32-Bit-Register. H, M oder R auf den rechten Addierereingang Y gegeben. Der linke Addierer -eingang XG ist mit einer Echtwert-ZKomplementwertschaltung verbunden und wird vom 32.-Bit-Register 126 (L-Register) gespeist.
In einem Zyklus der Zentraleinheit werden je zwei Operanden aus je 32 Bits auf die Addier er eingang e XG und Y geleitet, durch den Addierer verarbeitet, und das Ergebnis dann auf den Addiererausgangspuffer 217 gegeben. .Subtraktion erfolgt durch Komplement-· Addition mit Hilfe der Echtwert'/Komplementwertschaltung 220 ; Multiplikation und Division durch wiederholte Addition bzw. Subtraktion und Stellenverschiebung mit Hilfe der Verschiebeschaltung 215.
Der Kombiniere chaltungsweg 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'Steuerung eines der beiden Bytezähler LB 101 und MB 102 ausgewähltes Byte gegeben werden oder ein Byte, das aus dem Inhalt der beiden 4-Bit-Register , MD 103 und F 104 gebildet wird. Dem rechten Eingang V wird ein au* dem M-Register 211 unter Steuerung eines der beiden Byte- »ähler LB 101 oder MB 102 ausgewähltes Byte zugeführt'. Die Kombinier schaltung wird genauso wie die anderen Funktionseinheiten durch die Hauptsteuereinheit 11 gesteuert«
909843/1459
-67-046 . -9 - . ' :
Der Befehlsadressweg hat eine Kapazität von 24 Bits, um die im Befehlsadressregister 218 enthaltene 24-Bit-Befehlsadresse übertragen und auf den neuesten Stand bringen zu können. Der erste Befehl wird am Anfang durch die Hauptsteuereinheit 11 in das Befehlsadressregister (BA REG) 218 gesetzt. Von dort werden Befehlsadressen auf den Befehlsadresszähler 219 geleitet. Der Befehlsadresszähler erhöht die Befehlsadresse um eine Zahl, die der Anzahl Bytes in einem Befehl entspricht (sechs Bytes im Falle eines Speicher-Speicher-Befehls)', und setzt die neue Adresse über die Leitung 226 in das Befehlsadressregister. Die anfängliche Befehlsadresse bezeichnet die Stelle des laufenden auszuführenden Befehls im Hauptspeicher und wird in das Speicheradressregister (SAR) 90 gelesen und zum Hauptspeicher 12 geleitet, wodurch der adressierte Befehl in das Speicherdatenregister (SDR) ausgelesen wird. Aus dem Hauptspeicher 12 auf das SDR ausgelesene Befehle laufen über die Schaltung 216 zum Addiererausgangspuffer 217. Die Entnahme eines Befehls wird Befehls-Abruf genahnt und erfolgt jeweils in zwei Schritten. Während des Befehls-Abrufes wird der Befehl ausgelesen und zum Einstellen verschiedener Anfangs-, bedingungen in der Zentraleinheit und dem Arbeitsspeicher 13 vor Beginn der Befehlsausführung verwendet.
PO9-67-046 - 10 -
909843/1453
Zur Hauptsteuereinheit 11 gehört auch eine Folgesteuereinheit 302, Allgemeinstatus-Merker 303, ein Programm-Statuswort-Register und eine Fehler erkennung β schaltung 305.
In Fig. 2 sind weitere Einzelheiten der Hauptsteuereinheit 11 des Grundsystems sowie die für das vorliegende Ausführungsbeispiel der Erfindung zusätzlich vorhandenen Einrichtungen dargestellt. Die Folgesteuereinheit 302 enthält grundsätzlich einen Festspeicher (FS) 307, der durch ein zugehöriges Festspeicher-Adressregister (FSAR) 308 adressiert wird. Bei Wahl einer entsprechenden Adresse durch das FSAR 308 liest der Festspeicher ein Steuerwort in das Festspeicher-Datenregister (FSDR) 309 aus. Das in das Register 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 Decodier schaltung 310 und die Steuer leitung 15 auf die verschiedenen Torschaltungen und Steuer schaltung en 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 Decodier schaltung 310 wird eine bestimmte Folge ausserdem ausgewählt durch Signale vom SDR 91, dem M-Register
PO9-67-046 - 11 -
909843/1*453-
und dem F-Register 104 über die Leitungen 316 bzw. 317 und 318. Als zusätzliche Möglichkeit für die Wahl einer Mikro -befehlsfolge 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 Bedingungecode in.den Allgemeinstatus-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 Systemstatue. Das Register 304 kann von der Addiererausgangsleitung 221 geladen werden.
Zur Fehler-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 ah verschiedenen Stellen im System der Fig. 1, und sie speisen alle die Fehler-Erkennungsschaltung 305 in bekannter Weise.
PO9-67-046 - 12 -
9098A3/U59
Die Arbeitsweise des Grundsystems wird durch Befehle gesteuert. Obwohl die fünf in Fig. 3 gezeigten grundlegenden Befehlsformate möglich sind, wird hier als Beispiel nur das SS-Format ( Speicher-Speicher-Befehl) beschrieben. Wie in Fig. 3 gezeigt, enthalten die Bits 0 bis 7 den Operations-Code (OP Code), die Bits 8 bis 11 die Länge Ll (Anzahl Bytes) des ersten Operanden, die Bits 12 bis 15 die Länge L2 (Anzahl Bytes) des zweiten Operanden, die Bits 16 bis 19 die Basisadresse Bl des ersten # Operanden, die Bits 20 bis 31 die relative Adresse Dl des ersten Operanden, die Bits 32 bis 47 die Basisadresse B2 bzw. relative Adresse D2 des zweiten Operanden.
103141/1413
Ablauf einer Operation
Ein spezielles Beispiel eines Speicher-Speicher-Befehls für eine dezimale Division ist in Fig. 4 gezeigt, wo der OP-Code FD diese Operation vorschreibt. Ll .hat den Wert 15 und zeigt an, dass der erste Operand Ll + 1 Byte lang ist, d.h. also 16 Bytes, In ähnlicher Weise ist LZ fünf und besagt damit, dass der zweite Operand L2 + 1, d.h. sechs Bytes lang ist. Der auf drei gesetzte Wert für Bl besagt, dass die Basisadresse für den Operanden 1 im allgemeinen Register 3 des Arbeitsspeichers erscheint. Im angeführten Beispiel ergibt Bl + Dl eine Gesamt summe von 1049. In ähnlicher Weise sind der Inhalt des allgemeinen Registers 4 zuzüglich der relativen Adresse D2 gleich der Haupttfpeicheradresse des äussersten linken Byte des zweiten Operanden, die im gegebenen Beispiel 513 ist.
Nach Beendigung des Befehls-Abrufeβ stehen in der Zentraleinheit die folgenden Daten an folgenden Stellen :
Stelle ' Inhalt
R, WS (2) - Hauptspeicheradresse des äussersten rechten Byte
des zweiten Operanden. L, M, H, WS (1) Hauptspeicheradresse des äussereten rechten Byte
des ersten Operanden.
PO9-67-Q46 - 14 -
909843/ U53
D zweite Hexadezimalstelle des OP-Code (erste
Stelle ist F). Gl, MD Ll-FeId.
G2, J L2-Feld.
MB Byteadresse des äussersten rechten Byte des ersten
Operanden. LB Byteadresse des äussersten rechten Byte des zweiten
Operanden. WS (9) Hauptspeicheradresse des äussersten linken Byte des
ersten Operanden. WS (A) - Hauptspeicheradresse des äussersten linken Byte des
zweiten Operanden.
Wenn angenommen wird, dass die im allgemeinen Register 3 (durch das Bl-FeId des in Fig. 4 gezeigten Befehls angegebene) Adresse nach Addition zur relativen Adresse Dl den Wert 1049 ergibt, dann steht (siehe Fig. 5) der erste Operand (Dividend) mit seinem ersten Byte darstellungsgemäss an der Stelle 1049 im Hauptspeicher. Die Zeichen "x" in Fig. 5 stellen je ein Byte dar, wobei die vertikalen Linien zwischen je vier Bytes eine Wortgrenze bezeichnen. Die Bits 30 und 31 der Hauptspeicheradresse (Gesamtadresse ist durch Bits 8 bis 31 gegeben) geben eine einzelne Bytestelle in einem gegebenen Wort an. Die Bits 27 bis 29 der Hauptspeicheradresse
PO9-67-046 - 15 -
909843/1453
geben eine einzelne Wortadresse für einen gegebenen ersten Operanden an, da im Beispiel der Dividend in der dezimalen Division auf maximal vier Wörter begrenzt ist..Da jedoch der erste Operand in Form des Dividenden nicht notwendigerweise an einer Wortgrenze beginnen muss, kann sich der maximal vier Wörter lange Operand ge'mäss der Darstellung in Fig. 5 über fünf Wortstellen erstrecken (wie es in dem gewählten Beispiel ja auch der Fall ist), nämlich die Wörter HO--, Hl--, 000--, 001--und 010 --, die durch die Wahl der Wortadresse 27 bis 29 aus den Hauptspeicheradressbits 8-31 definiert sind.
In ähnlicher Weise zeigt Fig. 6 den zweiten Operanden (Divisor), der auf der Speicheradresse 513 beginnt und sich nach rechts über sechs Bytes von dieser Adresse aus erstreckt, d.h. über L2 + 1 Bytes.
Nach Festlegung der Adressen des ersten und zweiten Operanden ist der nächste Verarbeitungsschritt der Abruf der Operanden aus dem Speicher und der Beginn der Verarbeitung. Zuerst wird der zweite Operand abgerufen, wozu drei Abruf gang e notwendig sind, da bei einem Abruf nur jeweils ein Wort aus dem Hauptspeicher geholt werden kann. Obwohl die Verarbeitung durch die Zentraleinheit auf der Basis von einem Byte pro Zeiteinheit erfolgt, wird der ganze zweite Operand abgerufen und im Arbeitsspeicher gespeichert, wo die Bytes je nach Bedarf während der Verarbeitung adressiert werden.
9098A3/US3
PO9-67-046 - 16 -
Die Bytes des ersten Operanden werden je nach Bedarf während der dezimalen Division wortweise zu je einer Zeiteinheit abgerufen. Das Ergebnis, d.h. der Quotient und der Rest, werden im Feld des ersten Operanden gespeichert, wodurch der erste Operand gelöscht und somit die Ursprungsdaten verändert werden, die zu einer erneuten Ausführung der dezimalen Divisions-Instruktion erforderlich wären.
Gemäss der Darstellung in Fig. 7 werden Ll + 1 Datenbytes vom ersten Operanden abgerufen, wobei mit dem äussersten rechten Wort im Datenfeld des ersten Operanden begonnen wird. Da jedes Wort im Operanden durch die Bits 27-29 der Hauptspeicheradressbits <8-31 eindeutig gekennzeichnet wird, holt der erste Abruf die vier Bytes im Wort Hl-- (BinärSchreibweise). Obwohl das vierte Byte eigentlich nicht dazu gehört, muss es während des ersten Abrufes trotzdem geholt werden, da das Abrufen auf Wortbasis, innerhalb von Wortgrenzen erfolgt. Nachdem das Wort Hl-abgerufen worden ist, beginnt die Verarbeitung, und die drei werthohen Bytes des Quotienten werden entwickelt und zur Abrufzeit 2 zur Verfügung gestellt. Da die werthohen Bytes des , Quotienten während'der Verarbeitung des Wortes Hl-- entwickelt wurden, stehen sie zur Speicherung an der Stelle des Wortes HO--zur Verfügung, nachdem dieses Wort während der Abrufzeit 2 ent-
PÖ9-67-046 · . . - 17 -
9098A3/U53
nommcn wurde. Unter Verwendung des Buchstabens Q zur Bezeichnung der gespeicherten Quotientenbytes zeigt die Fig. 8 den Stand des ersten Operandenfeldes nach der Abrufzeit 2. Daraus geht hervor,, dass nach Abruf des Wortes HO-- des ersten Operanden (im zweiten Abruf)im ersten Speichergang die drei werthohen Bytes des Quotienten in das Feld HO-- gespeichert und dadurch die ursprünglichen X-Datenbytes gelöscht werden, die darin standen. In ähnlicher Weise speichert nach dem dritten Abrufgang der zweite Speichergang Q-Bytes in das Feld der Adresse 111--. Nach dem vierten Abruf speichert der dritte Speichergang die übrigen drei Bytes des Quotienten in das Feld des Wortes 000--. Nach dem fünften Abruf wurde das am weitesten rechts stehende Restbyte R entwickelt, und der vierte Speichergang setzt dieses Byte in das Feld des Wortes 010--. Bei Weiterentwicklung der Restbytes speichert der fünfte Speichergang den Rest in das Feld des Wortes 001-- und anschiiessend ersetzt ein sechster
Speichergang das Byte 11 des Wortes 000-- durch das letzte
Restbyte. Die obige Folge von Abruf- und Speichergängen verdeutlicht die Art, in der Ursprungsdaten während der Ausführung einer Dezimaldivision verändert werden. Die Ursprungsdaten werden schon beim ersten Speichergang verändert, und jeder danach auftretende Fehler kann bei den bisher üblichen Systemen durch eine erneute Befehlsausführung nicht mehr korrigiert werden.
9098A3/U53
PO9-67-046 - 18 -
,Die eigentliche Divis ions ope ration mit Abruf- und Speicheroperationen besteht aus den fünf Folgen :
• 1. Abrufen und nach rechts ausrichten des Zahlenwertes
des zweiten Operanden (Divisor) sowie Durchführung bestimmter Prüfungen um festzustellen, ob die Kriterien für eine Division erfüllt sind.
2. Abrufen und ausrichten nach rechte der werthohen Bytes des ersten Operanden (Teildividend) unter Verwendung des am weitesten rechts stehenden. Wortes und Durchführung bestimmter Prüfungen.
3. Komplement-Addition des ausgerichteten Divisors zum vorliegenden Teil des Dividenden bis ein Uebertrag auftritt.
Der MD-Zähler 103 (Fig. 1) zählt die Abzüge. Wenn der Uebertrag auftritt, steht der MD-Zähler auf einem Wert, der um 1 grosser ist als die zu entwickelnde Quotientenziffer.
4. · Echte Addition des ausgerichteten Divisors zum Uebertrags-
ergebnis aus Schritt 3. Der Wert des MD-Zählers wird um die Zahl -1 korrigiert und als Quotientenstelle im äussersten linken Bytefeld des ersten Operanden gespeichert. Falls bereits die letzte Quotientenziffer gespeichert ist, erfolgt direkter Uebergang zu Schritt 5. Wenn die Quotientenziffer - , nicht die letzte ist, wird der Restwert des laufenden Schrittes
PO9-67-046 - 19 -
909843/U53
nach links verschoben ; danach wird auf die Einerstelle des Teildividenden die nächste Ziffer des Dividenden gesetzt, und dann erfolgt Rückgang zu Schritt 3.
' 5. Entwicklung und Speicherung des Quotienten-Vor zeichens.
Anschliessend Speicherung des Restwertes aus Schritt 4 als Rest in die am meisten rechts stehenden Bytes des ersten Operandenfeldes. Dann Rückkehr zum Befehleabruf für einen neuen Befehl.
Bei der Ausführung der oben beschriebenen Dezimaldivision wird das M-Register 211 für die Datenfelder des ersten Operanden und das' H-Register 212 für die Adresse des ersten Operanden im Hauptspeicher benutzt. Der MB-Zähler 102 bestimmt, welches Byte des betreffenden Wortes des ersten Operanden als Teil der laufenden Aueführungeroutine zu verwenden ist, und wenn dieser Zähler gleich Null ist, ist das Wort in der Zentraleinheit eu Ende und ein anderes Wort muss vom Hauptspeicher in der oben erwähnten Abruffolge gerufen werden, bevor die Ausführung weiterlaufen kann. Der Gl-Zähler 376 (Fig. l) zeigt die Anzahl der übrigen noch zu verarbeitenden Bytes im ersten Operandenfeld an. Für den zweiten . Operanden arbeiten der LB-Z&hler 101, der G2-Zähler 377 (Fig. l), das L-Regieter 126 und das R-Register 124 genauso wie der MB-Zähler, der·Gl-Zähler, das M-Register und das Η-Register für Operand
909843/U59
PO9-67-046 -20-
■· ι
Wiederholungseinrichtung
.Die vorliegende Erfindung befasst sich mit einer Wiederholungseinrichtung, die zusätzlich in einem Datenverarbeitungssystem, wie es oben beschrieben wurde, eingebaut wird. Diese Wiederholungseinrichtung gestattet einem derartigen System, die Auswirkungen vorübergehender Fehler zu überwinden und die richtige Ausführung eines Befehls noch einmal zu versuchen, wenn ein Fehler auftritt, auch wenn die Ursprungsdaten bereits geändert sind. Das Problem der Veränderung der Ursprungsdaten schliesst normalerweise den erneuten Versuch einer Befehlsausführung aus. Dieses Problem wird gelöst durch einen Operanden-Rückgriffspeicher und ein Operanden-Rückgriffspeicher-Adressregister (ORS-Adressregister),-wobei der Rückgriff speicher zwar nur relativ klein ist (im· Ausführungsbeispiel nur acht Wörter), aber doch alle Operanden-Ursprungs daten enthält, die während der Ausführung eines Befehls verändert werden können. Wenn keine Fehler auftreten, wird die Systemleistung durch diese Wiederholungseinrichtung nicht herabgesetzt. Falls ein Fehler auftritt, kann die Ausführung eines Befehls wieder versucht werden. Wenn bei der wiederholten Ausführung wieder ein Fehler auftritt, wird einfach eine weitere Ausführung versucht. Diese mehrfach wiederholte Ausführung ist besonders wirksam bei der Ueberwindung relativ langanhaltender vorübergehender Fehler.
PO9-67-Q46 - 21 -
9098A3/U53
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 Wortsteilen im Operanden-Rückgriffspeicher 351 wird vom Operanden-Rückgriffspeicher-Adressregister 354 gesteuert. Das ORS-Adressregister 354 wird durch die Hauptsteuereinheit 11 geladen, und zwar durch die Bits 27-29 der Operandenadresse, die auf der Addiererausgangs leitung. 221 in Verbindung mit der Hauptspeicheradressierung für den ersten Operanden erscheinen.
Wie in Fig. 9 genauer gezeigt,empfängt das ORS-Adressregister die Wortadressbits 27-29 so, wie sie in Verbindung mit dem Grundsystem festgelegt sind. Die Bits 27-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ückgriff speicher 351 wählen. Ueber die Leitung 352 wird dann unter der selben Steuerung, wie sie für das Uebertragen der Wörter des ersten Operanden auf die Addiererau-sgangsleitung verwendet wird, das adressierte Operandenwort an der zugeordneten Wortsteile im Operanden-Rückgriffspeicher gespeichert. Die Steile im Rückgriffspeicher entspricht der Wortadresse des ersten Operanden im Hauptspeicher, wie sie durch
9098A3/U53
PO9-67-046 - 22 - .
die Bits 27-29 der Hauptspeicher-Adresse festgelegt war. Wenn ein Wort richtig (ohne Entdeckung eines Fehlers) im Operanden-Rückgriffspeicher gespeichert worden ist, wird der dieser Wortstelle entsprechende Abruf-Merker 358 eingeschaltet. Wenn eine Speicherung von der Zentraleinheit auf eine Stelle im Hauptspeicher erfolgt, die einer vorher belegten Wortstelle im
Operanden-Rückgriffspeicher 351 entspricht, verhindert der zugeordnete Abruf-Merker 358, wenn er eingeschaltet ist, eine Ver- # ' änderung der Daten im Operanden-Rückgriff speicher 351, schaltet jedoch andererseits gleichzeitig den entsprechenden Speicher-Aenderungs-Merker 359 ein, wodurch angezeigt wird, dass die Ursprungsdaten im Hauptspeicher verändert wurden und der Operanden «Rückgriff speicher die einzige Stelle ist, die die für eine erneute Ausführung des Befehle erforderlichen Ursprungedaten des Operanden enthält.
Ausser dem Operanden-Rückgriffspeicher 351 und den dazugehörigen Schaltungen enthält das hier beschriebene System noch ein Befehlsadress-Rückgriffregister 366, das ebenfalls in Fig. dargestellt is-t. Dieses Befehlsadress-Rückgriffregister 366 enthält .' jeweils nur die Adresse des Befehls/ der gerade ausgeführt wird, bis feststeht, dass die Ausführung fehlerfrei war* Das Befehls-
PO9-67-046 - 23 -
adreesregister 218 wird während der normalen Verarbeitung gemäss obiger Beschreibung schon auf den neuesten Stand gebracht, bevor die Ausführung eines Befehls beendet ist, und enthält dann nicht mehr die Adresse des gerade ausgeführten Befehls. Aus diesem Grund kann man nicht auf den ersten Abruf zurückkehren ohne Hilfe des Befehlsadress -Rückgriff register β 366 oder einer Ähnlichen Einrichtung, mit der das Befehlsadressregister vor der wiederholten Ausführung eines Befehls geladen werden kann. Wenn die Hauptsteuereinheit 11 im Wiederholungsbetrieb läuft, leitet die Folgesteuereinheit 302 den Inhalt des Befehlsadress -Rückgriffregisters 366 zum entsprechenden Zeitpunkt vor dem ersten Abruf auf das Befehlsadressregister 218. Die Rückspeicherung der Befehlsadresse aus dem Befehlsadress-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önnnen die einzelnen Bytes innerhalb dieses Feldes, die' eventuell verändert wurden, bezüglich der nacheinander folgenden Speicheradressen auseerhalb der Reihenfolge liegen (z.B. bei der oben angeführten Dezimaldivis on). Auf der anderen Seite hat das Befehlsadress-Rückgriffregister 366 nur ein Feld, das immer auf dieselbe Stelle Übertragen wird und vor einer wiederholten Aucführung immer neu eingespeichert werden musc.
9098A3/U53
PO9-67-046 -24*
«IS
In Fig. 2 sind weitere zusätzliche Rückgriffschaltungen gezeigt für Teile der Steuereinheit, die während der normalen ■ Ausführung eines Befehls oder bei Entdeckung «ines Fehlers verändert werden. So gehört z.B. zum Programm-Statuswort-Register 304 (PSW) ein Rückgriffregister 370 zur Speicherung der Bedingung8codebits 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. Ausserdem gibt die Fehlererkennungsschaltung 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, sodass eine Wiederholung eingeleitet werden kann. Ausserdem schaltet die Decodierschaltung 310 einen Ursprungsdaten-Aenderungsmerker 374 ein, sobald Ursprungsdaten verändert werden, wobei es keine Rolle spielt, bei welcher Funktion dea Datenverarbeitungssystems das geschah. Der UD-Aenderungsmerker 374 kann also einerseits durch die Decodier schaltung 310 eingeschaltet werden ; kann aber andererseits für die Zwecke der vorliegenden Erfindung auch durch
909843/1459
PO9-67-046 - 25 -
t
ι
ODER-Verknüpfung der Inhalte aller Speicher-Aenderungsmerker' 359 (Fig. 9) eingeschaltet werden. Während des Versuches der wiederholten Ausführung eines Befehls wird das Ausgangssignal des Ursprungsdaten-Aenderungsmerkers 374 als Signal zur Verzweigung zu einer Rückspeicherroutine verwendet. Durch eine besondere im Festspeicher 307 erscheinende Rückspeicherbefehlsfolge werden dann die im Operanden-Rückgriffspeicher 351 erscheinenden Daten neu in den Hauptspeicher gespeichert.
Die im Grundsystem vorhandene Betriebsartenwahlschaltung 375 . gestattet die Wahl der Eingabe-/Ausgabe-Betriebsart oder der zentralen Betriebsart. Im hier beschriebenen Ausführungsbeispiel der Erfindung spricht diese Wahlschaltung 375 auch noch auf ein Signal der Fehlererkennungsschaltung 305 an zur Wahl der Wiederholungs-Betriebeart ; womit die Steuerung zusammenhängt, in welcher Art die im Festspeicher-Datenregister 309 stehenden Wörter durch die Decodierschaltung 310 decodiert werden. Die Wahlschaltung 375 kann ein einfacher Dreiwegschalter sein, der ein Signal über die Leitungen 380 zur Decodierschaltung 310 gibt. Die wiederholte Ausführung eines Befehls wird bei einer Fehlerfettctellung so gewählt, da··'eine Adresse von lauter Nullen
PO9-67-046 - 26 -
9098A3/U53
(die Adresse des ersten Wortes der Wiederholungssequenz) in das Festspeicher-Adressregister 308 geladen wird. Diese Adresse von lauter Nullen wird dadurch erzwungen, dass 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 dass die Eingangs signale 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 PSWrRegister 304, die Allgemeinstätus-Merker 303 und das Befehlsadressregister 218 neu zu laden. Diese und ähnliche Operationen erfolgen in bekannter Weise und werden deswegen nicht näher beschrieben.
Operations ablauf mit Rückgriffspeicher
Im Normalbetrieb wird der zweite Operand (siehe Fig. 6) nach dem Befehlsabruf vom Hauptspeicher 12 in den Arbeitsspeicher Übertragen. Nach Abruf des zweiten Operanden wird das Wort Hl-des ersten Operanden (siehe Fig, 5) im Hauptspeicher 12 adressiert,
PO9-67-046 · - 27 -
9G98A3/H59
indem die 24-Bit-Speicheradresse dieses Wortes aus dem H-Register 212 über den Addierer 210 unverändert auf den Addiererausgangspuffer 217 geleitet wird. Diese Wortadresse wird dann über die Addiererausgangs leitung 221 auf das Speicheradreseregister 90 geleitet. Die Bits 27-29 der 24-Bit-Speicheradresse werden ebenfalls auf das Operanden-Rückgriffspeicher-Adressregister 354 geleitet. Das alles geschieht unter Steuerung der Folgesteuereinheit 302 in der Haupt- Steuereinheit 11. Wenn die Adresse des ersten Operanden für das Wort Hl-- im SAR 90 steht, liest der Hauptspeicher 12 dieses Wort auf das Speicherdatenregister 91, von wo es über die Schaltung 216 auf den Addiererausgangspuffer 217 übertragen wird. Von dort Wird dieses Wort des ersten Operanden normalerweise auf das- L-Register 126 übertragen. In der vorliegenden Erfindung wird es ausserdem über die Addiererausgangeleitung 221 auf den Operanden-Rückgriffspeicher 351 übertragen. Wie in Fig. 7 und Fig. 9 gezeigt, setzt der Abruf 1 das Wort IH-- in die letzte Wortposition des Rückgriffspeichere 351, da die achte Torschaltung 356 eingeschaltet wurde bei der Decodierung der Bits 27-29, die beim Laden des SAR 90 auch in das Operanden-Rückgriff speicher -Adressregister 354 (siehe Fig. 9) gebracht wurden. Wenn das Wort. Hl-- richtig abgerufen und im Operanden-Rückgriff speicher 351 gespeichert wurde, wird der zugehörige Abruf-Merker 358 eingeschaltet und zeigt damit an, da·· der Abruf 1 beendet ist.
90-9843/1459
PO9-6<7-046 - 28 -
Nach dem ersten Abruf beginnt die Zentraleinheit mit der Verarbeitung der dezimalen Division und bildet die werthohen • Quotientenbytes als Ergebnis der Verarbeitung des Wortes Hl-des ersteh Operanden mit dem Divisor (zweiter Operand). Nachdem die drei Bytes aus dem Wor.t Hl-- 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 > h&miieh des Wortes HO--, auf den neuesten Stand gebracht*
Wenn der MB-Bytez-ähler 102 anzeigt, dass alle Bytes im Wort Unverarbeitet lind, wird der zweite Abruf eingeleitet, indem die neue Adresse im H-Register 212 auf die Addiererausgangsieitung 221 • und dann auf daä SAR 90 gelesen wird, um das Wort HO-- im Hauptspeicher 12 zu adressieren. Wenn diese Adresse auf der Addierefausgahgsleitüng erscheint, werden unter Steuerung der Fölgesteuereinheit 302 die Bits 27-29 in das Operanden-Rückgriffspeieher-Adresäregister 354 übertragen. Genau wie beim ersten ABfüfgäng Wird das Wort 110-- auf das SDR ausgelesen, und zwar über den Addiereräüsgangspuffer 270 und die Addiererausgangsleitung IU, iöwU auf das L-Register 126. Gleichzeitig mit dem . Ufebeitfäg auf Sie Addiererausgangsleitung wird das Wort 110--äuf die Wbftpösition h de« Rückgriff Speichers 351 gesetzt. Nachdem
909843/U59
SAD ORIGINAL
das Wort HO-- abgerufen ist; werden die werthohen Quotienten - , bytes vom M-Register unverändert über den 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 des Wortes HO-- 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-Aenderungsmerker 359 eingeschaltet und dadurch angezeigt, dass das Wort HO-- im Operanden-Rückgriff speicher jetzt die einzige Quelle der Ursprungsdaten ist, die nötigenfalls für eine wiederholte Aueführung des Befehle 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-Merkör 358 und die Speicher-Aenderungsmerker werden dabei zu den entsprechenden Zeitpunkten eingeschaltet.
Beim ersten Speichergang wird der in Fig. 2 dargestellte Ursprungsdaten-Aenderungsmerker 374 eingeschaltet und dadurch angezeigt, . dass der Befehl nicht noch einmal ausgeführt werden kann, ohne dass der Hauptspeicher 12 mit den Operanden neu geladen wird, die im Rückgriff speicher 351 stehen und deren zugehörige Speicher-Aenderungsmerker 359 eingeschaltet sind.
«AU ORIGINAL PO9-67-046 ι - 30 -
Wenn zu irgendeinem Zeitpunkt nach Beginn der Verarbeitung ein Fehler auftritt, sperrt die in Fig. 2 gezeigte Fehlererkennungsschaltung 305 den Taktgeber der Zentraleinheit über die Leitung 373 während eines Zyklus der Zentraleinheit und gibt ein Signal auf die Betriebsartenwahlschaltung 375, die eine Adresse einer Wiederholungs-Befehlsfolge im Festspeicher 307 auf das Festspeicher-Adressregister 308 gibt. Bei dieser Wiederholungsfolge werden u.a. die Allgemeine tatus-Merker 303, das PSW-Register m 304 und das Befehlsadress.register 218 aus deren Rückgriffregistern neu geladen. Danach verzweigt diese Wiederholungsbefehlsfolge im Festspeicher zurück zum Befehlsabruf und beginnt die Befehlsausführung noch einmal. Während des zweiten Schrittes des Befehls -Abrufes wird der UrSprungsdaten-Aenderungs-Merker 374 abgefragt, und wenn dieser eingeschaltet ist, verursacht die Befehlsfolge im Festspeicher 308 eine Verzweigung zu einer Rückspeicherroutine. Diese Rückspeicherroutine verwendet die Hauptspeicheradresse des ersten Operanden zum Rückspeichern dieses Operanden aus dem Operanden-Rückgriffspeicher 351 in den Hauptspeicher 12. Beginnend mit der Wortadresse HO-- wird die 24-Bit-Adresse des Hauptspeichere, so wie sie während des Befehls-Abrufes aus der Summe von Bl + Dl errechnet würde, über die Addiereraus gangs leitung auf das Speicheradressregister geleitet, deich-
909843/1459
PO9-67-046 - 31 -
zeitig worden die Adressbits 27-29 des Wortes HO-- in das Operanden-Rückgriffspeicher-Adressregister 354 gesetzt • und dadurch das siebte Wort im Speicher 351 gewählt. Alle erwähnten Operationen laufen natürlich unter der Festspeicher-Folgesteuerung. Wenn der mit der Wortposition HO-- verbundene Merker 359 eingeschaltet ist, wird das Wort HO-- des ereten Operanden vom Rückgriffspeicher 351 über die Schaltung 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, sodass als nächstes das Wort 111 — aus dem Operanden-Rückgriff speicher 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 Hauptspeicher daten 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, dadieDezimaldivisionsoperanden über höchstens fünf Wörter verteilt sind. Beginnend mit dem werthohen Wort, in diesem.Fall dem Wort HO-- laufen die Wortadreesen weiter über Hl-- bis 010--.
909843/U59
PO9-67-046 - 32 -
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-Adressregister zusammen mit invertierenden Schaltungen 360 und 361 derart benutzt wird, dass 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 Decodiersehaltung 310 der Folgesteuereinheit 302 z.B. bei der Ausführung von Gleitkommaoperationen ausgelöst.
Im beschriebenen Ausführungsbeispiel hatte der Operanden-Rückgriffspeieher eine Kapazität von acht Wörtern. Die Grosse dieses Speichers hängt natürlich von der Grosse der Operanden ab und muss nötigenfalle genauso entsprechend erweitert werden, wie die Ansaht der Bits im augehörigen Operanden-Rückgriff speicher-Adressregister 354, öle in Fig. 2 in Blöcken dargestellte Foigesteuereinheit 30£ 4er Hauptsteuereinheit 11 ist im Ausführungsbeispiel als F «st spei ehe» mit zugehöriger Schaltung beschrieben, kann jedoch ebenso auch ein sequentielles VerknüpfungsneUwerk sein.
9-0.9*43/14*9
PO9-67-046 · - 33 -
In die in Fig. 2 gezeigte Steuerschaltung kann ein Fehlerzähler 392 eingebaut werden, der die Anzahl der durch die Fehlerer -kennungsschaltung 305 festgestellten Fehler zählt. Bei einem bestimmten Zählerstand kann die Steuerung zu einer Fehleranalyseroutine verzweigen oder anderweitig die Versuche stoppen, den laufenden Befehl wiederholt auszuführen. Zum Fehlerzähler gehört eine Rückstelleitung 393, die den Zähler nach erfolgreicher Ausführung eines Befehle auf Null zurückstellt.
PO9-67-046 - 34 -
909843/1453

Claims (8)

  1. PATENTANSPRÜCHE
    !.Datenverarbeitungsanlage mit Verarbeitungseinrichtungen, Steuereinrichtungen, einem Hauptspeicher und Fehlererkennungseinrichtungen, wobei· die Steuereinrichtungen bei Feststellung eines Fehlers eine erneute Ausführung des laufenden Befehls bewirken, dadurch gekennzeichnet, dass ein Operanden-Rückgriff speicher (351) vorgesehen ist, in den Operandendaten geladen werden, die einerseits zur Ausführung eines Befehls den Verarbeitungseinrichtungen ( 124, 126, 210, 212, 213) vom Hauptspeicher (12) aus zugeführt werden und die andererseits im Hauptspeicher während der Befehlsausführung verändert werden können, und dass, nach Feststellung eines Fehlers, für die wiederholte Ausführung des laufenden Befehls mindestens die Operandendaten aus dem Operanden-Rückgriff speicher in den Hauptspeicher zurückübertragen werden, die während des erfolglosen Versuchs der Befehlsausführung im Hauptspeicher verändert worden sind.
    - 35 -
    909843/U53
    PO 067 046
  2. 2. Datenverarbeitungsanlage nach Anspruch 1, dadurch gekennzeichnet, dass ein Operanden-Rückgriffspeicher-Adressierregister (354) zur Adressierung einzelner Speicherplätze im Operanden-Rückgriffspeicher (351) vorgesehen ist, und dass bei der Entnahme von Operandendaten aus dem Hauptspeicher (12), die auch in den Operanden-Rückgriffspeicher geladen werden müssen, eine aus der Hauptspeicheradresse abgeleitete Adresse in das Operanden-Rückgriff Speicher-Adressregister geladen wird derart, dass eine eindeutige Zuordnung zwischen Operanden-Rückgriff Speicherplätzen und Hauptspeicherplätzen erfolgt, so dass später wieder benötigte Operandendaten aufgrund der Hauptspeicheradresse und mit Hilfe des Operanden-Rückgriff Speicher-Adressregisters im Operanden-Rückgriff speicher aufgefunden und in den Hauptspeicher an ihren ursprünglichen Platz zurückübertragen werden können.
  3. 3. Datenverarbeitungsanlage nach den Ansprüchen 1 und 2, dadurch gekennzeichnet, dass für die Benutzung des Operanden-Rückgriffspeichers (351) jeweils bestimmte Adressbits der gerade benutzten Operanden-Hauptspeicheradresse automatisch in das Operanden-Rückgriff Speicher-Adressregister (354) geladen werden.
    - 36 -
    909843/U53
    PO 967 046
  4. 4. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 3, dadurch gekennzeichnet, dass zu jedem Speicherplatz im Operanden-Rückgriff Speicher (351) ein Speicher-Anderungsmerker (359) vorgesehen ist, der gesetzt wird, sobald während der Ausführung eines Befehls die Operandendaten im jeweils zugeordneten Speicherplatz des Hauptspeichers (12) verändert werden, und dass nach Feststellung eines Fehlers für einen erneuten Versuch einer Ausführung des laufenden Befehls nur aus denjenigen Speicherplätzen des Operanden-Rückgriffspeiehers Daten in die zugeordneten Speicherplätze des Hauptspeichers zurückübertragen werden, für die der betreffende Speicher-Änderungsmerker gesetzt ist.
  5. 5. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 4, dadurch gekenneeichnet, dass zu jedem Speicherplatz des Operanden-Rückgriffspeichers (351) ein Abruf-Merker (358) vorgesehen ist, der gesetzt wird, sobald Operandendaten, die aus dem Hauptspeicher abgerufen und den Verarbeitungseinrichtungen zugeführt werden, ausserdem in den betreffenden Speicherplatz des Operanden-Rückgriff speichere geladen werden.
  6. 6. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 5, dadurch gekennzeichnet, dass ein Ursprungsdaten-Anderungsmerker (374) vorgesehen ist, der gesetzt wird, sobald im Verlauf der Ausführung
    909843/U59
    - 37 -FO ·Ι67 04Θ
    eines Befehls im Hauptspeicher (12) Operandendaten, die für diesen Befehl benutzt wurden, verändert werden, und dass nach Feststellung eines Fehlers beim erneuten Versuch einer Ausführung des laufenden Befehls nur dann Operandendaten aus dem Operanden-Rückgriff speicher (351) zum Hauptspeicher zurückübertragen werden, wenn der Ursprungsdaten-Änderungsmerker gesetzt ist.
  7. 7. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 6, dadurch gekennzeichnet, dass zu einem Befehlsadressregister (31), in das jeweils die Adresse des nächsten,, dem Hauptspeicher zu entnehmenden Befehls geladen wird, ein Befehlsadress-Rückgriffregister (366) vorgesehen ist, in das die Adresse des jeweils gerade ausgeführten Befehls geladen und in welchem sie solange gehalten wird, bis festgestellt ist, dass der Befehl fehlerfrei ausgeführt wurde, derart, dass nach der Feststellung eines Fehlers zum Zwecke der erneuten Entnahme und Ausführung des laufenden Befehls dessen Adresse vom Befehlsadress-Rückgriffregister in das Befehlsadressregister übertragen werden kann.
  8. 8. Datenverarbeitungsanlage nach den Ansprüchen 1 bis 7, dadurch gekennzeichnet, dass ein Fehler zähler (392) vorgesehen ist, der vor Beginn des ersten Versuchs der Ausführung eines Befehls auf Null
    - 38 -
    909843/U53
    PO 967 046
    zurückgestellt wird, und der bei Feststellung eines Fehlers, der zu einem erneuten Versuch der Befehlsausführung führt, jedes-' mal um eine Einheit erhöht wird, und dass bei Erreichung eines bestimmten Zählerstandes von den Steuereinrichtungen kein erneuter Versuch zur Ausführung des laufenden Befehls veranlasst, sondern eine zusätzliche Operation eingeleitet wird.
    909843/U53
    - 39 -
    PO 967 046
    Leerseite
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 true DE1901297A1 (de) 1969-10-23
DE1901297B2 DE1901297B2 (de) 1976-12-23
DE1901297C3 DE1901297C3 (de) 1977-08-11

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2492132A1 (fr) * 1980-10-09 1982-04-16 Nippon Electric Co Systeme de redressement d'erreur d'un systeme a multiprocesseurs pour un redressement d'erreur par transfert de signaux d'etat d'un processeur a un autre processeur sans utilisation d'une memoire

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2492132A1 (fr) * 1980-10-09 1982-04-16 Nippon Electric Co Systeme de redressement d'erreur d'un systeme a multiprocesseurs pour un redressement d'erreur par transfert de signaux d'etat d'un processeur a un autre processeur sans utilisation d'une memoire

Also Published As

Publication number Publication date
NL6900494A (de) 1969-07-17
FR1604085A (de) 1971-07-05
US3533082A (en) 1970-10-06
BE725194A (de) 1969-05-16
DE1901297B2 (de) 1976-12-23
ES361853A1 (es) 1970-11-01
SE341483B (de) 1971-12-27
CH479118A (de) 1969-09-30
GB1182030A (en) 1970-02-25

Similar Documents

Publication Publication Date Title
DE1901228C3 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2364408C3 (de) Schaltungsanordnung zur Adressierung der Speicherplätze eines aus mehreren Chips bestehenden Speichers
DE2318069C2 (de) Mikroprogrammierte Rechenanlage mit Erweiterung von Steuerfunktionen mittels festverdrahteter logischer Matrix
DE1151397B (de) Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen
DE3131341A1 (de) &#34;pufferspeicherorganisation&#34;
DE2515696A1 (de) Anordnung zum selektiven loeschen von teilen beziehungsweise zum ersatz von daten in einem cache-speicher
DE2619159A1 (de) Fehlererkennungs- und korrektureinrichtung
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE2721319A1 (de) Einrichtung zur selbsttaetigen aenderung der prozessor/speicher-konfiguration
DE2331589A1 (de) Datenverarbeitungsanordnung
DE1499200A1 (de) Datenverarbeitungsanlage mit vorranggesteuerter Programmunterbrechung
DE2646162B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE1275800B (de) Steuerwerk fuer datenverarbeitende Maschinen
DE2151472A1 (de) Mikroprogrammspeicher fuer Elektronenrechner
EP0010186B1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE2400064A1 (de) Speicherpruefanordnung und diese verwendendes endgeraetsystem in einem datenverarbeitungssystem
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE2054830B2 (de) Informationsverarbeitungsanlage mit mitteln zum zugriff zu speicher-datenfeldern variabler laenge
DE3043653A1 (de) Datenverarbeitungsanlage
DE1909090C3 (de) Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage
DE1524788B2 (de) Schaltungsanordnung zum erkennen und zum automatischen ersetzen von schadhaften speicherstellen in datenspeichern
DE2554502B2 (de)
DE2513262A1 (de) Digitale codeumwandlungsanordnung
DE1296429B (de) Datenbearbeitungsanlage
DE1901297A1 (de) Datenverarbeitungsanlage mit Steuereinrichtungen,die bei Feststellung eines Fehlers eine erneute Ausfuehrung des laufenden Befehls bewirken

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
E77 Valid patent as to the heymanns-index 1977
8339 Ceased/non-payment of the annual fee