Nothing Special   »   [go: up one dir, main page]

DE3650651T2 - Fehlertolerantes Datenverarbeitungssystem - Google Patents

Fehlertolerantes Datenverarbeitungssystem

Info

Publication number
DE3650651T2
DE3650651T2 DE3650651T DE3650651T DE3650651T2 DE 3650651 T2 DE3650651 T2 DE 3650651T2 DE 3650651 T DE3650651 T DE 3650651T DE 3650651 T DE3650651 T DE 3650651T DE 3650651 T2 DE3650651 T2 DE 3650651T2
Authority
DE
Germany
Prior art keywords
data
index register
instruction
bus
registers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3650651T
Other languages
English (en)
Other versions
DE3650651D1 (de
Inventor
Rolfe Douglas Armstrong
Victor Frank Cole
John Michael Corcoran
Chiman Revabhai Patel
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.)
NCR International Inc
Original Assignee
NCR International Inc
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 NCR International Inc filed Critical NCR International Inc
Publication of DE3650651D1 publication Critical patent/DE3650651D1/de
Application granted granted Critical
Publication of DE3650651T2 publication Critical patent/DE3650651T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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
    • 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
    • G06F11/1608Error detection by comparing the output signals of redundant hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Description

    Technisches Gebiet
  • Diese Erfindung bezieht sich auf fehlertolerierende Datenverarbeitungssysteme.
  • Die Erfindung bezieht sich auch auf ein Verfahren zum Steuern des Betriebs eines fehlertolerierenden Datenverarbeitungs systems.
  • Stand der Technik
  • Ein fehlertolerierendes Datenverarbeitungssystem der beschriebenen Art ist aus den U.S. Patent Nr. 4,453,215 bekannt. Gemäß dem bekannten System weisen Informations- Verarbeitungsteile des Systems einen Duplikatpartner auf. Fehlererfassungseinrichtungen prüfen den Betrieb des Systembusaufbaus und von jeder Systemeinheit, um Informationsübertragungen nur auffehlerfreien Busleitern und zwischen fehlerfreien Einheiten vorzusehen.
  • Offenbarung der Erfindung
  • Eine Aufgabe der vorliegenden Erfindung besteht darin, ein fehlertolerierendes Datenverarbeitungssystem der beschriebenen Art zu schaffen, bei dem die Datenintegrität während des Ausführens von Systembefehlen beibehalten werden kann.
  • Daher wird gemäß einem Aspekt der vorliegenden Erfindung, wie dies in Anspruch 1 bestimmt ist, vorgesehen: Ein fehlertolerierendes Datenverarbeitungssystem, umfassend eine Verarbeitungseinrichtung zum Ausführen von Befehlen, wobei die Verarbeitungseinrichtung eine Indexregisterspeichereinrichtung zum Speichern von Kopien modifizierbarer Indexregister umfaßt, die beim Ausführen von Befehlen durch die Verarbeitungseinrichtung verwendbar sind; eine Hauptspeichereinrichtung, die Speicherstellen zum Speichern modifizierbarer Indexregisterdaten der Indexregister umfaßt; und eine Datenbuseinrichtung, die zwischen die Verarbeitungs einrichtung und die Hauptspeichereinrichtung zum Übermitteln von Indexregisterdaten zwischen diesen geschaltet ist, gekennzeichnet durch eine Vielzahl von Datenspeicherregistern, die bei Speicherstellen angeordnet sind, wobei jede der Speicherstellen zwei Datenspeicherregister aufweist, eines zum Speichern ursprünglicher Indexregisterdaten und eines zum Speichern modifizierter Indexregisterdaten; eine Gültigkeitsanzeigeeinrichtung, die mit der Vielzahl von Datenspeicherregistern zum Bestimmen verbunden ist, welches der Datenspeicherregister bei jeder der Speicherstellen ursprüngliche Indexregisterdaten enthält und welches modifizierte Indexregisterdaten enthält; und eine Eingabe-Ausgabe-Einrichtung, die auf die Gültigkeitsanzeigeeinrichtung anspricht und zwischen die Datenbuseinrichtung und die Vielzahl von Datenspeicherregistern geschaltet ist, wobei die Eingabe-Ausgabe- Einrichtung zum Schreiben modifizierter Indexregisterdaten von der Datenbuseinrichtung zu jenen Datenspeicherregistern, die durch die Gültigkeitsanzeigeeinrichtung bestimmt sind, ausgelegt ist, so daß sie während einer Befehlsausführung durch die Verarbeitungseinrichtung modifizierte Indexregisterdaten enthalten, und ausgelegt ist, ursprüngliche Indexregisterdaten von jenen Datenspeicherregistern zur Datenbuseinrichtung zu lesen, die durch die Gültigkeitsanzeigeeinrichtung bestimmt sind, während sie ursprüngliche Indexregisterdaten während einer Wiederholungsoperation der Verarbeitungseinrichtung enthalten, und wobei die Eingabe-Ausgabe-Einrichtung einen Zähler zum aufeinanderfolgenden Zählen der Speicherstellen, von denen die Daten zu lesen sind, und eine Zugriffseinrichtung umfaßt, die zum Zugreifen auf jede der Speicherstellen in Erwiderung auf den Zählwert des Zählers mit dem Zähler verbunden ist.
  • Gemäß einem anderen Aspekt der Erfindung, wird, wie dies in Einzelheiten in Anspruch 7 bestimmt ist, vorgesehen: Ein Verfahren zum Steuern des Betriebs eines fehlertolerierenden Datenverarbeitungssystems, gekennzeichnet durch die Schritte: Ausführen von Befehlen und Durchführen von Wiederholungsoperationen mit einem Prozessor; Speichern modifizierbarer Inhalte eines Indexregisters in dem Prozessor für eine Anwendung bei den Befehlsausführungen; Speichern ursprünglicher Indexregisterinhalte und modifizierter Indexregisterinhalte in einer Vielzahl paarweise angelegter Datenspeicherregister, die in Speicherstellen angeordnet sind, während aufeinanderfolgender Befehlsausführungen; aufeinanderfolgendes Zählen der Speicherstellen und Zugreifen auf jede der Speicherstellen in Erwiderung auf den Zählwert und Anzeigen in einer Vielzahl zugehörender Gültigkeitsanzeigeeinrichtungen, welches der paarweisen Datenspeicherregister die ursprünglichen Indexregisterinhalte bei jeder Speicherstelle enthält; und Übertragen der ursprünglichen Datenregisterinhalte von jeder der Speicherstellen zu dem Prozessor, der auf die Anzeige der Gültigkeitsanzeigeeinrichtung entsprechend zu der Speicherstelle anspricht, während einer Wiederholungsoperation.
  • Kurze Beschreibung der Zeichnungen
  • Ein Ausführungsbeispiel der vorliegenden Erfindung wird nun beispielsweise unter Bezug auf die beiliegenden Zeichnungen beschrieben, bei denen:
  • Fig. 1 ein Blockdiagramm eines Datenverarbeitungssystems für einen allgemeinen Zweck ist, das die vorliegende Erfindung umfaßt;
  • Fig. 2 ein Blockdiagramm ist, das eines der Zentralprozessor-Untersystemmodule der Fig. 1 darstellt;
  • Fig. 3 ein Blockdiagramm eines NEAT-Unterstützungschips der Fig. 2 ist;
  • Fig. 4 ein Blockdiagramm von einem der beschreibbaren Steuer-Speichermodule der Fig. 1 darstellt;
  • Fig. 5 ein Blockdiagramm eines Teils des Datensicherungsmoduls der Fig. 1 zum Vergleichen primärer und sekundärer Daten ist;
  • Fig. 6 ein Blockdiagramm eines anderen Teils des Datensicherungsmoduls der Fig. 1 zum Vergleich primärer und sekundärer Adressen ist;
  • Fig. 7 ein Blockdiagramm von noch einem anderen Teil des Datensicherungsmoduls der Fig. 1 zum Vergleichen von Adressen und Mikroanweisungen der Anweisungsspeichereinheit ist;
  • Fig. 8A und 8B, wenn sie längs Linie a-a verbunden werden, ein schematisches Diagramm einer Taktverteilungsschaltung des Virtuellbefehl-Wiederholungsmoduls der Fig. 1 ausbilden;
  • Fig. 9 ein schematisches Diagramm eines Registers zum Empfangen von Eingangssignalen für das Virtuellbefehl- Wiederholungsmodul ist;
  • Fig. 10 ein schematisches Diagramm eines Teils des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls darstellt;
  • Fig. 11 ein schematisches Diagramm eines anderen Teils des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls zeigt;
  • Fig. 12A und 12B, längs Linie b-b miteinander verbunden, ein schematisches Diagramm eines anderen Teils des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls darstellen;
  • Fig. 13 eine Abbildung ist, die die Beziehung der Fig. 13A, 13B und 13C darstellt, die, wenn sie zusammengenommen werden, ein schematisches Diagramm eines Zustandsregisters des Virtuellbefehl-Wiederholungsmoduls ausbilden;
  • Fig. 14A und 14B, längs Linie c-c miteinander verbunden, ein schematisches Diagramm eines Dateneingaberegisters des Virtuellbefehl-Wiederholungsmoduls ausbilden;
  • Fig. 15 ein Invertierer ist, der einen Teil des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls ausbildet;
  • Fig. 16 eine Abbildung ist, die die Beziehung der Fig. 16A, 16B, 16C und 16D darstellt, die zusammengenommen ein schematisches Diagramm eines Datenausgaberegisters des Virtuellbefehl-Wiederholungsmoduls ausbilden;
  • Fig. 17 ein NAND-Gatter ist, das ein Teil des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls ist;
  • Fig. 18 ein schematisches Diagramm eines Multiplexers einer Abrufregistrierung des Virtuellbefehl-Wiederholungsmoduls ist;
  • Fig. 19 ein schematisches Diagramm einer Vergleichereinrichtung der Abrufregistrierung des Virtuellbefehl-Wiederholungsmoduls darstellt;
  • Fig. 20A und 20B längs Linie d-d verbunden, ein schematisches Diagramm eines Teils eines Zählers der Abrufregistrierung des Virtuellbefehl-Wiederholungsmoduls ausbilden;
  • Fig. 21A und 21B, längs Linie e-e verbunden, ein schematisches Diagramm eines anderen Teils des Zählers der Fig. 20A und 20B ausbilden;
  • Fig. 22 ein schematisches Diagramm eines Teils des Speichers der Abrufregistrierung des Virtuellbefehl Wiederholungsmoduls ist;
  • Fig. 23 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 22 darstellt;
  • Fig. 24 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 22 darstellt;
  • Fig. 25 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 22 zeigt;
  • Fig. 26 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 22 ist;
  • Fig. 27 ein schematisches Diagramm eines Teils des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls darstellt;
  • Fig. 28A und 28B, längs Linie f-f verbunden, ein schematisches Diagramm einer Dekodiererschaltung zum Dekodieren einer Adresse für eine Anwendung durch eine Indexregisterregistrierung des Virtuellbefehl Wiederholungsmoduls ausbilden;
  • Fig. 29A und 29B, längs Linie g-g verbunden, ein schematisches Diagramm eines Teils der Flipflops für ein gültiges Bit und ein modifiziertes Bit der Indexregisterregistrierung des Virtuellbefehl- Wiederholungsmoduls ausbilden;
  • Fig. 30A und 30B, längs Linie h-h verbunden, ein schematisches Diagramm eines anderen Teils der Flipflops der Fig. 29A und 29B ausbilden;
  • Fig. 31 ein schematisches Diagramm eines Teils des Speichers der Indexregisterregistrierung des Virtuellbefehl-Wiederholungsmoduls darstellt;
  • Fig. 32 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 1 ausbildet;
  • Fig. 33 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 31 ist;
  • Fig. 34 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 31 zeigt;
  • Fig. 35 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 31 darstellt;
  • Fig. 36A und 36B, längs Linie i-i verbunden, ein schematisches Diagramm eines anderen Teils des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls ausbilden;
  • Fig. 37 eine Widerstandsanordnung des Steuerschaltkreises des Virtuellbefehl-Wiederholungsmoduls ist;
  • Fig. 38A und 38B, längs Linie j-j verbunden, ein schematisches Diagramm eines Zählers einer Verfolgungsregistrierung des Virtuellbefehl- Wiederholungsmoduls ausbilden;
  • Fig. 39 ein schematisches Diagramm eines Teils des Speichers der Verfolgungsregistrierung des Virtuellbefehl- Wiederholungsmoduls darstellt;
  • Fig. 40 ein schematisches Diagramm eines anderen Teils des Speichers der Fig. 39 darstellt;
  • Fig. 41A und 41B, längs Linie k-k verbunden, ein schematisches Diagramm eines Treibers der Verfolgungsregistrierung des Virtuellbefehl- Wiederholungsmoduls ausbilden;
  • Fig. 42 ein Flußdiagramm zum Programmieren für einen Zentralprozessorchip der Fig. 2 darstellt, um einen virtuellen Befehl vorzubereiten und zu emulieren;
  • Fig. 43 ein Flußdiagramm zum Programmieren für einen NEAT- Hilfschip der Fig. 2 darstellt, um einen virtuellen Befehl vorzubereiten und zu emulieren; und
  • Fig. 44A und 44B, bei Verbindungen A und B miteinander verbunden, ein Flußdiagramm zum Bewirken einer Wiederholungsoperation ausbilden.
  • Beste Art und Weise zum Ausführen der Erfindung
  • Fig. 1 ist ein Blockdiagramm eines Datenverarbeitungssystems für einen allgemeinen Zweck, das die vorliegende Erfindung einschließt und ein Virtuellbefehl-Prozessoruntersystem 10, ein Ein-/Ausgabe- (I/O)-Untersystem 12 und ein Speicher-Untersystem 14 umfaßt. Die Subsysteme 10, 12 und 14 sind weiter in Module aufgeteilt, wobei bestimmte Module dupliziert sind, um eine Datenintegrität bzw. -sicherung und Befehlswiederholungsbzw. Befehlswiederversuch-Möglichkeiten des Datenverarbeitungssystems zu schaffen, wie erläutert wird. Ein Systemtaktmodul (SCLM) 16 ist bereitgestellt. Das Haupttakten des offenbarten Systems wird durch das Verwenden eines Zweiphasentakts aufrecht gehalten, der ein X0-Ausgangssignal und ein Xl-Ausgangssignal aufweist, wobei der Takt von einem Einzelkristall-Oszillator abgeleitet wird, der nicht dargestellt ist. Der Systembustakt, der nicht dargestellt ist, ist auch im SCLM-Modul 16 aufgenommen. Das Erzeugen von Taktsignalen und deren Verteilung und Verwendung sind in der Technik gut verstanden und werden nicht weiter erörtert.
  • Das Virtuellbefehl-Prozessoruntersystem 10 umfaßt ein Paar Basis- bzw. Zentralprozessor-Untersystemmodule (BPSM) 18 und 20, wobei eines, 18, das primäre Modul (BPSMP) und das andere, 20, das sekundäre Modul (BPSMS) ist. Jedes der Module 18 und 20 umfaßt Größtintegrationsschaltungs-(VLSI)- Chips aus der NCR-32-Bit-Chipreihe, wie dies in der NCR/32 General Information Publication erläutert ist, die von VLSI Processor Products, NCR Microelectronics Division, Colorado Springs, Colorado unter der Bestandsnummer ST-2104-23 verfügbar ist.
  • Nimmt man auf Fig. 2 Bezug, kann jedes der BPSM-Module 18 und 20 einen zentralen Prozessorchip (CPC) 22 und einen Adressenübersetzungschip (ATC) 24 umfassen, wie in der genannten NCR/32 General Information Publication vollständig erläutert ist. Der CPC 22 ist mit einem Befehls- bzw. Anweisungs-Speichereinheits-(ISU)-Bus 26 und einem Prozessorspeicher-(PM)-Bus 28 verbunden. Wie dies bekannt ist, setzt der CPC 22 Anweisungsadressen auf den ISU-Bus 26 bei X0 des Taktes SCLM 16 zu einem ISU-Speicher hin und empfängt Anweisungen von dem ISU-Speicher 30 bei X1 des Taktes SCLM 16 zurück. Adressen für Speicheroperationen werden auch auf den Adressenteil des PM-Busses 28 gesetzt und Daten werden entweder bei der vorgegebenen Adresse von einem Hauptspeicher 32 abgerufen oder in diesen geschrieben. Es ist ersichtlich, daß beim System der Fig. 1 das Hauptspeicher-Subsystem bzw. - Untersystem 14 den Hauptspeicher 32 der Fig. 2 umfaßt.
  • Das BPSMP-Modul 18 und das BPSMS-Modul 20 können auch spezialisierte Hardware-Erweiterungschips enthalten, wie beispielsweise einen erweiterten arithmetischen Chip (EAC) 34 der Fig. 2, der eine spezialisierte Hardware für eine Gleitpunktarithmetik bereitstellt, und einen NEAT-Hilfsbzw. Unterstützungs-Chip (NAC) 36, der einen unabhängigen Firmware-Onchip- bzw. -Einchipprozessor bereitstellt, der einen Untersatz von NEAT-Befehlen ausführt. Der NAC 36 der Fig. 2 ist ein NEAT-Unterstützungschip der NCR 9000-Serie, dessen Blockdiagramm in Fig. 3 dargestellt ist. Ohne den NAC 36 ist der CPC 22 das Hauptelement, das Aktivitäten hinsichtlich des ATC 24 und des EAC 34 unterordnet. Wenn er z. B. NEAT-Befehle emuliert, interpretiert der CPC 22 die NEAT-Befehle durch Zugreifen auf Routinen in dem ISU- Speicher 30 und führt diese aus. Wenn ein NAC 36 vorliegt, wird der NAC die Haupteinrichtung. Der virtuelle NEAT- Befehl, der auszuführen ist, wird dann durch den NAC 36 vom Hauptspeicher 32 der Fig. 2 abgerufen, ein Befehls- Vorbereiten wird durchgeführt und dann wird nur, falls der NAC 36 die Ausführung des bestimmten Befehls nicht unterstützt, die Steuerung zum CPC 22 weitergeleitet. Wenn ein NAC 36 vorliegt, ruft der CPC 22 die Anwendung des ATC 24 oder des EAC 34 nur auf, wenn dies durch den NAC 36 angefragt wird. Während der NAC 36 virtuelle NEAT-Befehle ausführt, ist der CPC für Service-I-/O-Interrupts bzw. Betriebs-Ein-/Ausgabe-Unterbrechungen oder Tageszeit-Interrupts gleichzeitig zu den Operationen verfügbar, die durch den NAC 36 ausgeführt werden.
  • Nimmt man auf Fig. 3 Bezug, verwendet der NAC 36 nicht irgendeinen Steuerspeicher, der vom Chip getrennt ist. Der gesamte Speicherbereich, der zum Ausführen der virtuellen NEAT-Befehle erforderlich ist, die durch den NAC 36 unterstützt werden, ist in einem Steuer-Nur-Lesespeicher (ROM) 70 abgespeichert. Mikroanweisungen werden im NAC 36 innerhalb einer zweistufigen Pipeline bzw. Fließbandverarbeitung ausgeführt, die Interpretations- und Ausführungsstufen aufweist. In der Interpretationsstufe, deren Start durch das NVCSU/-Signal auf dem Leiter 37 der Fig. 2 angezeigt wird, werden die ROM-Adresse für die beginnende Mikroanweisung zum Emulieren des virtuellen NAT- Befehls bestimmt und die Anzahl von Bytes, die durch die virtuellen Anweisungen verändert werden, werden in der Strichliste bzw. dem Zähler 72 abgespeichert. Eine Kopie der ersten 15 Indexregister im Hauptspeicher 32 der Fig. 2 wird in einer Indexregistereinheit (IRU) 74 gehalten. Dies wird durch das Überwachen des PM-Busses 28 (siehe Fig. 2) mit einer Indexregister-Anpassungslogik 76 ausgeführt, was das Abspeichern der Inhalte von irgendwelchen der ersten 15 Indexregister bewirkt, die durch geeignete Anweisungen über den PM-Bus 28 zu den ersten 15 virtuellen Adressen des Hauptspeichers 32 abgerufen oder modifiziert werden, um in der IRU 74 abgespeichert zu werden. So kann während der Interpretations- und der Ausführungsstufe des NAC 36 ein Zugriff direkt auf die IRU 74 im NAC 36 durchgeführt werden, ohne irgendwelche der ersten 15 Register aus dem Hauptspeicher 32 abrufen zu müssen.
  • In der Ausführungsstufe wird das ROM 70 für die beginnende Mikroanweisung des NEAT-Befehls, der emuliert wird, adressiert, und auf das richtige Indexregister in der IRU 74 oder irgend ein anderes Register im NAC 36 oder eine andere Einrichtung in dem System, die an den PM-Bus 28 angesetzt ist, wird so, wie es geeignet sein kann, zugegriffen, um die Mikroanweisung auszuführen. Der Zählwert im Zähler 72 wird dann dekrementiert bzw. erniedrigt, während jedes Byte, das durch den virtuellen Befehl beeinflußt wird, verarbeitet wird. Während der Ausführung können die Inhalte eines Indexregisters modifiziert werden. Irgendwelche solche Modifikationen können über den PM-Bus 28 durch den NAC 36 hinsichtlich des Indexregisters im Hauptspeicher 32 durchgeführt werden. Die Indexanpassungslogik 76 der Fig. 3 sieht jegliche Schreibvorgänge auf die ersten 15 virtuellen Indexregister und modifiziert die NAC-Kopie des modifizierten Indexregisters in der IRU 74 so, daß die Indexregister in der IRU 74 stets aktuell gehalten werden. Daher wird eine Modifizierung irgendeines der ersten fünfzehn Indexregister in dem Hauptspeicher 32 der Fig. 2 durch den NAC 36 während der Emulation eines NEAT-Befehls auch die Kopie des modifizierten Indexregisters in der ISU 74 des NAC 36 modifizieren. Nur die ersten fünfzehn Indexregister werden in der ISU 74 gehalten, weil bestimmt wurde, daß etwa 98% der Mikroanweisungen des NAC 36 nur diese Register verwenden.
  • Der NAC 36 enthält auch ein Adressenregister für virtuelle Anweisungen (VIAR) 180, in dem die Adresse des nächsten abzurufenden virtuellen Befehls abgespeichert wird, sowie ein Register für virtuelle Anweisungen 181 (VIR), in dem der letzte durch den NAC 36 abgerufene virtuelle Befehl abgespeichert ist. Der NAC 36 enthält auch einen Zustandsstapelspeicher 182, der aus eigentlich vier 32-Bit- ERU-Registern besteht, die alle direkt mit dem PM-Bus 28 verbunden sind. Ein Zugriff auf den Zustandsstapelspeicher 182 wird durch die ERU-Dekodiererschaltung 183 in einer bekannten Art und Weise gesteuert.
  • Das erste Zustandsstapelspeicher-Register (SSR1) des 182 wird abhängig davon, warum der NAC 36 die Steuerung zum CPC 22 weitergibt, eines von zwei verschiedenen Worten aus Information enthalten. Wenn die Steuerung wegen eines nicht unterstützten Befehls übertragen wird, wird der SSR1 des 182 ein Steuerübertragungswort enthalten, das den virtuellen Op-Code (Operationscode) einschließt, der durch den CPC 22 bei Bits 25-32 auszuführen ist, das virtuelle Zählerfeld, das die Länge des Operanden bei Bit 17-24 bestimmt, und virtuelle Anzeigebit 1-8, die durch den NAC 36 während der Ausführung des virtuellen Befehls setzt und zurücksetzt, so wie dies durch den Befehl erforderlich ist, der emuliert wird. Wenn der NAC 36 die Steuerung wegen eines Zustands überträgt, den er nicht handhaben kann, wird der SSR1 des 182 ein Ausnahmezustandswort enthalten. Das zweite Register des Zustandsstapelspeichers (SSR2) enthält verschiedene Code und Flags bzw. Merker für den Betrieb des NAC 36 bei der Emulation eines NEAT-Befehls, einschließlich eines INB-Merkers bei Bit 26, das durch den NAC 36 während des Einstell- bzw. Vorbereitungsschritts modifiziert wird und wiedergibt, ob der NAC sich beim Vorbereiten des ersten oder des zweiten Worts eines Zwei-Wort-NEAT-Befehls befindet. Das dritte Register des Zustandsstapelspeichers (SSR3) enthält verschiedene interne Indikatoren bzw. Anzeiger, ein Traplinkregister bzw. Verbindungsregister für nichtprogrammierte Programmsprünge und ein Wiederversuchs- Verbindungsregister. Das vierte Register des Zustandstapelspeichers (SSR4) enthält eine Kopie (alte Kopie) der virtuellen Anzeigemittel des SSR1, wie sie in den SSR1 während der Vorbereitungszeit eingeladen wurden.
  • Es wird ersichtlich sein, daß der NAC 36 nur eine Erweiterung des Systems bietet und daß das Datenverarbeitungssystem unter Verwendung der vorliegenden Erfindung ohne den NAC 36 betrieben werden kann, wie dies in Verbindung mit den Fig. 2 und 3 erörtert wird.
  • Die Prozessoren (CPC 22 oder NAC 36) des BPSMP-Moduls 18 und des BPSMS-Moduls 20 sind synchronisiert, um Befehle parallel auszuführen, einschließlich des Abrufens von Daten von dem Hauptspeicher, und die Daten entsprechend Anweisungen bzw. Befehlen entweder von dem ISU-Speicher oder dem Steuer-ROM des NAC zu manipulieren und dann die manipulierten Daten in den Hauptspeicher zurück zu speichern. Die Operationen der Prozessoren werden zu allen Zeitpunkten verglichen, wie erläutert wird, und nach einem Fehlvergleich werden die Prozessoren angewiesen, deren letzten virtuellen Befehl neu auszuführen, bis ein gleiches Vergleichergebnis erhalten wird, oder bestimmt wird, daß ein hardwarebedingter Fehler aufgetreten ist.
  • Kehrt man zu Fig. 1 zurück, ist ein Paar beschreibbarer Steuerspeichermodule (WCSM) 34 und 36 vorgesehen. Jedes WCSM umfaßt 8K Bytes Nur-Lesespeicher (ROM), der Aktivierungs-, Boot- und am Tag zu startende Programme bietet, sowie 64K Byte (32K Worte), jeweils aus einem Direktzugriffsspeicher (RAM), die für den ISU-Speicher (30 in Fig. 2) verwendet werden. Die ROM-Programmierung sieht vor, daß Anweisungen in Form von Daten aus dem Hauptspeicher des Systems abgerufen werden können und in den RAM-Einrichtungen in einem WCSM-Ladeprogramm abgespeichert werden können. Es ist ersichtlich, daß 32K Worte von ISU-Anweisungen in dem WCSM 34 abgespeichert werden und 32K Worte in dem WCSM 36 abgespeichert werden. Das BPSMP-Modul 18 steht mit den WCSM-Modulen 34 und 36 über einen ISU-Bus 38 und einen Erweiterungsbus 40 in Verbindung. Das BPSMS-Modul 20 ist mit den WCSM-Modulen 34 und 36 über einen ISU-Prüf-(ISUCHK)-Bus 42 und 44 und mit einem Datensicherungsmodul (DINM) 46, das später zu erläutern ist, über eine Erweiterung 48 des ISUCHK-Busses 42 verbunden.
  • Ein PM-Bus 50, der der gleiche wie der Bus 28 ist, der in Verbindung mit Fig. 2 erläutert wurde, ist zwischen das BPSMP-Modul 18 und das Speicheruntersystem 14 geschaltet und umfaßt ein Datenteil 52 für primäre Prozessordaten (PBDAT) sowie ein Adressenteil 54 für primäre Prozessoradressen (PAD) . Ein zweiter PM-Bus 56 ist zwischen das BPSMS-Modul 20 und das DINM-Modul 46 geschaltet und umfaßt ein Datenteil 58 für sekundäre Prozessordaten (SBDAT) und ein Adressenteil 60 für sekundäre Adressen (SAD). Das DINM-Modul 46 steht auch mit dem PBDAT-Bus 52 und dem PAD-Bus 54 in Verbindung.
  • Wie erläutert wird, werden die ISU-Adressen für die WCSM- Module 34 und 36 sowie ISU-Anweisungen von den WCSM-Modulen 34 und 36 auf einem zwischenspeichernden bzw. auffangenden ISU-(LISU)-Bus 62 zwischengespeichert bzw. aufgefangen, der zwischen den WCSM-Modulen 34 und 36 sowie dem DINM-Modul 46 geschaltet ist. Unter den Funktionen des DINM-Modul 46 ist das Vergleichen der berechneten Ergebnisse nach der Manipulation von Daten durch entweder den CPC 22 oder den NAC 36 von beiden BPSM-Modulen 18 und 20. Falls die Ergebnisse von den Modulen 18 und 20 nicht die gleichen sind, speichern die Prozessoren (entweder CPC 22 oder NAC 36), die virtuelle Befehle ausführen, aus bzw. wiederholen, um den letzten virtuellen Befehl, bei dem der Fehler aufgetreten ist, erneut zu versuchen. Während des Wiederholungsversuchsbetriebs werden die Daten, die ursprünglich beim ersten Versuch der Ausführung abgerufen wurden, zu den ausführenden Prozessoren zurück geliefert. Ein Virtuellbefehl-Wiederholungsmodul (VCRM) 64 ist vorgesehen, alle abgerufenen Daten und zugehörigen Fehlerkorrekturcode- (ECC)-Prüfbit von dem Speicher- Untersystem 14 zu speichern, worauf hierin als Abrufregistrierung bzw. -protokoll Bezug genommen wird. Um dies durchzuführen, ist das VCRM 64 mit dem BPDAT-Bus 52 verbunden und weist genügend RAM auf, um 2K abgerufener Dateneingaben abzuspeichern.
  • Wie dies in Fig. 3 erläutert ist, hält der NAC 36 seine eigene Kopie der ersten 15 Indexregister, und irgendwelche Abrufe, die während der Emulation eines virtuellen Befehls auf irgendeines dieser ersten 15 Indexregister durchzuführen sind, werden über einen internen Bus 71 (siehe Fig. 3) im NAC 36 hinsichtlich der NAC-Kopie des Registers in der IRU 74 dürchgeführt. Daher wird es ersichtlich sein, daß irgendwelche Abrufvorgänge aus den ersten 15 Indexregistern während einer NAC-Emulation eines virtuellen Befehls nicht in der Abrufregistrierung erscheinen. Da die Indexregister während der Ausführung einer Anweisung modifiziert werden können, können die Inhalte des Indexregisters in der IRU 74 des NAC 36 nicht die gleichen sein, wie wenn der Befehl zum ersten Mal versucht wird. Daher umfaßt das VCRM 64 auch eine Indexregisterregistrierung (IR Log), die eine Originalkopie der ersten 15 Indexregister des Hauptspeichers 32 der Fig. 2 als jene Indexregister, die in der Interpretationsstufe des NAC 36 für den momentanen virtuellen Befehl erscheinen, und eine zweite oder modifizierte Kopie der ersten 15 Indexregister enthält, wie sie während der Anweisungsstufe modifiziert sind. Falls der virtuelle Befehl erfolgreich ausgeführt wird, wird die modifizierte Kopie in der IR Log die Originalkopie für den nachfolgenden virtuellen Befehl, und die Originalkopie wird verwendet, um Modifikationen während der Ausführung des nachfolgenden Befehls aufzuzeichnen. Falls die Ausführung des virtuellen Befehls nicht erfolgreich ist, speichert Firmware die Inhalte der Originalkopie des IR Log in den Hauptspeicher 32, wobei dies mit Hilfe der IR-Anpassungslogik 76 der Fig. 3 gleichzeitig in die IRU 74 gespeichert wird. Der NAC 36 kehrt dann in seine Interpretationsstufe zurück und die Ausführung des virtuellen Befehis wird wiederholt bzw. erneut versucht. Daher wird ersichtlich sein, daß die beschriebene IR Log im Falle der CPC-Ausführung des virtuellen Befehls nicht erforderlich ist, da Daten, die aus den ersten 15 Indexregistern abgerufen werden, in dem Fall in der Datenabrufregistrierung erscheinen.
  • Das VCRM 64 steht auch über eine Buserweiterung 75 bzw. Busverlängerung mit dem LISU-Bus 62 in Verbindung. Das VCRM 64 enthält ein RAM zum Speichern der ISU-Adressen, die durch den BPSMP 18 vorgesehen werden, in einer Spur- bzw. Verfolgungsregistrierung, die für Diagnosezwecke durch Fimware verwendet werden kann. Das Verfolgungsregistrierungs-RAM speichert bis zu 2K ISU- Adresseneinträgen, während die Verfolgung freigegeben ist. Die Verfolgungsregistrierung kann, falls gewünscht, auch zum Sichern bzw. Durchführen eines Backups für die CPC- Pipeline verwendet werden.
  • Wie in der zuvor genannten NCR/32 General Information publication erörtert, verwendet der CPC 22 der Fig. 2 externe Register (ERU), um unter anderem eine Kommunikation zwischen den 32-Bit-Chipsatz-Einrichtungen der Prozessormodule 18 und 20 und benutzerdefinierte Steuersignale vorzusehen, die durch den CPC 22 gesetzt und überwacht werden. Andere Einrichtungen des 32-Bit- Chipsatzes, der ATC 24, EAC 34 und NAC 36 und verschiedene Module des Systems weisen ähnliche ERU-Fähigkeiten auf. Ein systemabhängiges Funktionsmodul (SDFM) 78 ist bereitgestellt, das ERU-Register (nicht dargestellt) zum Annehmen, Modifizieren und Anzeigen individueller Bit eines ausgewählten ERU durch einen Anwender für den Betrieb und die Steuerung des Datenverarbeitungssystems der Fig. 1 umfaßt.
  • Das Ein-/Ausgabe- bzw. I/O-Untersystem 12 der Fig. 1 umfaßt einen primären Ein-/Ausgabe-(I/O)-Bus 80, der ein Teil 82 (PIODAT) für primäre Ein-/Ausgabe-Daten und ein Teil 84 (PIOADR) für eine primäre Adresse aufweist. Ein Paar Grund- bzw. Zentral-Ein-/Ausgabe-Module (BIOM) 86 und 88 ist bereitgestellt, wobei eines ein primäres Modul (BIOMP) und eines ein sekundäres (BIOMS) Modul ist. Jedes BIOM-Modul 86 und 88 umfaßt einen ATC-Chip, der der gleiche wie der ATC 24 der Fig. 4 ist, und zwei NCR/32-500 Systemschnittstellen-Steuereinrichtungs-(SIC)-Chips, wie im U.S. Patent Nr. 4,387,441 beschrieben wird, das am 7. Juni 1983 an Kocol et al. für "Data Processing System Wherein At Least One Subsystem Has A Local Memory and A Mailbox Memory Within The Local Memory for Storing Header Information" ausgegeben wurde und das der Rechtsnachfolger der vorliegenden Erfindung besitzt. Das BIOMS-Modul 88 weist einen zweiten Ein-/Ausgabe-Bus 90 mit einem Teil 91 für Ein-/Ausgabe-Daten (SIODAT) und einen Bus 92 für eine Ein- /Ausgabe-Adresse (SIOADR) auf. Ein DINM-Modul 94 (das ähnlich dem DINM-Modul 46 des Prozessor-Unterabschnitts 10 ist) ist zwischen den primären Ein-/Ausgabe-Bus 80 und den sekundären Ein-/Ausgabe-Bus 90 zum Vorsehen von Datenintegritäts- bzw. Datensicherungsprüfungen in dem Ein- /Ausgabe-Untersystem 12 verbunden. Verschiedene kundenspezifisch anpassbare Ein-/Ausgabe-Module 93 können mit dem BIOMP verbunden werden, um ausgewählte System-Zu- System- oder Peripherieschnittstellenkanäle verschiedener Bandbreiten bereitzustellen, und verwenden verschiedene Protokolle.
  • Das Hauptspeicher-Untersystem 14 umfaßt eine Vielzahl Speicherarrays bzw. Speicherfelder 100 und eine Doppelanschluß-Speichersteuerung (DMCM) 102. Jede Speicheranordnung bzw. jedes Speicherarray 100 weist einen zentralen Prozessorweg mit einem Datenteil (CPMDAT) 104 und einem Adressenteil (CPMADR) 106 sowie einen I/O-Weg mit einem Datenteil (IOMDAT) 108 und einem Adressenteil (IOMADR) 110 auf. Daher kann der DMCM 102 einem der BPSM- Module 18 oder 20 ermöglichen, auf ein Speicherfeld 100 zuzugreifen, während er einem der BIOM-Module 86 oder 88 ermöglicht, auf ein anderes Speicherfeld 100 zuzugreifen. Das DMCM 102 umfaßt auch eine Vorabrufschaltung.
  • Fig. 4 ist ein Blockdiagramm von einem der WCSM-Module 34 oder 36 der Fig. 1. Es ist ersichtlich, daß die WCSM-Module 34 und 36 identisch sind. Ein bidirektionaler BISU-Bus 120 befindet sich intern in den WCSM-Modulen 34 zum Vorsehen einer Nachrichtenübermittlung bzw. Kommunikation zwischen verschiedenen Elementen, was zu beschreiben ist. Der ISU- Bus 38, der in Fig. 1 dargestellt ist, steht mit einem Sende- und Empfangsgerät 122 in Verbindung, das mit dem BISU-Bus 120 verbunden ist. Auch der ISUCHK-Bus 42, der in Fig. 1 dargestellt ist, steht mit einem Sende- und Empfangsgerät 124 in Verbindung, das auch mit dem BISU-Bus 120 verbunden ist. Die Sende- und Empfangsgeräte 122 und 124 können 74F245-Einrichtungen sein, die von Fairchild erhältlich sind. Die Eingänge von einer Vielzahl von Adressenspeichern bzw. Adressenlatchen 126, 127, 128 und 129 sind mit dem BISU-Bus 120 verbunden. Jedes der Adressenspeicher 126-129 kann aus 74F373-Einrichtungen ausgebildet werden, die bei Fairchild verfügbar sind. Der Ausgang des Adressenlatch 126 steht mit dem LISU-Bus 62 in Verbindung, der in Fig. 1 dargestellt ist. Der Ausgang des Adressenlatch 127 steht mit einem Datenparitätsgenerator bzw. einer Datenparitäts-Erzeugungseinrichtung 130, einem PROM 132 und einem Datenlatch 133 in Verbindung. Der Ausgang des Datenlatch 133 ist mit den Dateneingängen eines Paars Speicherbänke 134 und 135 verbunden. Der Ausgang des Adressenlatch 128 steht mit Adresseneingängen der Speicherbank 134 in Verbindung und der Ausgang des Adressenlatch 129 ist mit den Adresseneingängen der Speicherbank 135 verbunden. Ein erster Vergleicher 136 vergleicht den Ausgang des Adressenlatch 126 am LISU-Bus 62 mit dem Ausgang des Adressenlatch 127. Falls das Vergleichsergebnis nicht gleich ist, wird ein Fehlersignal (ADRERR2) an seinen Ausgang 137 gesetzt. Ein zweiter Vergleicher 138 vergleicht den Ausgang des Adressenlatch 128 mit dem Ausgang des Adressenlatch 129. Falls das Vergleichsergebnis nicht gleich ist, wird ein Fehlersignal (ADRERR1) an seinen Ausgang 139 gesetzt. Die Paritätserzeugungseinrichtung 130 kann aus 74S280- Einrichtungen, die bei Fairchild verfügbar sind, ausgebildet werden und der Datenlatch 133 kann aus 74F374- Einrichtungen ausgebildet werden, die bei Fairchild verfügbar sind, das Boot-PROM 132 wird durch 82S191- Einrichtungen ausgebildet, die von Fairchild erhältlich sind, um einen programmierbaren 16K-mal-16-Bit-Nur- Lesespeicher zum Aufnehmen von Bootroutinen auszubilden. Die Vergleicher 136 und 138 können aus 74F521-Einrichtungen ausgebildet werden, die von Fairchild erhältlich sind. Die Speicherbänke 134 und 135 können jeweils aus 16383- Einrichtungen ausgebildet werden, die von Mitsubishi erhältlich sind, wobei jede Speicherbank 134 und 135 eine 16K mal 18-Bit-Speicherbank ausbildet. Die Datenausgänge des PROM 132 stehen mit einem Datenpuffer 140 in Verbindung und die Ausgänge der Speicherbänke 134 und 135 stehen mit Datenpuffern 142 bzw. 143 in Verbindung. Die Ausgänge der Datenpuffer 140, 142 und 143 stehen mit dem BISU-Bus 120 in Verbindung. Die Datenpuffer 140, 142 und 143 können aus 74F244-Einrichtungen ausgebildet werden, die bei Fairchild verfügbar sind.
  • Nachdem das PROM 132 in einer bekannten Art und Weise programmiert wurde, kann ein CPC 22 der Fig. 2 durch das Setzen einer PROM-Adresse auf den ISU-Bus 38 ein Bootprogramm aus dem PROM 132 ausführen. Die Sende- Empfängereinrichtung 132 setzt die PROM-Adresse auf den BISU-Bus 120, der in Adressenspeichern 126 und 127 über Adressenspeicherung gehalten wird. Die PROM-Adresse wird dann zum PROM 132 gerichtet und die auszuführende Mikroanweisung wird durch das PROM 132 zum Puffer 140 ausgegeben, der den Mikrobefehl bzw. die Mikroanweisung auf den BISU-Bus 120 setzt. Die Sende-Empfängereinrichtung 122 setzt die Mikroanweisung zum Ausführen durch den CPC 22 der Fig. 2 dann auf den ISU-Bus 38. Während der Bootroutine im PROM 132 werden Mikroanweisungen, die in den ISU-Bänken 134 und 135 abzuspeichern sind, mit Hilfe des CPC 22 aus dem Hauptspeicher 32 abgerufen und dann auf den ISU-Bus 38 der Fig. 1 und 4 gesetzt. Die Mikroanweisungsdaten werden dann durch die Sende-Empfängereinrichtung 122 der Fig. 4 auf den BISU-Bus 120 gesetzt und in Latchen 126 und 127 zwischengespeichert. Eine Paritätserzeugungseinrichtung 130 addiert dann ein Paritätsbit zu den Mikroanweisungsdaten, das in einem Datenlatch 133 gespeichert ist, um in eine der Speicherbänke 134 oder 135 eingegeben zu werden. Die Adresse der Mikroanweisung wird durch den CPC 22 der Fig. 1 auf den ISU-Bus 38 gesetzt und durch die Sende- Empfängereinrichtung 122 auf den BISU-Bus 120 gesetzt und in Adressenspeichern 128 und 129 zwischengespeichert. Der Ausgang der Adressenspeicher 128 und 129 wird dann hinsichtlich der Speicherbänke 134 und 135 adressiert, und die Speicherbankadresse speichert die Daten im Datenlatch bzw. Datenzwischenspeicher 133 bei der ausgegebenen Adresse. Falls die Vergleichereinrichtung bzw. der Vergleicher 136 ein Fehlvergleichsergebnis erhält, das anzeigt, daß entweder die PROM-Adresse, die durch den Adressenspeicher 126 und 127 ausgegeben wird, oder die Mikroanweisungsdaten, die auch durch den Adressenspeicher 126 und 127 ausgegeben werden, nicht die gleichen sind, wird ein Fehlersignal an den Leiter 137 gesetzt, um anzuzeigen, daß ein Datensicherheits- bzw. Datenintegritätsfehler besteht. Der Vergleicher 138 vergleicht die Speicherbankadresse, die durch die Adressenspeicher 128 und 129 ausgegeben wird, und falls ein Fehlvergleich gefunden wird, wird ein Datenfehlersignal auf dem Leiter 139 hochgesetzt, um anzuzeigen, daß ein Datenintegritätsfehler in der ISU-Speicheradresse vorliegt. Später, wenn der CPC 22 der Fig. 2 einen virtuellen Befehl emuliert, wird die Adresse einer Mikroanweisung auf den ISU-Bus 38 der Fig. 4 gesetzt. Die Sende- Empfängereinrichtung 122 setzt die Adresse dann auf den BISU-Bus 120, so daß sie in Adressenlatchen 128 und 129 aufgefangen wird. Die Adressenspeicherbank 134 oder 135 setzt die Mikroanweisung an ihren entsprechenden Ausgang, der entweder im Puffer 142 oder 143 gepuffert wird und der an den BISU-Bus 120 zum Rückübertragen zur CPC 22 über den ISU-Bus 38 durch die Sende-Empfängereinrichtung 122 angesetzt ist. Falls durch eine Mißbetätigung entweder des Adressenspeichers 128 oder 129 auftritt, wird das Vergleichsergebnis durch den Vergleicher 138 nicht gleich, was einen Datenintegritätsfehlerzustand am Leiter 139 aufkommen läßt. Die gleiche Beschreibung des Betriebs eines CPC in den sekundären BPSMS-Modulen 20 kann durchgeführt werden, wobei der ISUCHK-Bus 42 und die Sende- Empfängereinrichtung 124 anstelle des zuvor beschriebenen ISU-Bus 38 und der Sende-Empfängereinrichtung 122 verwendet werden.
  • Die Fig. 5, 6 und 7 sind Blockdiagramme von Bauelementen der DINM-Module 46 der Fig. 1. Fig. 5 ist ein Blockdiagramm einer Schaltung des DINM 46 zum Durchführen eines Datenvergleichs. Der PBDAT-Bus 52 des PM-Busses 50 der Fig. 1 ist mit einer Sende- bzw. Empfängereinrichtung 150 verbunden, deren Ausgang mit einem Latch bzw. Adressenspeicher 151 und dem Eingang einer Treiberschaltung 152 verbunden ist. Der Ausgang des Adressenspeichers 151 steht mit einem Eingang einer Vergleicherschaltung 153 in Verbindung. Der SBDAT-Bus 58 des sekundären PM-Busses 56 der Fig. 1 steht mit einer Sende-Empfängereinrichtung 154 in Verbindung, deren Ausgang mit einem zweiten Eingang des Vergleichereingangs 153 verbunden ist. Der Ausgang der Treiberschaltung 152 steht über einen Bus 155 mit der Sende-Empfängereinrichtungsschaltung 154 in Verbindung. Wenn Daten von dem Prozessoruntersystem 10 der Fig. 1 für einen virtuellen Befehl zum Speicheruntersystem 14 zu senden sind, werden die Daten über die BPSMP-Module 18 auf den PBDAT-Bus 52 gesetzt und die gleichen Daten werden über die BPSMS-Module 20 auf den SBDAT-Bus 58 gesetzt. Die Sende-Empfängereinrichtung 150 der Fig. 5 nimmt die Daten von dem PBDAT-Bus 52 und setzt sie in den Adressenspeicher 151 und an einen Eingang der Vergleicherschaltung 153. Die Sende-Empfängereinrichtung 154 nimmt die Daten von dem SEDAT-Bus 58 und setzt sie an den anderen Eingang des Vergleichers 153. Falls die Daten nicht zusammenpassen, wird ein Fehlersignal (DATACMP/) an einen Ausgang 156 der Vergleicherschaltung 153 gesetzt. Wenn Daten durch das Prozessorsubsystem bzw. Prozessoruntersystem 10 für den virtuellen Befehl aus dem Speicheruntersystem 14 der Fig. 1 abgerufen werden, werden die Daten tatsächlich über den PBDAT-Bus 52 des primären PM-Busses 50 abgerufen. Ein Treiber 152 ist in deüschaltung der Fig. 5 eingeschlossen, um die Daten, die durch die Sende- und Empfängereinrichtung 150 von dem PBDAT-Bus 52 empfangen werden, zu nehmen und sie über den Bus 155 zur Sende- und Empfängereinrichtung 154 zu setzen, um auf den SBDAT-Bus 58 gesetzt zu werden, so daß beide der Prozessor-Untersystemmodule BPSMP 18 und BPSMS 20 die gleichen Daten empfangen können. In diesem Fall gibt der Prozessor von beiden Modulen 18 und 20 z. B. Abrufbefehle zum Hauptspeicher und empfängt Daten von dem Hauptspeicher zurück, so daß der Prozessor in den Modulen 18 und 20 mit deren Ausführung fortfahren kann, selbst obwohl nur der Abrufbefehl von dem Prozessor des Moduls 18 tatsächlich die Daten von dem Speicheruntersystem 14 abgerufen hat. Die Sende- und Empfängereinrichtungen 150 und 154 können aus 74F245-Einrichtungen, die bei Fairchild verfügbar sind, hergestellt sein, der Adressenspeicher 151 kann aus 74F534-Einrichtungen, erhältlich bei Fairchild, bestehen, der Treiber 152 kann aus 74F244- Einrichtungen bestehen, die von Fairchild erhältlich sind, und die Vergleicherschaltung 153 kann aus 74F521-Einrichtungen bestehen, erhältlich von Fairchild.
  • Fig. 6 ist ein Blockdiagramm einer Schaltung zum Vergleichen der Adressen, die durch das BPSMP-Modul 18 ausgegeben werden, mit den Adressen, die durch das BPSMS- Modul 20 der Fig. 1 ausgegeben werden. Vom PAD-Bus 54 des primären PM-Busses 50 sind dessen erste 8 Bit mit einem Eingang eines Vergleichers 160 verbunden und Bit 9-24 mit einem Eingang eines zweiten Vergleichers 162 verbunden. Vom SAD-Bus 60 des sekundären PM-Busses 56 sind dessen erste 8 Bit mit dem anderen Eingang des Vergleichers 160 verbunden und Bit 9-24 mit dem anderen Eingang des Vergleichers 162 verbunden. Der Ausgang des Vergleichers 160 liefert ein Vergleichssignal (ERUADRCMP/) für Adressen über die PM- Busse 50 und 56, und zwar zu einer externen Registereinheit (ERU) hin gerichtet. Von einem UND-Gatter 163 sind dessen Eingänge mit der Vergleicherschaltung 160 und 162 verbunden und dessen Ausgang bietet ein Vergleichssignal (MEMADRCMP/) für Adressen, das zum Speicheruntersystem 14 der Fig. 1 hin gerichtet ist. Die Vergleicherschaltung 160 und 162 kann aus 74F521-Einrichtungen ausgebildet werden, die von Fairchild verfügbar sind.
  • Fig. 7 ist ein Blockdiagramm einer Schaltung zum Liefern von Vergleichsergebnissen von Adressen von den Prozessor- Untersystem-Modulen BPSMP 18 und BPSMS 20 zur Anweisungsspeichereinheit der WCSM-Module 34 und 36 hin. Der LISU-Bus 62 der Fig. 1 steht mit einem Eingang einer Vergleicherschaltung 165 in Verbindung und der ISUCHK-Bus 48 der Fig. 1 ist mit den Eingängen der Adressenspeicher 166 und 167 verbunden. Der Ausgang des Adressenspeichers 166 steht mit einem anderen Eingang der Vergleicherschaltung 165 in Verbindung. Zu Fig. 4 zurückkehrend, ist ersichtlich, daß Adressen, die auf den ISU-Bus 38 gesetzt werden, durch den Adressenspeicher 126 zum LISU-Bus 62 hindurchlaufen. Mit Blick auf Fig. 1 werden ISU-Adressen, die mit Hilfe der BPSMS-Module 20 auf den ISUCHK-Bus 42 gesetzt werden, mittels des Busses 48 zum DINM-Modul 46 gerichtet. Zu Fig. 7 zurückkehrend, wird eine primäre ISU-Adresse über den Bus 62 in die Vergleicherschaltung 165 eingegeben und eine sekundäre ISU- Adresse wird über den Bus 48 durch den Adressenspeicher 166 in den Vergleicher 165 eingegeben. Ein Fehlvergleich durch die Vergleicherschaltung 165 läßt ein Signal eines nichtprogrammierten Programmsprungs bzw. Trapsignal (TRAP/) am Leiter 168 anheben, was ein Einfangen bzw. Unterbrechen für beide Prozessoren in den Modulen 18 und 20 bewirkt. Der ISUCHK-Bus 48 steht auch mit einem Adressenspeicher 167 in Verbindung, wie erläutert, dessen Ausgang mit einer Paritätsfehler-Prüfschaltung 170 verbunden ist. Falls ein Paritätsfehler durch die Schaltung 170 entdeckt wird, wird ein Paritätsfehlersignal (PERR/) auf den Leiter 171 gesetzt. So erfaßt die Schaltung der Fig. 7 ISU- Adressenfehler und Paritätsfehler innerhalb der ISU- Adressen. Die Vergleicherschaltung 165 kann aus 74F521- Einrichtungen, erhältlich von Fairchild, hergestellt werden, Adressenspeicher 166 und 167 können aus 74F373- Einrichtungen hergestellt werden, die von Fairchild erhältlich sind, und die Paritätsfehler-Erfassungsschaltung 170 kann aus 74S200-Einrichtungen hergestellt werden, die von Fairchild erhältlich sind.
  • Zu Fig. 5 zurückkehrend, ist ein ERU-Register 175 vorgesehen, das die Vergleichssignale von den Vergleichern der Fig. 5, 6 und 7 empfängt. Die ERU 175 kann durch den CPC 22 der Fig. 2 abgefragt werden, um die richtige Fehler- Rückgewinnungs-Routine zu bestimmen, die abhängig von dem gefundenen Mißvergleich auszuführen ist. Es wird angemerkt, daß der Adressenspeicher 151 in einer solchen Art und Weise verbunden ist, daß er Daten entweder von dem PBDAT-Bus 52, die durch die Sende- und Empfängereinrichtung 157 empfangen werden, oder Daten von dem ERU-Register 175 zwischenspeichern kann, die auf den PBDAT-Bus zu setzen sind. Das ERU-Register 175 kann aus 74F240-Einrichtungen ausgebildet werden, die von Fairchild erhältlich sind.
  • Es ist ersichtlich, daß ähnliche Vergleicherschaltungen mit dem Steuerteil der PM-Busse 50 und 56 der Fig. 1 (nicht dargestellt) verbunden werden können, um einen Mißvergleich und Steuersignale von den Prozessor-Untersystem-Modulen PBSMP 18 und PBSMS 20 zu erfassen. Auch ausgewählte Bit des PBDAT-Busses 52 und des SBDAT-Busses 58 können getrennt verglichen werden, um einen Miß- bzw. Fehlvergleich bei ERU-Schreibdaten zu bestimmen, obwohl die Vergleichsschaltung Fig. 5 ERU-Daten-Fehlvergleiche erfassen wird. Jegliche der Fehlvergleichssignale, die in Verbindung mit den Fig. 5, 6 und 7 erörtert sind, bewirken einen Interrupt bzw. eine Unterbrechung für die Prozessoren der BPSMP-Module 18 und der BPSMS-Module 20 und die Fehlvergleichssignale werden in ein ERU-Register gesetzt, so daß die Prozessoren mit der Programmunterbrechung bzw. dem Interrupt die Interruptsignale abfragen können. Es wird angemerkt, daß die Prozessoren von beiden der BPSMP-Module 18 und der BPSMS-Module 20 einem Interrupt unterzogen bzw. unterbrochen werden und eine geeignete Interruptroutine parallel durchführen, um einen erfaßten Fehlvergleich zu korrigieren. Wie vorstehend genannt, ist das DINM-Modul 94 der Fig. 1 ähnlich dem DINM-Modul 46 zum Erfassen von Fehlvergleichen in dem Ein-/Ausgabe-Subsystem 12. Jedoch wird der ISU-Vergleich der Fig. 7 bei dem DINM-Modul 94 nicht verwendet, da nur die Ein-/Ausgabe-Daten und die Ein- /Ausgabe-Adressen verglichen werden.
  • Die Fig. 8A-41B bilden, wenn sie zusammengenommen werden, ein schematisches Diagramm des VCRM-Moduls 64 der Fig. 1 aus. Alle der Eingangs- und Ausgangsleitungen der Fig. 8A- 41B wurden mit einer Aufschrift versehen, um hinsichtlich deren richtiger Verbindung behilflich zu sein. Jedes Element ist unter Verwendung seines Standardsymbols dargestellt, einschließlich Anschluß- bzw. Pin-Nummern, und mit seiner Standardteilnummer der Industrie bezeichnet. Die Symbole für die Zwei-Zustands-Einrichtungen stammen aus IEEE-Standard Graphic Symbols for Logic Diagrams (Zwei- Zustands-Einrichtungen), IEEE 91-1973, ANSI Y32.14-1973, durch das Institut of Electrical and Electronic Engineers, 345 East 47 Street, New York, N.Y. 10017 veröffentlicht.
  • Die Fig. 13A-13C bilden, wenn sie wie in Fig. 13 dargestellt zusammengesetzt werden, ein schematisches Diagramm eines ERU-Registers aus, das als ein Zustandsregister ERU 78IN verwendet wird. Das Statusregister bzw. Zustands-Register ERU 78IN kann durch irgendein Modul oder irgendeinen VLSI-Chip mit ERU- Kommunikationsfähigkeiten zum Empfangen des Zustands des VCRM-Moduls 64 abgefragt werden. Die Fig. 14A und 14B bilden, wenn sie längs Linie c-c miteinander verbunden werden, ein schematisches Diagramm für ein Eingangslatch bzw. Eingangs-Adressenspeicher zum Empfangen von Daten von dem PBDAT-Bus 52 der Fig. 1 aus (bezeichnet als CPDAT01- CPDAT32). Die Fig. 16A-16D bilden, wenn sie entsprechend Fig. 16 zusammengesetzt werden, ein schematisches Diagramm einer Treiberschaltung zum Ausgeben von Daten auf den PBDAT-Bus 52 aus.
  • Die Fig. 22-26 sind schematische Diagramme der RAM-Chips, die die zuvor genannte Abrufregistrierung des VCRM 64 ausbilden. Bei den Fig. 22-26 wird angemerkt, daß die Adresse für die Abrufregistrierung aus Signalen A0-A10 besteht. Fig. 18 ist ein schematisches Diagramm eines Multiplexers zum Multiplexen von einem der Signale ALPTR0- ALPTR10 oder der Signale ARBPTR0-ARBPTR10 zu den A0-A10- Signalen. Die ALPTR0-ALPTR10-Signale werden verwendet, um die Abrufregistrierungsadresse auszubilden, bis ein Fehlvergleich gefunden ist. Die Logik des VCRM-Moduls 64 wiederholt dann die Adresse der Abrufregistrierung, und zwar unter Verwendung der ARBPTR0-ARBPTR10-Signale für die Adresse.Falls die ARBPTR-Adresse erhöht wird, bis sie die ALPTR-Adresse erreicht, wie dies durch den Vergleicher der Fig. 19 bestimmt wird, ohne daß ein anderer Fehler auftritt, ist das Wiederholen abgeschlossen und der Prozessor setzt den Betrieb so fort, wie er vor dem Wiederholen stand. Die Fig. 20A und 20B, längs Linie d-d verbunden, bilden ein Schema eines Zählers zum Zählen der ARBPTR-Adresse. Die Fig. 21A und 21B, längs Linie e-e verbunden, sind ein Schema eines Zählers zum Zählen der ALPTR-Adresse.
  • Die Fig. 31-35 sind schematische Diagramme der RAM-Chips, die die zuvor genannte Indexregisterregistrierung des VCRM- Moduls 64 ausbilden. Diese RAM-Chips bieten einen Speicher, der zwei Sätze aus 15 Registern abspeichert, jeweils 32 Bit und 4 Paritätsbit breit. Wie erwähnt dient ein Satz von Registern zum Speichern von Kopien der Originalindexregister beim Start eines virtuellen Befehls und ein Satz von Registern dient zum Speichern von Kopien irgendwelcher Indexregister, die während der Ausführung des virtuellen Befehls modifiziert werden. Es wird angemerkt, daß die Adresse für die RAM-Chips der Fig. 31-35 durch die IRA0-IRA4-Signale ausgebildet wird. Das IRA0-Bit bestimmt, welches der beiden Indexregister bei jeder Stelle in der IR-Registrierung das originale bzw. ursprüngliche oder gültige Indexregister ist und welches die modifizierte Kopie eines Indexregisters ist.
  • Die Fig. 28A und 28B, längs Linie f-f verbunden, bilden ein schematisches Diagramm einer Dekoder- bzw. Dekodiererschaltung zum Dekodieren einer Adresse an dem PAD-Adressenbus 54 der Fig. 1 aus. Die Schaltung der Fig. 28B bestimmt, ob bzw. falls die Indexregister in der IR- Registrierung bzw. IR log von dem CPDAT-Bus 52 gespeichert werden sollten oder ob die Indexregister für eine Übertragung zur IRU 74 des NAC 36 (siehe Fig. 3) auf den CPDAT-Bus 52 gesetzt werden sollten. Falls bestimmt wird, daß das Indexregister in dem IR log zu speichern ist, das IRSTORE/-Signal "0" ist und ein Multiplexer 300 der Fig. 28A gibt die CPAD03/-CPAD06/-Signale (die Indexregisternummer) vom PAD-Bus 56 als die IRA1-IRA4- Adressensignale multiplex aus. Falls die Indexregister im IR log auf den CPDAT-Bus 52 zu setzen sind, ist das IRSTORE/-Signal "1" und ein Zähler 302 der Fig. 28A liefert eine Adresse zum Multiplexer 300, die als die Adresse IRA1- IRA4 zu den IR log-RAM's der Fig. 31-35 multiplex auszugeben ist. Ein Paar Dekoder 304 und 306 dekodieren die Adresse IRA1-IRA4 zu einem Einzelbit-DEC1-DEC15-Signal, und zwar abhängig von dem numerischen Wert der IRA1-IRA4- Adresse. Die Fig. 30A und 30B, längs Linie h-h verbunden, und die Fig. 29A und 29B, längs Linie g-g verbunden, bilden zusammen ein schematisches Diagramm eines Paar von Spalten bzw. Reihen aus Flipflops aus, wobei die erste Spalte Ausgänge für modifizierte Bit (MB01-MB15) aufweist und die zweite Spalte Ausgänge für gültige Bit (VB01-VB15) aufweist. Während des Wiederholens zeigen die Flipflop mit gültigem Bit, z. B. Flipflop 308 der Fig. 30A für das Register 1 an, welches der beiden Indexregister, die in den RAM-Chips 31-35 für das Indexregister 1 gespeichert sind, das originale bzw. ursprüngliche oder gültige Register ist, das an den PBDAT-Bus 52 zu setzen ist. Dies wird durch die Aktion eines Multiplexers 312 der Fig. 30A und eines Multiplexers 314 aus 29A ausgeführt, die zusammen das geeignete gültige Bit für das adressierte Register auswählen und dieses gültige Bit verwenden, um IRA0 über das Exklusiv-ODER-Gatter 316 der Fig. 30B auszubilden. Falls der Ausgang des Flipflop 308 auf "0" liegt, wird das erste der beiden Indexregister bei der Adresse, die durch IRAL-1PA4 in der IR log bzw. IR-Registrierung ausgebildet wird, verwendet, und falls der Ausgang des Flipflop 308 auf "1" liegt, wird das zweite verwendet.
  • Das modifizierte Bit eines Flipflop 310 der Fig. 30A für das Register 1 zeigt an, ob das Indexregister 1 während der momentanen Ausführung des virtuellen Befehls modifiziert wurde, "0" für "nein" und "1" für "ja". Beim erfolgreichen Abschließen der Ausführung des virtuellen Befehls werden alle gültigen Bit, die ein eingeschaltetes, modifiziertes Bit aufweisen, einer bistabilen Kippschaltung unterzogen bzw. hin- und hergeschaltet (wodurch das modifizierte Indexregister zum neuen ursprünglichen Register gemacht wird) und das modifizierte Bit wird ausgeschaltet.
  • Die Fig. 39 und 40 sind schematische Diagramme von RAM- Chips zum Speichern der Verfolgungsregistrierung, wie vorstehend erörtert wurde. Die Fig. 38A und 38B bilden, längs Linie j-j verbunden, ein schematisches Diagramm eines Zählers zum Ausbilden der Verfolgungsregistrierungsadresse (TLA0-TLA10) aus, und die Fig. 41A und 41B bilden, längs Linie k-k verbunden, ein schematisches Diagramm für einen Eingangspuffer für die Verfolgungsregistrierung von der LISU-Buserweiterung 75 zum VCRM 64 (siehe Fig. 1) aus.
  • Die Steuersignale für das VCRM-Modul 64 sind, wie folgt: Eingangssignale zum VCRM 64 Ausgangssignale vom VCRM 64
  • Signal Fig. Beschreibung
  • Die PMRST/-, CDPVTL/-, CPMEMDIE-, CPMAEL-, CPMDEE- und EBAV-Signale werden in der zuvor genannten NCR/32 General Information publication unter den Signalbezeichnungen PMRST/-, PVT/-, DIE/-, MAE/-, MDEE/- bzw. BAV-Signal vollständig erläutert.
  • Die Bit des Steuerregisters (XOUT78), die ins VCRM-Modul 64 eingegeben werden, sind, wie folgt:
  • Die Bit des Status- bzw. Zustandsregisters (XIN78) sind, wie folgt:
  • Fig. 42 ist ein Flußdiagramm für den CPC 22 zum Programmieren des CPC 22 der Fig. 2, um einen NEAT-Befehl vorzubereiten und auszuführen, wenn kein NAC 36 vorliegt oder der auszuführende NEAT-Befehl durch den NAC 36 nicht unterstützt wird. Der durch den CPC zu emulierende NEAT- Befehl ist in einem NEATVS-Handbuch vollständig dargelegt, das von der NCR-Coperation, Dayton, Ohio 45479 unter der Bestandsnummer 57-9481-47 erhältlich ist, sowie in einem NEATVS, VRX-3-Handbuch, das von der NCR-Coperation unter der Bestandsnummer ST-9481-46 erhältlich ist. Dies wird in einem Zweischrittverfahren ausgeführt, einem Setup bzw. Vorbereiten eines virtuellen Befehls, das bei 350 beginnt, sowie einer Ausführung des virtuellen Befehls, die bei 355 beginnt. Bei 351 setzt der CPC 22 die VCRM-Registrierungen durch Signale zu dem Befehlsregister XOUT78 im VCRM zurück, wie erläutert wurde, und gibt auch Bit 15 frei, um den Abrufregistrierungs-Zeiger zurückzusetzen, und Bit 2 frei, um die Abrufregistrierung freizugeben. Bei 352 sichert der CPC 22 virtuelle Anzeigeeinrichtungen von der ERU 17 (nicht dargestellt), da sie durch den CPC während seiner Einrichtungs- bzw. Vorbereitungsstufe im Fall eines Wiederholens benötigt werden kann. Bei 353 ruft der CPC den nächsten virtuellen NEAT-Befehl, der zu emulieren ist, aus der Hauptspeichereinheit (MSU) ab, die aus Memory- bzw. Speicherarrays 100 der Fig. 1 des Speicher-Untersystems 14 besteht. Bei 354 berechnet der CPC die effektive Adresse von Quell- und Zieloperanden durch Dekodieren des Typs der NEAT-Anweisung, durch Abrufen der Inhalte von Operanden- Indexregistern und durch Addieren der Operanden- Teiladressen zu den Indexregisterinhalten, wobei alles davon in den zuvor genannten NEATVS-Handbüchern erläutert ist. Der CPC sichert auch das variable LOCWORK in einem gewöhnlichen Arbeitsregister (nicht dargestellt), wobei dies die Inhalte des virtuellen Steuerregisters (VCR) (nicht dargestellt) des CPC's sind, und zeigt den nächsten virtuellen Befehl an, der abzurufen ist. Das variable LOCWORK wird später bei einer Wiederholungsoperation verwendet, die in Verbindung mit den Fig. 44A und 44B zu erläutern ist.
  • Bei 355 beginnt der CPC den virtuellen Befehl auszuführen. Dies wird bei 356 durch Zugreifen auf die WCSM-Module 35 und 36 durchgeführt, um von der ISU die richtigen Mikroanweisungen zum Emulieren des NEAT-Befehls abzurufen.
  • Fig. 43 ist ein Flußdiagramm zum Programmieren des NAC 36 der Fig. 2, um einen virtuellen NEAT-Befehl vorzubereiten sowie auszuführen. Das Vorbereiten bzw. Setup des virtuellen NEAT-Befehls beginnt bei 360, und bei 361 signalisiert der NAC 36 dem VCRM-Modul 64 der Fig. 1 mittels eines NVCSU-Signals (siehe Fig. 2, Zeile 37), um die Registrierungszeiger im VCRM rückzusetzen. Bei 362 ruft der NAC 36 den nächsten virtuellen NEAT-Befehl von der MSU des Speicher-Unterabschnitts 14 ab. Bei 363 berechnet der NAC 36 die effektive Adresse der Quell- und Zieloperanden ähnlich dem in Verbindung mit Block 354 der Fig. 42 erörterten. Bei 364 beginnt die Ausführungsphase des virtuellen Befehls. Bei 365 bestimmt der NAC 36, ob der NAC den bestimmten NEAT-Befehl unterstützt, der zu emulieren ist. Falls der NAC den zu emulierenden NEAT-Befehl unterstützt, werden die Mikroanweisungen zum Emulieren des NEAT-Befehls aus dem NAC-ROM 70 (siehe Fig. 3) abgerufen und der virtuelle NEAT-Befehl wird bei 366 implementiert.
  • Falls der NAC die bestimmte NEAT-Anweisung, die zu emulieren ist, nicht unterstützt, läßt der NAC seine Tätigleitung (nicht dargestellt) bei 367 abfallen. Der CPC erkennt den Abfall und fragt den NAC-Zustand in dem SSR1 des Zustands-Stapelspeichers 182 der Fig. 3 ab, um zu bestimmen, daß der virtuelle NEAT-Befehl auszuführen ist, und erlangt eine Kopie des virtuellen NEAT-Befehls von den Bit 32-35 des SSR1. Bei 368 führt der CPC 22 den virtuellen NEAT-Befehl aus, wie dies in Verbindung mit Block 356 der Fig. 42 erörtert wurde.
  • Die Fig. 44A und 44B bilden, wenn sie bei Verbindungsstellen A und B verbunden werden, ein Flußdiagramm zum Programmieren des CPC 22 und des NAC 36 der Fig. 2 zum Bewirken einer Wiederholungsoperation aus. Im Falle eines Interrupts, Block 370, beginnt der CPC 22 die Ausführung eines Unterbrecherprogramms bzw. einer Interruptroutine. Bei 371 schaltet der CPC 22 den Registrierungsfreigabe-(LE)-Merker im VCRM-Modul 64 durch sein Steuerregister mittels Ausschaltens des Bit 10 mit einem XOUT78-Signals aus. Bei 372 geht der CPC 22 vektorgesteuert so zu verschiedenen Dienstprogrammen, wie durch die Unterbrecherbit bzw. Interruptbit der ERU 175 des DINM-Moduls 46 (siehe Fig. 5) gezeigt wird. Falls der Interrupt vom DIMN-Modul 46 stammt, geht das Programm zu 373, wobei die Firmware bestimmt, ob ein Wiederholen eines virtuellen Befehls unter Verwendung des VCRM-Moduls 64 aufgerufen werden soll. Falls der Interrupt einer ist, der ein Wiederholen eines virtuellen Befehls erforderlich macht, schreitet das Programm zum Block 374, bei dem der CPC 22 bestimmt, ob ein NAC 36 in dem System vorliegt. Bei 376 setzt der CPC 22 für ein System, bei dem ein NAC 36 vorliegt, Bit 5 des Steuerregisters ERU (XOUT78), um die virtuelle IR-Registrierungsadresse auf Null zu setzen. Der CPC 22 liest dann bei 377 den ersten Eintrag in der IR- Registrierung bzw. IR log des VCRM 64 über das Zustandsregister (XIN78). Bei 378 schreibt der CPC 22 den ersten IR log- bzw. IR-Registrierungs-Eintrag in die Indexregistereinheit 74 (siehe Fig. 3) des NAC 36, wie vorstehend erörtert wurde. Die Adresse wird dann um 4 inkrementiert bzw. hochgezählt, um den nächsten Indexregistereintrag in der IR-Registrierung des VCRM 64 zu adressieren. Bei 379 wird eine Überprüfung durchgeführt, um zu sehen, ob die Adresse über 40H liegt, was anzeigt, ob alle 15 Indexregister aus der IR-Registrierung gelesen wurden. Falls nicht, kehrt das Programm zum Block 377 zurück, um den nächsten IR-Registrierungseintrag zu erlangen.
  • Wenn alle Indexregister so zum NAC 36 zurück gespeichert wurden, setzt der CPC 22 bei 380 Bit 13 im Steuerregister XOUT78, um die IR-Registrierung zurückzusetzen.
  • Bei 381 liest der CPC 22 das Zustands Stapelspeicherregister zwei (SSR2) des NAC 36, um den INB- Merker zu erlangen. Falls der INB-Merker wahr ist, zeigt dies an, daß der NEAT-Befehl, der zur Zeit des Interrupts emuliert wurde, sich in der Setup-Stufe bzw. Vorbereitungsstufe des zweiten Worts eines Zwei-Wort- Befehls befand.
  • Dieinhalte des VIAR-Registers 180 der Fig. 3, die die virtuelle Adresse des nächsten durch den NAC abzurufenden Befehls und das virtuelle Steuerregister des CPC 22 enthalten, was vorstehend erörtert wurde, müssen in deren anfänglichen Zustand zurückgesetzt werden. Dies wird im Block 382 durchgeführt, bei dem der CPC 22 den Inhalt des NAC VIAR-Registers 180 in das VCR-Register des CPC setzt und 4 von seiner VCR-Adresse subtrahiert, um auf die anfängliche VCR-Adresse des virtuellen Befehls zu kommen. Falls der INB-Merker bzw. das INB-Flag bei 383 wahr ist, befand sich der NAC 36 im zweiten Wort eines Zwei-Wort- Befehls, als der Interrupt auftrat, und es müssen zusätzliche 4 von dem VCR des CPC subtrahiert werden, um zur anfänglichen VCR-Adresse zurück zu gelangen. Bei 385, Fig. 44B, schreibt der CPC 22 die VCR-Adresse, die bei Block 382-384 bestimmt wurde, in das VIAR-Register 180 des NAC zurück. Bei 385 liest der CPC 22 SSR4 des Zustands- Stapelspeichers 182 der Fig. 3, um die alte Kopie der virtuellen Anzeigeeinrichtungs- bzw. Indikator-Merker zu erzielen. Bei 387 werden die Merker der alten Kopie in die aktuelle bzw. vorliegende Kopie im SSR1 geschrieben, um die virtuellen Anzeigeeinrichtungen im SSR1 in deren ursprünglichen, unmodifizierten Zustand zurückkehren zu lassen. Der CPC 22 und der NAC 36 werden nun in deren anfängliche Zustände zurückgespeichert. Das Programm schreitet dann zu 395 fort, wo Bit 3 des Steuerregisters des VCBM-Moduls 64 eingeschaltet wird und das Wiederholen begonnen wird.
  • Falls bei 374 kein NAC 36 vorliegt (oder der NEAT-Befehl durch den NAC 36 nicht unterstützt wird), schreitet das Programm zu 388 der Fig. 44B fort, worin der CPC 22 den aktuellen virtuellen Operationscode von seinem Vorbereitungsregister eins (SUR1) (nicht dargestellt) bekommt. Bei 389 wird Bit 16 des SUR1 geprüft, um zu bestimmen, ob ein Zwei-Wort- oder Doppelstufen-Befehl ausgeführt wurde, als der Interrupt auftrat. Falls nicht, schreitet das Programm zu 393 fort. Falls ja, wird der Zuerst-Ein-Zuerst-Aus- bzw. Silo-Rückspeicher- Stapelspeicher (RFIF0) (nicht dargestellt) geprüft, um zu bestimmen, ob der Interrupt beim Vorbereiten auftrat. Falls nicht, schreitet das Programm zu 392 fort. Falls der Interrupt beim Setup auftrat, werden die Inhalte des CPC- VCR-Registers mit dem Wert des LOCWORK verglichen, der bei 354 der Fig. 42 gespeichert wurde, um zu bestimmen, ob beide Worte des Befehls abgerufen wurden, als der Interrupt auftrat. Falls nicht, schreitet das Programm zu 393 fort. Falls ja, wurde das zweite Wort abgerufen und bei 392 wird 4 von der Adresse in dem VCR des CPC subtrahiert, um das erste Wort des Befehls zurück zu erlangen. Bei 393 wird in jedem Fall von der Adresse im VCR des CPC 4 subtrahiert, um die anfängliche VCR-Adresse zurück zu erlangen. Beim Block 394 erlangt der CPC die ursprünglichen, virtuellen Anzeigeeinrichtungs-Merker zurück, die im Block 352 der Fig. 42 abgespeichert wurden, und speichert sie in die ERU 17 (nicht dargestellt) als die ursprünglichen virtuellen Anzeigeeinrichtungen bzw. Indikatoren zurück, und das Wiederholen wird beim Block 395 gestartet, wie vorstehend erörtert wurde. Die virtuellen Indikatoren der ERU 17, des VCR, des SUR1 und des RFIF0 des 32-Bit-CPC 22 von NCR werden in der zuvor genannten NCR/32 General Information publication vollständig erläutert und sind bekannt.

