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 bewirkenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
Description
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.
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
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
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
Stelle ist F).
Gl, MD Ll-FeId.
G2, J L2-Feld.
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-
■· ι
.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.
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)
- 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/U53PO 067 046
- 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. 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/U53PO 967 046
- 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. 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. 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ührung909843/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. 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. 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/U53PO 967 046zurü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 046Leerseite
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)
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)
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) | "pufferspeicherorganisation" | |
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 |