Claims (8)

1. Ein fehlertolerierendes Datenverarbeitungssystem, umfassend eine Verarbeitungseinrichtung (36) zum Ausführen von Befehlen, wobei die Verarbeitungseinrichtung (36) eine Indexregisterspeichereinrichtung (74) zum Speichern von Kopien modifizierbarer Indexregister umfaßt, die beim Ausführen von Befehlen durch die Verarbeitungseinrichtung (36) verwendbar sind; eine Hauptspeichereinrichtung (32), die Speicherstellen zum Speichern modifizierbarer Indexregisterdaten der Indexregister umfaßt; und eine Datenbuseinrichtung (52), die zwischen die Verarbeitungseinrichtung (36) und die Hauptspeichereinrichtung (32) zum Übermitteln von Indexregisterdaten zwischen diesen geschaltet ist, gekennzeichnet durch eine Vielzahl von Datenspeicherregistern, die bei Speicherstellen angeordnet sind, wobei jede der Speicherstellen zwei Datenspeicherregister aufweist, eines zum Speichern ursprünglicher Indexregisterdaten und eines zum Speichern modifizierter Indexregisterdaten; eine Gültigkeitsanzeigeeinrichtung (308, 310), die mit der Vielzahl von Datenspeicherregistern zum Bestimmen verbunden ist, welches der Datenspeicherregister bei jeder der Speicherstellen ursprüngliche Indexregisterdaten enthält und welches modifizierte Indexregisterdaten enthält; und eine Eingabe-Ausgabe-Einrichtung (300, 302, 312, 314, 316), die auf die Gültigkeitsanzeigeeinrichtung (308, 310) anspricht und zwischen die Datenbuseinrichtung (52) und die Vielzahl von Datenspeicherregistern geschaltet ist, wobei die Eingabe-Ausgabe-Einrichtung zum Schreiben modifizierter Indexregisterdaten von der Datenbuseinrichtung (52) zu jenen Datenspeicherregistern, die durch die Gültigkeitsanzeigeeinrichtung (308, 310) bestimmt sind, ausgelegt ist, so daß sie während einer Befehlsausführung durch die Verarbeitungseinrichtung modifizierte Indexregisterdaten enthalten, und ausgelegt ist, ursprüngliche Indexregisterdaten von jenen Datenspeicherregistern zur Datenbuseinrichtung (52) zu lesen, die durch die Gültigkeitsanzeigeeinrichtung (308, 310) bestimmt sind, während sie ursprüngliche Indexregisterdaten während einer Wiederholungsoperation der Verarbeitungseinrichtung (36) enthalten, und wobei die Eingabe-Ausgabe-Einrichtung einen Zähler (302) zum aufeinanderfolgenden Zählen der Speicherstellen, von denen die Daten zu lesen sind, und eine Zugriffseinrichtung umfaßt, die zum Zugreifen auf jede der Speicherstellen in Erwiderung auf den Zählwert des Zählers mit dem Zähler verbunden ist.
2. Ein fehlertolerierendes Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die Gültigkeits anzeigeeinrichtung eine wahlweise aktivierbare Einrichtung zum Hin- und Herschalten (308) zum Ändern der Bestimmung für jedes jener Datenspeicherregister, die als modifizierte Indexregisterdaten enthaltend angezeigt werden, am Ende jeder Befehlsausführung durch die Verarbeitungseinrichtung (36) zu einer Anzeige hin umfaßt, daß ursprüngliche Indexregisterdaten enthalten werden.
3. Ein fehlertolerierendes Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß die Gültigkeitsanzeigeeinrichtung ferner eine Modifiziert-Anzeigeeinrichtung (310) umfaßt, die auf modifizierte Indexregisterdaten anspricht, die in einem der Datenspeicherregister bei einer der Speicherstellen abgespeichert sind, wobei die Modifiziert-Anzeigeeinrichtung (310) zum Anzeigen ausgelegt ist, welche Speicherstelle modifizierte Indexregisterdaten während der Befehlsausführung durch die Verarbeitungseinrichtung (36) empfangen hat.
4. Ein fehlertolerierendes Datenverarbeitungssystem nach Anspruch 3, dadurch gekennzeichnet, daß die Gültigkeitsanzeigeeinrichtung eine Kopplungseinrichtung umfaßt, die die Modifiziert-Anzeigeeinrichtung (310) und die Einrichtung zum Hin- und Herschalten(308) verbindet, so daß die Einrichtung zum Hin- und Herschalten (308) für jene Speicherstellen aktiviert wird, die durch die Modifiziert- Anzeigeeinrichtung als modifizierte Indexregisterdaten während der Ausführung eines Befehis durch die Verarbeitungseinrichtung (36) empfangen habend anzeigt.
5. Ein fehlertolerierendes Datenverarbeitungssystem nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Eingabe-Ausgabe-Einrichtung ferner umfaßt: eine adressierbare Einrichtung zum Empfangen einer Adresse von einer der Speicherstellen, in die Daten zu schreiben sind; und eine Multiplexereinrichtung (300) mit einem ersten Eingang, der mit dem Zähler (302) verbunden ist, einem zweiten Eingang, der mit der adressierbaren Einrichtung verbunden ist, und einem Ausgang, der mit der Zugriffseinrichtung verbunden ist; wobei die Multiplexereinrichtung (300) zum Multiplexen eines, des Zählwerts und der Adresse zum Zugreifen auf eine der Speicherstellen ausgelegt ist.
6. Ein fehlertolerierendes Datenverarbeitungssystem nach Anspruch 5, gekennzeichnet durch eine Dekodierereinrichtung (304, 306), die mit dem Ausgang der Multiplexereinrichtung (300) verbunden ist, wobei die Dekodierereinrichtung zum Dekodieren des Ausgangs der Multiplexereinrichtung (300) und zum Zugreifen auf die Gültigkeitsanzeigeeinrichtung (308, 310) ausgelegt ist.
7. Ein Verfahren zum Steuern des Betriebs eines fehlertolerierenden Datenverarbeitungssystems, gekennzeichnet durch die Schritte: Ausführen von Befehlen und Durchführen von Wiederholungsoperationen mit einem Prozessor (36); Speichern modifizierbarer Inhalte eines Indexregisters in dem Prozessor (36) für eine Anwendung bei den Befehlsausführungen; Speichern ursprünglicher Indexregisterinhalte und modifizierter Indexregisterinhalte in einer Vielzahl paarweise angelegter Datenspeicherregister, die in Speicherstellen angeordnet sind, während aufeinanderfolgender Befehlsausführungen; aufeinanderfolgendes Zählen der Speicherstellen und Zugreifen auf jede der Speicherstellen in Erwiderung auf den Zählwert und Anzeigen in einer Vielzahl zugehörender Gültigkeitsanzeigeeinrichtungen (308, 310), welches der paarweisen Datenspeicherregister die ursprünglichen Indexregisterinhalte bei jeder Speicherstelle enthält; und Übertragen der ursprünglichen Datenregisterinhalte von jeder der Speicherstellen zu dem Prozessor, der auf die Anzeige der Gültigkeitsanzeigeeinrichtung entsprechend zu der Speicherstelle anspricht, während einer Wiederholungsoperation.
8. Ein Verfahren nach Anspruch 7, gekennzeichnet durch den Schritt des Hin- und Herschaltens beim Beginn jeder Befehlsausführung, wobei nur jene Anzeigen jeder Gültigkeitsanzeigeeinrichtung zu Speicherstellen gehören, die modifizierte Indexregisterinhalte während der vorherigen Befehlsausführung empfangen haben, so daß jene zugehörigen Datenspeicherregister zum Speichern modifizierter Indexregisterinhalte für die nachfolgende Befehlsausführung zu Datenspeicherregistern werden, die als die ursprünglichen Indexregisterinhalte speichernd angezeigt werden.
DE3650651T 1985-06-24 1986-06-11 Fehlertolerantes Datenverarbeitungssystem Expired - Fee Related DE3650651T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/748,361 US4751639A (en) 1985-06-24 1985-06-24 Virtual command rollback in a fault tolerant data processing system

Publications (2)

Publication Number Publication Date
DE3650651D1 DE3650651D1 (de) 1997-11-27
DE3650651T2 true DE3650651T2 (de) 1998-04-09

Family

ID=25009138

Family Applications (3)

Application Number Title Priority Date Filing Date
DE198686903982T Pending DE227749T1 (de) 1985-06-24 1986-06-11 Fehlertolerantes datenverarbeitungssystem.
DE8686903982T Expired - Lifetime DE3682039D1 (de) 1985-06-24 1986-06-11 Fehlertolerantes datenverarbeitungssystem und verfahren dazu.
DE3650651T Expired - Fee Related DE3650651T2 (de) 1985-06-24 1986-06-11 Fehlertolerantes Datenverarbeitungssystem

Family Applications Before (2)

Application Number Title Priority Date Filing Date
DE198686903982T Pending DE227749T1 (de) 1985-06-24 1986-06-11 Fehlertolerantes datenverarbeitungssystem.
DE8686903982T Expired - Lifetime DE3682039D1 (de) 1985-06-24 1986-06-11 Fehlertolerantes datenverarbeitungssystem und verfahren dazu.

Country Status (6)

Country Link
US (1) US4751639A (de)
EP (2) EP0227749B1 (de)
JP (1) JP2521738B2 (de)
CA (1) CA1255008A (de)
DE (3) DE227749T1 (de)
WO (1) WO1987000316A2 (de)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE454730B (sv) * 1986-09-19 1988-05-24 Asea Ab Forfarande och datorutrustning for stotfri omkoppling av funktionen fran aktiva enheter till beredskapsenheter i en centralenhet
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5247628A (en) * 1987-11-30 1993-09-21 International Business Machines Corporation Parallel processor instruction dispatch apparatus with interrupt handler
US4959836A (en) * 1987-12-09 1990-09-25 Siemens Transmission Systems, Inc. Register robustness improvement circuit and method
US4945474A (en) * 1988-04-08 1990-07-31 Internatinal Business Machines Corporation Method for restoring a database after I/O error employing write-ahead logging protocols
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5247618A (en) * 1989-06-30 1993-09-21 Digital Equipment Corporation Transferring data in a digital data processing system
DE69031443T2 (de) * 1989-06-30 1998-04-23 Digital Equipment Corp Verfahren und Anordnung zur Steuerung von Schattenspeichern
US5239637A (en) * 1989-06-30 1993-08-24 Digital Equipment Corporation Digital data management system for maintaining consistency of data in a shadow set
US5210865A (en) * 1989-06-30 1993-05-11 Digital Equipment Corporation Transferring data between storage media while maintaining host processor access for I/O operations
EP0409808A3 (en) * 1989-07-19 1991-11-27 International Business Machines Corporation Method for ensuring map integrity in a system-managed store of a computer
US5613106A (en) * 1989-09-15 1997-03-18 Motorola, Inc. Method for processing and storing a transaction in a distributed database system
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5442772A (en) * 1991-03-29 1995-08-15 International Business Machines Corporation Common breakpoint in virtual time logic simulation for parallel processors
US5313625A (en) * 1991-07-30 1994-05-17 Honeywell Inc. Fault recoverable computer system
GB9121540D0 (en) * 1991-10-10 1991-11-27 Smiths Industries Plc Computing systems and methods
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
GB2281644A (en) * 1993-09-02 1995-03-08 Ibm Fault tolerant transaction-oriented data processing.
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
DE69506404T2 (de) * 1994-06-10 1999-05-27 Texas Micro Inc., Houston, Tex. Hauptspeichervorrichtung und wiederanlaufkennzeichnungsverfahren für ein fehlertolerantes rechnersystem
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
US5923830A (en) * 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
US7035880B1 (en) 1999-07-14 2006-04-25 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US7395282B1 (en) 1999-07-15 2008-07-01 Commvault Systems, Inc. Hierarchical backup and retrieval system
FR2803057B1 (fr) 1999-12-22 2002-11-29 Centre Nat Etd Spatiales Systeme informatique tolerant aux erreurs transitoires et procede de gestion dans un tel systeme
US6721767B2 (en) * 2000-01-31 2004-04-13 Commvault Systems, Inc. Application specific rollback in a computer system
US7155481B2 (en) 2000-01-31 2006-12-26 Commvault Systems, Inc. Email attachment management in a computer system
US7003641B2 (en) 2000-01-31 2006-02-21 Commvault Systems, Inc. Logical view with granular access to exchange data managed by a modular data and storage management system
US6658436B2 (en) 2000-01-31 2003-12-02 Commvault Systems, Inc. Logical view and access to data managed by a modular data and storage management system
US7454569B2 (en) 2003-06-25 2008-11-18 Commvault Systems, Inc. Hierarchical system and method for performing storage operations in a computer network
WO2005050381A2 (en) 2003-11-13 2005-06-02 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US8209524B2 (en) 2005-08-29 2012-06-26 The Invention Science Fund I, Llc Cross-architecture optimization
US7774558B2 (en) 2005-08-29 2010-08-10 The Invention Science Fund I, Inc Multiprocessor resource optimization
US8181004B2 (en) * 2005-08-29 2012-05-15 The Invention Science Fund I, Llc Selecting a resource management policy for a resource available to a processor
US20070050608A1 (en) * 2005-08-29 2007-03-01 Searete Llc, A Limited Liability Corporatin Of The State Of Delaware Hardware-generated and historically-based execution optimization
US8214191B2 (en) * 2005-08-29 2012-07-03 The Invention Science Fund I, Llc Cross-architecture execution optimization
US7627739B2 (en) * 2005-08-29 2009-12-01 Searete, Llc Optimization of a hardware resource shared by a multiprocessor
US7647487B2 (en) * 2005-08-29 2010-01-12 Searete, Llc Instruction-associated processor resource optimization
US8255745B2 (en) * 2005-08-29 2012-08-28 The Invention Science Fund I, Llc Hardware-error tolerant computing
US8423824B2 (en) 2005-08-29 2013-04-16 The Invention Science Fund I, Llc Power sparing synchronous apparatus
US7653834B2 (en) * 2005-08-29 2010-01-26 Searete, Llc Power sparing synchronous apparatus
US7779213B2 (en) * 2005-08-29 2010-08-17 The Invention Science Fund I, Inc Optimization of instruction group execution through hardware resource management policies
US7725693B2 (en) * 2005-08-29 2010-05-25 Searete, Llc Execution optimization using a processor resource management policy saved in an association with an instruction group
US7739524B2 (en) * 2005-08-29 2010-06-15 The Invention Science Fund I, Inc Power consumption management
US20070050605A1 (en) * 2005-08-29 2007-03-01 Bran Ferren Freeze-dried ghost pages
US7877584B2 (en) * 2005-08-29 2011-01-25 The Invention Science Fund I, Llc Predictive processor resource management
US8516300B2 (en) * 2005-08-29 2013-08-20 The Invention Science Fund I, Llc Multi-votage synchronous systems
US8375247B2 (en) * 2005-08-29 2013-02-12 The Invention Science Fund I, Llc Handling processor computational errors
US8719809B2 (en) 2006-12-22 2014-05-06 Commvault Systems, Inc. Point in time rollback and un-installation of software
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3533082A (en) * 1968-01-15 1970-10-06 Ibm Instruction retry apparatus including means for restoring the original contents of altered source operands
US3564506A (en) * 1968-01-17 1971-02-16 Ibm Instruction retry byte counter
US3736566A (en) * 1971-08-18 1973-05-29 Ibm Central processing unit with hardware controlled checkpoint and retry facilities
FR2269148B1 (de) * 1974-04-25 1978-01-20 Honeywell Bull Soc Ind
IT1014277B (it) * 1974-06-03 1977-04-20 Cselt Centro Studi Lab Telecom Sistema di controllo di elaboratori di processo operanti in parallelo
DE2523795C3 (de) * 1975-05-28 1979-11-22 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren zum wiederholten Ausführen von Maschinenbefehlen durch eine festverdrahtete Steuerung in einer Verarbeitungseinheit einer Datenverarbeitungsanlage
US4044337A (en) * 1975-12-23 1977-08-23 International Business Machines Corporation Instruction retry mechanism for a data processing system
US4199810A (en) * 1977-01-07 1980-04-22 Rockwell International Corporation Radiation hardened register file
US4456952A (en) * 1977-03-17 1984-06-26 Honeywell Information Systems Inc. Data processing system having redundant control processors for fault detection
JPS589976B2 (ja) * 1977-03-17 1983-02-23 株式会社東芝 演算制御装置
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
NL7909178A (nl) * 1979-12-20 1981-07-16 Philips Nv Rekenmachine met verspreide redundantie welke is verdeeld over verschillende isolatiegebieden voor fouten.
US4315313A (en) * 1979-12-27 1982-02-09 Ncr Corporation Diagnostic circuitry in a data processor
US4387441A (en) 1981-04-16 1983-06-07 Ncr Corporation Data processing system wherein at least one subsystem has a local memory and a mailbox memory within the local memory for storing header information
US4486826A (en) 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
JPS5958547A (ja) * 1982-09-28 1984-04-04 Fujitsu Ltd マイクロプログラム制御装置のエラ−処理方式
JPS5957351A (ja) * 1982-09-28 1984-04-02 Nec Corp デ−タ処理システム
US4493035A (en) * 1982-12-07 1985-01-08 Motorola, Inc. Data processor version validation

Also Published As

Publication number Publication date
WO1987000316A3 (en) 1987-02-26
WO1987000316A2 (en) 1987-01-15
EP0227749B1 (de) 1991-10-16
EP0440312A3 (en) 1991-10-30
DE3682039D1 (de) 1991-11-21
EP0227749A1 (de) 1987-07-08
JP2521738B2 (ja) 1996-08-07
DE3650651D1 (de) 1997-11-27
EP0440312B1 (de) 1997-10-22
CA1255008A (en) 1989-05-30
EP0440312A2 (de) 1991-08-07
DE227749T1 (de) 1988-02-04
US4751639A (en) 1988-06-14
JPS63500129A (ja) 1988-01-14

Similar Documents

Publication Publication Date Title
DE3650651T2 (de) Fehlertolerantes Datenverarbeitungssystem
DE68924223T2 (de) Mechanismus zum Prüfpunktwiederversuch.
DE68924119T2 (de) Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.
DE68913629T2 (de) Satzverriegelungsprozessor für vielfachverarbeitungsdatensystem.
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE19882853B3 (de) Verfahren und Steuereinrichtung zum automatischen Korrigieren von in einem Speichersubsystem erfassten Fehlern und Computersystem, das eine solche Steuereinrichtung aufweist
DE69032607T2 (de) Physischer, einziger Hauptspeicher, anteilig genutzt durch zwei oder mehr Prozessoren, die ihr jeweiliges Betriebssystem ausführen
DE69215581T2 (de) Fehlertolerantes Mehrrechnersystem
DE69032611T2 (de) Anordung und Verfahren zum Verbinden eines Datenprozessors mit einem unbekannten Informationsverarbeitungssystem
DE69032631T2 (de) Verfahren und Anordnung zum Hinzufügen von einer Datenverarbeitungsfunktion zu einem Datenverarbeitungssystem
DE69031815T2 (de) Initialisation eines fehlertoleranten Datenverarbeitungssystems
DE3786862T2 (de) Fehlertolerante Rechnerarchitektur.
DE3854368T2 (de) Cachespeicher mit einer Elastizität in der Verarbeitung verschiedener Adressenfehler.
DE68919069T2 (de) Verfahren und Gerät zur Fehlererkennung und -korrektur in einem nach dem überlappten Steuerungsverfahren arbeitenden Rechnersystem.
DE68926385T2 (de) Methode und Hardware-Ausführung von komplexen Datentransferbefehlen
DE69031093T2 (de) Unterbrechungsbedienung in einem Datenverarbeitungssystem
DE68923828T2 (de) Architektur und Schnittstelle für Speicherkarten.
DE69129565T2 (de) Hochleistungsfähiger Emulator mit Pipelining
DE2846495C2 (de) Zentraleinheit
DE2316296C2 (de) Mikroprogrammierbarer Prozessor
DE69230211T2 (de) Integrierter Speicher, Verwaltungsverfahren und resultierendes Informationssystem
DE69027806T2 (de) Multifunktionskoppler zwischen einer zentralen Verarbeitungseinheit eines Rechners und verschiedenen Peripheriegeräten dieses Rechners
DE2714805A1 (de) Datenverarbeitungssystem
DE68926954T2 (de) Schnittstelle zwischen einer Systemsteuereinheit und einer Dienst-Processoreinheit in einem Digitalrechner
DE4134192A1 (de) Integrierter schaltkreis mit verarbeitung im speicher

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee