DE1935944C3 - Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage - Google Patents

Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage

Info

Publication number
DE1935944C3
DE1935944C3 DE1935944A DE1935944A DE1935944C3 DE 1935944 C3 DE1935944 C3 DE 1935944C3 DE 1935944 A DE1935944 A DE 1935944A DE 1935944 A DE1935944 A DE 1935944A DE 1935944 C3 DE1935944 C3 DE 1935944C3
Authority
DE
Germany
Prior art keywords
error
data
register
functional unit
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
DE1935944A
Other languages
English (en)
Other versions
DE1935944B2 (de
DE1935944A1 (de
Inventor
Harold Fowler Poughkeepsie Heath Jun.
Samir Said White Plains Husson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE1935944A1 publication Critical patent/DE1935944A1/de
Publication of DE1935944B2 publication Critical patent/DE1935944B2/de
Application granted granted Critical
Publication of DE1935944C3 publication Critical patent/DE1935944C3/de
Expired legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)

Description

Die Erfindung betrifft eine Steuereinrichtung in einer aus mindestens einer Funktionseinheit bestehenden Datenverarbeitungsanlage nach dem Oberbegriff des Anspruchs 1.
EleKtronische Datenverarbeitungsanlagen verarbeiten die Daten in Abhängigkeit von Instruktionen, aus denen ein Programm besteht. Die Instruktionen werden dabei gewöhnlich als eine Folge von Schritten ausgeführt, die einen bestimmten zeitlichen Abstand voneinander besitzen. Während der Ausführung eines dieser Schritte ist es möglich, daß eine Funktionsstörung im System auftritt. Systemstörungen oder Fehler können entweder kurzzeitige oder bleibende Fehler sein. Ein kurzzeitiger Fehler kann beispielsweise durch einen plötzlichen Leistungsabfall im Stromversorgungsteil des Systems oder durch einen mechanischen Stoß verursacht werden. Fehler in Komponenten, beispielsweise Defekte in Transistoren oder Dioden können zu einem bleibenden Fehler führen.
Die frühesten bekannten Maßnahmen bei Datenverarbeitungsanlagen, die im Fehlerfalle getroffen wurden, führten, unbeachtet der Fehlerkategorie, d. h. ob es ein kurzzeitiger oder bleibender Fehler war, zu einem vollständigen Maschinenstop. Hieraus ergaben sich unökonomische Stillstandszeiten des Systems, bis der
to Fehler behoben werden konnte (dieses bestand oftmals in einem erneuten Start des Programms von seinem Beginn an). Diese umfangreichen Stillstandszeiten des Systems wurden dann dadurch eingeschränkt, daß per Programm sogenannte »Prüfpunkte« (Check Points) gesetzt wurden. Im Fehlerfalle eines Systems wurde dann das Programm nur von der Stelle an wiederholt, an der sich noch ein korrekter Prüfpunkt befand.
Diese Prüfpunkttechnik stellt jedoch keine optimale Lösung dieses Problems dar, da alle Informationen, die für die Wiederholung des Programmablaufes vom korrekten Prüfpunkt an zu einem Hilfsspeicher, beispielsweise einem Band- oder Plattenspeicher übertragen werden müssen. Diese Information muß hierbei folgendes umfassen: den gesamten Inhalt des Hauptspeichers der Anlage, den Zustand aller Statusanzeiger, die Identität der letzten Aufzeichnung der Eingangsdaten, die noch erfolgreich verarbeitet wurden und die Identität der letzten Aufzeichnung der
Ausgangsdaten, die von dem System an jedes Ausgabegerät abgegeben wurde. Wenn dann ein Fehler einen Systemstop verursachte, konnten alle Teile des Systems auf die Bedingungen zurückgestellt werden, die zur Zeit des Prüfpunktes vorlagen, so daß die Verarbeitung nun von diesem Punkt an erneut durchgeführt werden konnte. Obwohl diese Technik vom Standpunkt der Programmierung her gesehen Vorteile bot, wenn lange Programme auf der Maschine liefen, so hatte sie doch mehrere Nachteile. Beispielsweise führte auch die Reinitialisierung des Systems auf den vorhergehenden Prüfpunkt zu beträchtlichen Zeitverlusten und auch die Programmierer waren in ihrer Freiheit beschränkt, wenn sie lange Programme so zu schreiben hauen, daß die Prüfpunkte noch eine bequeme zu handhabende Lage besaßen. Der vielleicht entscheidenste Nachteil dieser per Programm vorgesehenen Prüfpunkttechnik bestand wohl darin, daß, wenn in einem System kein Fehler auftrat, ein beträchtlicher Zeit- und Systemaufwand in einer p.oduktiven Weise getrieben werden mußte, um die Daten der nicht benutzten Prufpunkte zu handhaben.
Es wurde daher für die neueren Systeme ein Verfahren entwickelt, das zwischen kurzzeitigen und bleibenden Fehlern unterscheiden kann. Diese Technik läuft darauf hinaus, daß das System veranlaßt wird, eine Instruktion zu wiederholen, während deren Ausführung ein Fehler erkannt wurde. Wenn es sich um einen kurzzeitigen oder intermittierenden Fehler handelte, führte eine der Wiederholungen dieser Instruktion zu einem richtigen Ergebnis. Diese Technik wurde dahingehend weiterentwickelt, daß nach einer vorgebbaren Anzahl von erfolglosen Wiederholungen der Fehler als bleibender Fehler klassifizieri wurde, der dann der Systembedienung gemeldet wurde.
Die bekannten Lösungen zur Behandlung bleibender Fehler werden in die beiden Klassen: »redundante Systeme« und »Emulationssysteme« gruppiert. Ein redundantes System enthält hierbei mehr Funktionseinheiten als notwendig sind, wenn das System in einem normalen fehlerfreien Zustand läuft. Obwohl dieses System beispielsweise für den normalen Betrieb einen Addierer benötigt, werden aber zwei vorgesehen. Wenn einer dieser Addierer eine Funktionsfähigkeit zeigt, wird automatisch der andere Addierer in den Datenfluß eingeschaltet und anstelle des defekten Addierers benutzt. Bei Emulationssystemen sind verschiedene Funktionseinheiten so ausgebildet, daß sie in der Lage sind, solche Funktionen auszuführen, die normalerweise von einer anderen Einheit ausgeführt wird. Wenn bei dieser Systemart bei einer Einheit ein bleibender Fehler auftritt, dann kann die andere Einheit dazu benutzt werdenderen Funktion zu übernehmen.
Beides Systeme besitzen jedoch Nachteile. Das redundante System ist aufwendiger, arbe:tet aber mit höherem Wirkungsgrad, wenn ein bleibender Fehler auftritt. Das Emulationssystem besitzt dagegen einen geringeren Wirkungsgrad, da das Auftreten eines bleibenden Fehlers einer Funktionseinheit des Systems dazu zwingt, eine Doppelfunktion zu übernehmen. Sie hat also nicht nur die eigene Funktion zu übernehmen, sondern darüber hina;- .... -. noch die Funktion der defekten Einheit. Beiden Systemen ist der Nachteil gemeinsam, daß sie einen beträchtlich hohen Aufwand an Komponenten benötigen: Das redundante System ist deshalb aufwendig, weil es zusätzliche Funktionseinheiten benötigt, das Emulationssystem, weil für die höhere Flexibilität seiner Einheiten eine aufwendigere Schalt-Jcreistechnik notwendig ist.
Bei der Datenübertragung über mehrere Kanäle kann es vorkommen, daß ein Kanal gestört und somit für eine ordnungsgemäße Datenübertragung unbrauchbar ist Um trotzdem eine Oberiiagung aller Daten zu ermöglichen, ist durch die US-PS 32 53 259 bekannt geworden, daß der unbrauchbare Kanal abgeschaltet wird und ein intakter Kanal zusätzlich noch die Daten des gestörten Kanals mitüberträgt Dieses führt zu ίο einem ungestörten, jedoch langsameren Betrieb, da die Daten des gestörten Kanals vorher oder im Anschluß an die Daten des anderen intakten Kanals übertragen werden müssen.
Da der gestörte Kanal aber permanent abgeschaltet bleibt selbst dann, wenn nur eine vorübergehende Störung vorlag, ergibt sich hier der Nachteil eines konstanten Geschwindigkeitsverlustes.
Es ist daher die Aufgabe der vorliegenden Erfindung, eine Lösung für Funktionseinheiten einer elektronisehen Datenverarbeitungsanlage anzugeben, die einen ununterbrochenen Beirieb dadurch ermöglicht, daß intakte Stufen die Funktion gestörter Stufen mitübernehmen und die Daten seriell, aber langsamer verarbeiten, die bei Fonfall einer Störung automatisch wieder in den schnelleren Parallelbetrieb übergeht
Gelöst wird diese Aufgabe der Erfindung durch die im Hauptanspruch angegebenen Merkmale.
Vorteilhafte Ausgestaltungen und Weiterbildungen des Gegenstandes der Erfindung sind den Unteransprüchen zu entnehmen.
Durch die Erfindung wird also der Vorteil erzielt, daß der langesamere Serienbetrieb, der im Fehlerfalle vorgesehen ist bei Auftreten einer Störung nicht generell aufrechterhalten wird, sondern nach dem Ablauf kurzzeitiger oder sporadischer Fehler automatisch wieder zum schnelleren Parallelbetrieb übergegangen wird. Die Verarbeitungsgeschwindigkeit der Datenverarbeitungsanlage wird somit nach Feststellung eines Fehlers nicht permanent reduziert.
Die Erfindung wird im folgenden anhand eines Ausführungsbeispieles und der Zeichnungen näher erläutert Es zeigt
Fig. 1 das Blockdiagramm eines Datenverarbeitungssystems, in welchem die vorliegende Erfindung verwendet werden kann,
F i g. 2 das Blockdiagramm der allgemeinen Organisation der Folgesteuerungen der zentralen Verarbeitungseinheit des umgebenden Systems,
Fig.3 eine Zeittabelle der in Fig.2 gezeigten Taktgeberschaltung 306,
Fig.4 das Schemadiagramm einer allgemeinen Anwendungsmöglichkeit der vorliegenden Erfindung für die Funktionseinheit einer Datenverarbeitungsanlage,
F i g. 5 das Blockdiagramm der verschiedenen Fehleranzeigen zur Steuerung des Datenflusses durch die Funktionseinheit bei Abfühlung eines Fehlers,
F i g. 6 das Blockdiagramm eines Fehlerzählers und einer -verriegelung zum Festestelien bleibender Fehler und
Fig. 7 die Blockdarstellung einer spezifischen Anwendung der Erfindung in Verbindung mit dem Addierer des Datenverarbeitungssystems.
Die vorliegende Erfindung kann in einem Datenverarbeitungssystem verwendet werden, das in üblicher Weise einen Speicher, eine zentrale Verarbeitungseinheit (CPU), eine Systemsteuerung und eine Eingabe-Ausgabe-Einheit (E/A-Einheit) umfaßt.
Das in Fig. 1 gezeigte Speichersystem umfaßt einen Hauptspeicher (MS) 12 und einen Arbeitsspeicher (LS) 13. Obwohl keine spezielle E/A-Einheiten dargestellt sind, stehen diese allgemein bekannten Einheiten mit dem System in F i g. 1 über die Torschaltungen 216 und die Verriegelungsschaltungen 217 für die Addiererausgangsleitung (AOB-Verriegelungen) sowie mit der AOB-Leitung 221 in Verbindung. Die Systemsteuerung 11 steuert den Systembelrieb durch öffnen und Schließen von Torschaltungen und Abgabe anderer Steuersignale an verschiedene Stellen im System. Da dieses Öffnen und Schließen und die Steuersignale sowie ihre Anwendung allgemein bekannt ist, sind sie kollektiv durch die Ausgangsleitung 15 dargestellt. Bestimmte für die vorliegende Erfindung wichtige Steuersignale werden später genauer beschrieben. Die übrige in Fig. 1 dargestellte Schaltung wird allgemein als Teil der Zentraleinheit (CPU) betrachtet. Die CPU und das System können Instruktionen für die Speicherung von Informationen an derselben Stelle (store-inplace instructions) ausführen.
Der Hauptspeicher (MS) 12 kann physikalisch mit der CPU integriert oder als separate Einheit ausgelegt sein. Die Geschwindigkeit des Speicherzyklus steht nicht direkt in Beziehung zur internen Zyklusfolge der CPU und gestattet dadadurch eine wirksame Beziehung der CPU-Geschwindigkeit zur Speichergröße. Abruf und Speicherung von Daten durch die Zentraleinheit werden durch eine gleichzeitig ausgeführte E/A-Datenübertragung nicht beeinflußt.
Der Hauptspeicher 12 besteht vorzugsweise aus einer Matrixanordnung von Magnetkernen, in welcher eine gegebene Adresse durch Signale im Speicheradreßregister (SAR) 90 gewählt wird. Wenn das SAR 90 die Hauptspeicheradresse enthält, durchläuft der Hauptspeicher 12 mit seiner eigenen internen Taktsteuerung seinen Grund-Speicherzyklus und liest Informationen über die Ausgangs-Abfrageleitung 95 in das Speicherdatenregister (SDR) 91. Vom SDR 91 können Daten in dem MS 12 regeneriert und über die Torschaltung 216 und die AOB-Verriegelungen 217 auf die AOB 221 gegeben werden.
Der Speicher-Grundzyklus umfaßt einen Halbzyklus zum Lesen (Lesezyklus), in dem Daten aus dem Hauptspeicher in das SDR ausgelesen werden und einen nachfolgenden Halbzyklus zum Schreiben (Schreibzyklus) in welchem die Information aus dem SDR 91 in den Hauptspeicher zurückgeschrieben wird. Wenn man vor der Regeneration im Schreibzyklus eine andere Information in das SDR 91 setzt, wird die ursprünglich im Hauptspeicher vorhandene Information verändert. Gleichzeitig mit dem Regenerationszyklus wird die im SDR 91 stehende Information über die AOB 22 dem System zur Verfügung gestellt.
Im Informationsformat des Datenverarbeitungssystems sind 8 Bits zu einem Byte zusammengefaßL Jedes Byte enthält außerdem noch ein 9. Bit zur Paritätsprüfung. Das Paritätsbit kann durch das Programm nicht beeinflußt werden und hat nur eine Systemunterbrechung zu verursachen, wenn ein Paritätsfehler auftritt Es wird angenommen, daß das Paritätsbit die Bytes begleitet und daß die normalen Paritätsprüfschaltungen im ganzen System in bekannter Weise vorhanden sind.
Ein aus 2 Btyes bestehendes größeres Feld bildet ein Halbwort und 4 Bytes oder 2 Halbwörter ein (ganzes) Wort In dem System und der Einrichtung gemäß dieser Erfindung sind 4 aufeinanderfolgende Bytes als ein Wort definiert Die Wörter oder Bytes können jedoch auch jede andere Anzahl von Bits enthalten.
In den System können verschiedene Datenformate verwendet werden, so daß die unterschiedlichen Instruktions- und Operandenlängen von der jeweils auszuführenden Operation abhängen.
Die Bytes stehen in zugeordneten Stellen im Speicher, die der Reihe nach mit 0 beginnend numeriert sind. Jede Nummer gilt als Adresse des entsprechenden Byte. Eine Gruppe von Bytes im Speicher wird durch das äußerste linke Byte der Gruppe adressiert. Die Anzahl der Bytes in einer Gruppe ist entweder implicit oder explicit durch die von der Instruktion vorgeschriebene Operation definiert. Die Adressenanordnung arbeitel mit binären Adressen aus 24 Bits und erreicht so ein Maximum von 16 777 216 Byteadressen. Zu diesem Satz von Hauptspcichcradrcsscn gehören einige Stellen, die für Sonderzwecke reserviert sind.
Die Speicheradressierung verläuft von der höchsten Byteadresse bis zur Adresse 0. Operanden verschiedener Länge können teilweise in die erste und teilweise in die letzte Speicherstelle gesetzt werden und ohne besondere Anzeige für das Überschreiten der höchsten Adreßgrenze verarbeitet werden.
Felder mil fesler Länge, wie Halbwörter und Doppelwörter, müssen an einer nicht unterbrochenen Grenze für diese Informationseinheit in den Hauptspeicher gesetzt werden. Eine Grenze wird als für eine Informationseinheil nicht unterbrochen bezeichnet, wenn ihre Speicheradresse ein Vielfaches der Länge der Einheit in Bytes beträgt. So müssen z. B. aus 4 Bytes bestehende Wörter so in den Speicher gesetzt werden, daß ihre Adresse ein Vielfaches der Zahl 4 ist. Felder mit veränderlicher Länge sind nicht an diese Grenzen gebunden und können auf irgendeiner Bytestelle beginnen.
Der Arbeitsspeicher (LS) 13 umfaßt 64 Register mil einer Kapzitäl von einem Wort, die durch das Arbeitsspeicher-Adreßregister (LSAR) 120 adressiert werden. Das LSAR 120 wird vom J-Register 121
■»0 geladen, das seinerseits wieder aus der AOB 221 über die Verschieberausgangsleilung 222 gespeist wird. Sobald eine Leseoperalion vom LS 13 vorgeschrieben wird, wird das adressierte Wort im LS 13 entweder auf das L-Register 126 oder auf das RRegister 124 geleitet.
Die Ausgangssignale dieser Register L und R werden dann entweder auf den LS 13 zurück oder auf den Addierer 210 geleitet.
Der LS 13 verfügt über eine Lese- und eine Schreiboperation, ähnlich wie der Hauptspeicher 12.
so 16 der im LS 13 vorhandenen 64. ein Wort großen. Speicherstellen sind allgemeine Register und werden als Indexregister bei der Adreßberechnung und Indexierung sowie als Akkumulatoren bei der Feslpunktarithmetik und bei logischen Operationen benutzt Diese allgemeinen Register sind mit den Nummern 0—15 bezeichnet und durch ein 4 Bits großes Feld in den Instruktionen angegeben. Außerdem umfaßt der LS 13 Arbeitsspeicherstellen, die während der Verarbeitung für die verschiedensten Zwecke benutzt werden.
Es sind 3 Hauptdatenleitungen unterschiedlicher Breite vorhanden, durch welche Daten von einem Register auf ein anderes geladen werden. Diese Leitungen sind die 32 Bit breite Addiererausgangsleitung (AOB) 221, die 24 Bit breite Instruktionsadreßleitung (IAB) 223 und die 8 Bit breite Verschieber-Ausgangsleitung (MOB) 222. Im Grundsystem fließen die Daten hauptsächlich in zwei parallelen Bahnen, die gleichzeitig aktiviert werden können, und zwar in der 32
Bil breiten Addiererbahn einschließlich Addierer 210, die durch verschiedene 32 Bit große Register L, R, M und H gespeist wird und durch die 8 Bit breite Verschieberbahn mit dem 8 Bit großen Übertrager (Verschieber) 213, der durch die Register L, R und M gespeist wird. Der Verschieber verarbeitet ein Byte große Blöcke in Schritten von halben Bytes.
Außer diesen beiden Datenbahnen sind noch die Datenbahnen des Verschiebers, der Instruktionsadresse, des Arbeitsspeichers und des Hauptspeichers für die Erläuterung der Erfindung von Interesse.
Der Addierer kann binäre und dezimale arithmetische Operationen ausführen. Bei Ausführung von dezimalen arithmetischen Operationen wird eine binäre Addition ausgeführt (echt oder komplementär) und ein dezimaler Korrekturfaktor im selben CPU-Zyklus in das L-Register gesetzt. Ein weiterer Zyklus ist erforderlich, um den Korrekturfaktor von den Ergebnissen des vorhergehenden Zyklus zu substrahieren. Der Addierer 210 umfaßt ferner außer den 32 einzelnen Addierereinheiten, 4 Paritätsprüf-Schaltungen (eine für jedes Byte), 4 Paritätsbit-Erzeugerschallungen (eine für jedes Byte) sowie eine Übertrags-Vorausschau-Schaltung. Bei der Durchführung arithmetischer Funktionen werden Daten von den 32 Bit großen Registern H, M oder R auf den rechten Addiereingang Y geleitet. Der linke Addiereingang XG enthält eine Echt-ZKomplement-Torschallung 220 und wird von dem 32 Bit großen L-Register 126 gespeist.
In einem einzelnen CPU-Zyklus wird je einer von zwei 32 Bit großen Operanden auf den XG-Eingang und den Y-Eingang des Addierers gegeben, durch den Addierer geleitet und weitergeführt, um die Addierer-Ausgangsverriegelungen 217 zu setzen. Am Ende des CPU-Zyklus steht der Ausgang des Addierers in den y, Verriegelungen 217 zum Ausleiten auf ein Arbeitsregister bereit. Die Subtraktion wird im Grundsystem mit Hilfe des Zweierkomplements ausgeführt, welches durch die Torschaltung 220 am XG-Eingang des Addierers gesteuert wird. Wenn diese Echt-/K.omple- -in ment-Torschaltung gesetzt ist. werden die auf den XG-Eingang geleiteten Bits komplementiert. Sie bilden somit das Einerkomplement des ursprünglichen XG-Einganges. Das Zweierkomplement wird durch Einfügen eines Übertrags in den XG-Addiereingang erreicht. Multiplikation und Division führt der Addierer durch aufeinanderfolgende Addition und Substraktionen aus. Die nötigen Leit- und Steuersignale für diese Operationen gehen aus der nachfolgenden genaueren Beschreibung der Systemsteuereinheit 11 hervor.
Der Verschieber-Datenweg verläuft vom Addierer 210 zu den AOB-Verriegelungen 217 und ermöglicht eine Verschiebung der Information des Addiererausganges nach links oder rechts um eine oder vier Positionen. Außerdem umfaßt der Verschieber 215 nicht dargestellte Einrichtungen zum Erhalten und Speichern der Uberlaufteile von verschobenen Daten. Auch der Verschieber wird von der System-Steuerung 11 gesteuert.
Der Verschieber-Datenweg wird hauptsächlich für bo die Ausführung von Instruktionen mit veränderlicher Feldlänge (VFL-lstruktionen) benutzt Für eine logische Operation können vom Verschieber 2 Bytequellen gleichzeitig angewählt werden. Die Eingangsinformation des linken Verschiebereingangs U kann ein Byte sein, das von einem der Register L oder R unter Steuerung eines der beiden Bytezähler LB 101 und MB 102 ausgewählt wurde oder das vom Inhalt der beiden 4 Bit großen Register MD 103 und F 104 gebildet wurde. Der rechte Schiebereingang V ist ein vom M-Register 211 unter Steuerung entweder des Bytezählers LB oder MB gewähltes Byte. Der Schieber wird genauso wie die anderen Datenwege von der Systemsteuereinheit 11 gesteuert.
Der Datenweg für die instruktionsadresse ist 24 Bits breit, um eine Instruktion aus 24 Bits, die im Instruktionsadreß-Register 218 enthalten ist, zu bewegen und fortzuschreiben. Am Anfang wird durch die Systemsteuerung 11 die erste Instruktion in das Instruktionsadreß-Register (IAR) gesetzt. Instruktionen werden vom IAR 218 auf den Instruktionsadreß-zähler und die IAR-Verriegelungen 219 gegeben. Der Instruktionsadreßzähler schaltet die Instruktionsadresse um die entsprechende Anzahl vor. Bytes weiter (6 Bytes bei einer Rückspreicherung an derselben Stelle oder SS-Instruktionen) und setzt die fortgeschriebene Adresse über die Leitung 226 in das IAR. Die laufende Instruktionsadresse stellt vor der Fortschreibung die Stelle im Hauptspeicher 12 der laufenden auszuführenden Instruktion dar und wird in das Speicheradreßregister (SAR) 90 geleitet, welches mit dem Hauptspeicher 12 in Verbindung steht, und sorgt für das Auslesen der adressierten Instruktion in das SDR 91. Vom Hauptspeicher 12 in das SDR ausgelesene Instruktionen laufen über die Leitschaltung 216 zu den AOB-Verriegelungen 217. Die Operationsfolge beim Ausleiten einer Instruktion wird Instruktionsabruf genannt und in einen Abruf ersten und zweiten Grades unterteilt. Während des Instruktionsabrufes wird die Instruktion ausgelesen und dazu benutzt, verschiedene Anfangsbedingungen vor Beginn der Ausführung der Instruktion in die CPU und den Arbeitsspeicher zu setzen.
Die Systemsteuereinheil 11 umfaßt selbst eine Folgesteuerung 302, allgemeine Statusregister 303. ein Programm-Statuswort-Register (PSW) 304 und eine Fehlererkennungs-Schaltung 305.
Die Folgesteuerungen für das Datenverarbeitungssystem sind in den Fig.2 und 3 dargestellt und umfassen eine aus Kondensatoren gebildeten Festwertspeicher (ROS) 300, einen Bctricbsartcntriggcr 307, Bedingungstrigger 303, auch STATs genannt, und Zeitgeber-Schaltungen 306. Die Zeitgeberschaltungen 306 erzeugen 5 zyklische Signale mit der CPU-Frequenz, die bezüglich des Null-Zeitsignals jedes CPU-Zyklus, gemäß der Darstellung in Fig. 3, in Phasenübereinstimmung gebracht sind.
Daten im Festwertspeicher werden durch ein 12 Bit großes Auswahlregister (ROAR) 308 adressiert. Adreßsignale für das ROAR können von verschiedenen Quellen einschließlich eines Teiles der Ausgangs-Steuerinformation vom Festwertspeicher-Datenregister (ROSDR) 310 in jedem CPU-Zyklus entnommen werden, um eines von 2816 90 Bit großen Steuerwörtern auszuwählen und in das ROSDR 310 einzugeben. Jedes als Mikroinstruktion bekannte Wort wird in das ROSDR 310 zum Zeitpunkt des Abfühlinpulses (SENSE STROBE) übertragen, der unmittelbar vor dem Beginn des nächsten CPU-Zyklus auftritt Diese Mikroinstruktion steuert die Zentraleinheit während des nächsten Zyklus.
Der Zustand des ROAR 308 wird vor dem Speichertreiberimpuls (Fig.3) festgestellt und steuert die Stellung des ROSDR 310 im folgenden Zeitpunkt des Abfühlimpulses. Somit steuert im allgemeinen jeder Eingang in das ROAR 308 die Tätigkeit der Zentraleinheit in dem nächsten, dem Eingang folgenden,
CPU-Zyklus.
Jeder Eingang zum ROAR wird durch die auf die Torschaltung 312 über ein Netzwerk von ODER-Schaltungen 314 gegebenen Eingänge auf eine von mehreren verschiedenen Arten bestimmt. Im allgemeinen werden die auf die ODER-Schaltung 314 gegebenen 12 Bits wahlweise über Torschaltungen 316 von einer oder mehren Quellen abgeleitet, wozu auch ein Segment des ROSDR, die von ausgewählten Bedingungs-STATS 303 registrierten Ausgangsbedingungen und eine ausgewählte Programm-Verzweigungsinformation (Programminstruktion-Operationscodes) gehören.
Bei der obigen Beschreibung wurde angenommen, daß die Betriebsartenverriegelung 307 auf CPU-Betrieb steht und der CPU-Betrieb nicht durch eine E/A-Einheit unterbrochen wurde. Anforderungen von E/A-Einheiten werden bei Empfang eines Signals RTNE RCVD erkannt. Aus den Eingangssignalen zur UND-Schaltung 331 in F i g. 2 ist zu sehen, daß die Betriebsarten-Verriegelung 307 erst zum Zeitpunkt SET REG des Zyklus nach dem Ansteigen des Signals RTNE RCVD auf E/A Betrieb gesetzt wird, wenn die CPU bei Empfang eines Signals RTNE RCVD im CPU-Betrieb läuft. Dadurch kann die CPU die laufende Mikroinstruktion zu Ende ausführen. Wenn bei Empfang eines Signals RTNE RCVD das Signal für CPU-Betrieb hoch ist, gibt die UND-Schaltung 333 ebenfalls ein hochliegendes Ausgangssignal ab, welches die UND-Schaltung 332 sperrt und dadurch das Abfühlsignal (SENSE STROBE) der Abfühlschaltungen 334 unterdrückt, die normalerweise Eingangssignale vom Festwertspeicher 300 auf das ROSDR 310 geben. Auf diese Weise kann die E/A-Anforderung in der beschriebenen Art bedient werden.
In Fig.4 sind verschiedene Einzelheiten der vorliegenden Erfindung dargestellt. Die Funktionseinheit 402 empfängt Daten vom Register 404 und leitet diese zu einem anderen Register 406 weiter. Sie kann mit Daten arbeiten und diese verändern (wie z. B. ein Addierer) oder sie auch nur weiterleiten (wie z. B. ein Register oder eine Datenleitung). Das Register 404 kann auch durch eine andere Datenquelle (z. B. eine E/A-Einheit, einen Speicher oder einen Addierer) ersetzt werden. Das Register 406 kann ebenfalls eine andere Datenempfangseinheit sein. Die Einheiten 404 und 406 werden im folgenden als Register bezeichnet Sie brauchen jedoch keineswegs solche zu sein. Beim normalen Systembetrieb wird der Datenfluß vom Register 404 durch eine bekannte Paritätsprüfschaltung 408 auf richtige Parität geprüft. Unter Steuerung eines ROS-Wortes im ROSDR 310 werden die Daten dann durch eine Torschaltung 410 auf die Funktionseinheit 402 und von dort zum Register 406 geleitet, jedes am Ausgang der Einheit 402 erscheinende Byte wird auf richtige Parität geprüft Bei fehlerhafter Parität eines Byte wird der zugehörige Paritäts-Prüfanzeiger 411,412,413 oder 414 gesetzt
Für Fälle, in denen die im Register 404 enthaltenen Ursprungsdaten verändert werden, bevor ein Fehler festgestellt wird, ist ein Zusatzregister 416 von derselben Größe des Registers 404 vorgesehen. Beim Übertrag von Daten aus dem Register 404 auf die Einheit 402 werden diese gleichzeitig auf das Register 416 unter Steuerung des ROS-Wortes im ROSDR 310 geleitet Daten in der rechten wertniederen Hälfte des Registers 416 können durch die Torschaltung 418 auf beide Hälften der Einheit 402 und zwar über die Torschaltung 420 und 421 geleitet werden. Entsprechend dem vorliegenden Ausführungsbeispiel der Erfindung kann nur die wertniedere Hälfte des Registers 416 Daten auf die Einheit 402 leiten. Daher ist ein zusätzliches Register 422 vorgesehen, das halb so groß ist wie das Register 416. Daten werden aus der wertniederen Hälfte des Registers 416 auf die Einheil 402 geleilet und gleichzeitig über die Torschaltung 424 auf das Register 422. Die im werthohen Teil des Registers 416 enthaltenen Daten können dann über die Torschaltungen 426 und 428 in die wertniedere Hälfte des Registers 416 und im zweiten Durchgang von dort auf die Einheit 402 geleitet werden. Die ursprünglich in der wertniederen Hälfte des Registers 416 enthaltenen Daten können bei Bedarf später zurückgespeichert werden, indem der Inhalt des Registers 422 in die wertniedere Hälfte des Registers 416 über die Torschaltungen 430 und 428 geleitet wird.
Wenn keine Hälfte der Einheit 402 richtig funktioniert, gestattet die Erfindung die Benutzung eines Viertels dieser Einheit. In dem als Beispiel gewählten System bedeutet das, daß nur ein Datenbyte bei jedem Durchlauf verarbeitet wird. In einem solchen Fall wird die wertniedere Hälfte des Registers 416 auf das Register 422 geleitet. Die wertniedere Hälfte des Registers 422 kann dann über die Torschaltung 432 in ein Viertel der Einheit 402 über eine der Torschaltungen 434 bis 437 übertragen werden. Die Daten in der werlniederen Hälfte des Registers 422 werden gleichzeitig über eine Torschaltung 440 in ein weiteres
Μ Zusatzregister 438 geleitet. Nachdem das erste Datenbyte durch die Funktionseinheit 402 erfolgreich verarbeitet worden ist, wird der werthohe Inhalt des Registers 422 über die Torschaltungen 442 und 444 in die wertniederen Positionen des Registers 422 geleitet,
J5 von wo sie ebenfalls zu der Funktionseinheit 402 übertragen werden. Die werthohe Hälfte des ursprünglichen Datenwortes wird auf die wertniedere Hälfte des Registers 416 über die Torschaltungen 426 und 428 geleitet. Nachdem das zweite Datenbyte erfolgreich verarbeitet wurde, wird die werthohe Hälfte des Datenwortes auf das Register 422 geleitet und das dritte und vierte Byte dann auf den richtig funktionierenden Abschnitt der Einheit 402. Nach dem Durchlauf der Einheit 402 werden die Bytes oder Halbwörter auf die entprechenden Teile des Registers 405 geleitet. Die Leitung am Ausgang der Einheit 402 ist in F i g. 4 gezeigt und umfaßt die 4 Torschaltungen 446,447,448 und 449, von denen jede ein Datenbyte durchlassen kann. Die Eingangs-Torschaltungen zum Register 406 umfassen darstellungsgemäß die 4 Torschaltungen 450, 451, 452 und 453, von denen jede ebenfalls ein Datenbyte auf das Register 406 durchläßt Zwischen die Torschaltungssätze 446 bis 449 und 450 bis 453 ist ein weiterer Satz von Torschaltungen 454 gelegt die jedes Datenausgangsbyte von der Einheit 402 auf die entsprechende Position im Register 406 leiten. Die genaue Funktionsweise der verschiedenen, in F i g. 4 gezeigten Torschaltungen ist so lange nicht von Bedeutung, als jeder Teil des Datenwortes an seiner entsprechenden Bestimmungsstelle ankommt Die Verwendung eines Steuerspeichers für einen solchen Zweck ist allgemein bekannt und wird deswegen nicht näher beschrieben.
In Fig.5 sind verschiedene Verriegelungen und Schaltkreise gezeigt, mit denen die Stellung der Funktionseinheit 402 (Fig.4) bestimmt werden kann. Das Ausgangssignal jedes Paritäts-Prüfanzeigers 411 bis 414 (Fig.4) wird auf eine ODER-Schaltung 456 gegeben, deren Ausgangssignal 458 dem System das
Auftreten eines Fehlers anzeigt. Mit diesem Signal können die Eingangstorschaltungen des ROSDR gesperrt und das Wort in der ROS-Stelle O zur Übernahme der Systemsteuerung gezwungen werden. Alle Paritäts-Fehlersignale werden ebenfalls auf die UND-Schaltung 460 gegeben, deren Ausgangssignal eine Verriegelung 462 einschaltet, die ein Signal erzeugt, welches anzeigt, daß kein Teil der Funktionseinheit richtig arbeitet. In diesem Fall wird bei den bisher üblichen Systemen das System gestoppt. Die UND-Schaltung 464 empfängt das H) Fehlersignal E und die invertierten Ausgangssignale der Paritäts-Fehler-Anzeiger 411 und 412. Das Ausgangssignal der UND-Schaltung 464 setzt die Kippschaltung 466, die im eingeschalteten Zustand anzeigt, daß die linke Hälfte der Funktionseinheit richtig arbeitet. In ähnlicher Weise wird das Fehlersignal E auf der Leitung 458 zusammen mit dem invertierten Ausgangssignalen der Paritätsfehleranzeigcr 413 und 414 auf eine UND-Schaltung 468 gegeben, deren Ausgangssignal die Verriegelung 470 setzt, die im eingeschalteten Zustand anzeigt, daß die rechte Hälfte der Funktionseinheit richtig arbeitet. In ähnlicher Weise wird das Fehlersignal ffauf der Leitung 458 auf einen Eingang jeder der UND-Schaltungen 472, 474, 476 und 478 gegeben. Als zweites Eingangssignal empfangen diese UND-Schaltungen das invertierte Ausgangssignal der Paritäts-Fehleranzeiger 411 bis 414. Das Ausgangssignal der UND-Schaltung 472 kann eine Verriegelung 480 so setzen, daß diese anzeigt, daß Byte 1 der Funktionseinheit richtig funktioniert. Entsprechend arbeiten zusam- 3» men: das Ausgangssignal der UND-Schaltung 474, Verriegelung 482 für Byte 2, das Ausgangssignal der UND-Schaltung 476, Verriegelung 484 für Byte 3 und das Ausgangssignal der UND-Schaltung 478, Verriegelung 486 für Byte 4. Nachdem die Daten erfolgreich J5 durch die Funktionseinheit geleitet worden sind, werden die Verriegelungen 466,470,480,482,484 und 486 durch einen impuls auf der Leitung 488 zurückgestellt. Dadurch kehrt das System in seine normale Verarbeitungsart zurück und wenn das System beim nächsten Mal versucht, die Funktionseinheit 402 zu benutzen, wird die volle Kapazität dieser Einheit ausgenutzt. Dieser Vorgang ist deswegen erwünscht, weil der ursprünglich entdeckte Fehler ein intermittierender gewesen sein kann, der nachträglich verschwunden ist. In einem solchen Fall wird dann wieder die ganze Kapazität der Funktionseinheit benutzt.
Um eine Situation zu ermitteln, in welcher ein Fehler wirklich dauernd vorliegt und in welcher somit Zeit mit erneuten Versuchen zur Ausnutzung der vollen Kapazität der Funktionseinheit vergeudet würde, wird der in Fig.6 gezeigte Fehlerzähler 490 benutzt, der ebenfalls im Ausführungsbeispiel enthalten ist. Jedesmal, wenn ein Fehler in der Funktionseinheit festgestellt wird, schaltet das Fehlersignal E auf der Leitung 458 den Fehlerzähler 490 um eine Stufe weiter. Nachdem eine vorgegebene Fehlerzahl von N festgestellt worden ist, wird eine Verriegelung 492 gesetzt, die den Rückstellimpuls auf der Leitung 488 sperrt und außerdem die UND-Schaltung 494 speist Wenn die Verriegelung 492 einmal gesetzt ist, erzeugt die UND-Schaltung 494 jedesmal an ihrem Ausgang ein Fehlersignal E, wenn die Funktionseinheit benutzt werden soll. Versuche zur Benutzung der Funktionseinheit werden durch ein Signal festgestellt, das auf der Leitung 496 erscheint und t>5 z. B. mit einem Signal gekoppelt ist, welches zum Einschalten der Eingangs-Torschaltung 410 der in F i g. 4 gezeigten Funktionseinheit 402 benutzt wird. Da die Verriegelungen 466, 470, 480, 482, 484 und 486 seit der letzten Festste'lung eines Fehlers noch nicht zurückgestellt sind, ist das System bereits für den Betrieb der Funktionseinheit 402 in mehreren Durchgängen vorbereitet. Das am Ausgang der UND-Schaltung 494 erzeugte Fehlersignal kann genauso, wie das Fehlersignal auf der Leitung 458 dazu benutzt werden, das Wort auf der Stelle 0 des ROS zur Übernahme der Systemsteuerung zu zwingen.
Bestimmte Aspekte der oben im Zusammenhang mit den Fig.4, 5 und 6 beschriebenen Erfindung können nach Bedarf verändert werden. So kann z. B. in einem System, in welchem die im Register 404 enthaltenen Daten nicht verändert werden können, bevor ein Fehler entdeckt wird, und wo die Ausgangs-Torschaltungen des Registers 404 so ausgelegt sind, daß auch ein Bruchteil z. B. ein Viertel des Registers ausgelesen werden kann, das Zusatzregister 416 wegfallen. Wenn das Register 404 oder das Zusatzregister 416 z. B. so ausgelegt sind, daß jeder Teil der darin enthaltenen Daten in eine entsprechende Eingangs-Torschaltung der Funktionseinheit 402 ausgelesen werden kann, sind eines oder beide der Zusatzregister 422 und 438 nicht erforderlich. In den hier beschriebenen oder zahlreichen anderen Systemen, in welchen die Erfindung verwendet werden kann, kann der Inhalt des Registers 404 jedoch grundsätzlich geändert werden, bevor ein Fehler festgestellt wird. Das Zusatzregister 416 ist in diesen Fällen erforderlich. Die Erfindung kann oft auch dadurch verwirklicht werden, daß die Register gemäß der Darstellung in Fig.4 angeordnet werden, so daß nicht die ganze erforderliche Durchschaltung auf ein Register erfolgen muß. Grundsätzlich erfordert jede Funktionseinheit mit der die Erfindung benutzt wird, zusätzliche Schaltungen, wie die in den Fig.4 und 6 gezeigten. Die Benutzung der in F i g. 5 gezeigten Schaltung kann auf mehrere Funktionseinheiten aufgeteilt oder bei Bedarf auch für jede Einheit getrennt werden.
Zur Beschreibung der in den Fig.4, 5 und 6 dargestellten Arbeitsweise wird angenommen, daß die vom Register 404 kommenden Daten die richtige Parität aufweisen. Es wird außerdem angenommen, daß die Bytes 1 und 3 der Funktionseinheit 402 schadhaft sind und daß die Fehlerverriegelung 492 (F i g. 6) nicht gesetzt ist
Die im Register 404 stehenden Daten sollen durch die Funktionseinheit 402 geleitet (oder von dieser verarbeitet) werden und dann in das Register 406 übertragen werden. Die in F i g. 1 gezeigte Folgesteuerung 302 des 'Systems veranlaßt die Torschaltung 410 dazu. Daten vom Register 404 in die Funktionseinheit 402 und von der Torschaltung 411 in das Zusatzregister 416 zu leiten. Diese beiden Torschaltungen werden vorzugsweise parallel betätigt (z. B. durch Verknüpfung ihrer Steuerungen), um die normale fehlerfreie Leistung des Systems nicht herabzusetzen. Während die Daten vom Ausgang der Funktionseinheit 402 auf das Register 406 laufen, werden die Paritäts-Fehleranzeiger 411 und 413 gesetzt Aus F i g. 5 ist zu sehen, daß die Eingänge P\ und P3 der ODER-Schaltung 456 das Fehlersignal 458 auslösen. Dadurch holt die Folgesteuerung ihre nächste Instruktion vom ROS-Wort an der Stelle 0. Die Verriegelungen 482 und 486 werden eingeschalte?, während die Verriegelungen 462, 466, 470, 480 und 484 ausgeschaltet bleiben. Diese Verriegelungen werden auf bekannte Weise von der Folgesteuerung abgefragt um festzustellen, wie die Daten durch das Svstem geleitet
werden. Wenn die Verriegelungen entsprechend ihrer Darstellung in Fig.5 von oben nach unten abgefragt werden, wird als erste eingeschaltete Verriegelung die Verriegelung 482 festgestellt Daher wird Byte 2 der Funktionseinheit 402 zur Verarbeitung des Datenwortes benutzt
Die in Fig.4 gezeigten Torschallungen 418 und 424 werden geöffnet, um die Daten von der wertniederen Hälfte des Registers 406 in das Register 422 laufen zu lassen. Nachfolgend werden die Torschaltungen 423, 440 und 435 geöffnet, um das wertniedere Datenbyte aus dem Register 422 in den Byteteil 2 der Funktionseinheit 402 und in das Register 438 laufen zu lassen. Dieses Datenbyte wird durch die Funktionseinheit 402 verarbeitet und dann über die Torschaltungen 447, 454 und 453 auf die Position des wertniedersten Bytes im Register 406 gegeben. Im Ausführungsbeispiel der Erfindung werden die Torschaltungen 442 und 444 geöffnet während Daten von der Einheit 402 in das Register 406 laufen, so daß das zweite wertniederste Datenbyte von der werthohen Hälfte des Registers 422 in dessen wertniedere Hälfte laufen kann (obwohl verschiedene hier geschriebene Operationen vorzugsweise parallel mit anderen Operationen ausgeführt werden, können sie bei Bedarf auch nacheinander ausgeführt werden). Das zweite wertniederste Datenbyte wird dann durch die Torschaltungen 423 und 435 auf die Byteposition 2 der Funktionseinheit 402 und von dort über die Torschaltungen 447, 454 und 452 auf die zweite wertniederste Position des Registers 406 geleitet. Während obiger Operation wurden die Torschallungen 426 und 428 so vorbereitet daß die in der werthohen Hälfte des Registers 416 enthaltenen Daten auf dessen wertniedere Hälfte übertragen werden. Die Torschaltungen 418 und 424 werden dann zum Durchlauf dieser DatP.n auf das Register 422 vorbereitet Vom Register 422 läuft das dritte wertniederste Datenbyte über die Torschaltungen 432 und 425 zum Byteteil 2 der Funktionseinheit 402, von wo es über die Torschaltungen 447, 454 und 451 in den dritten wertniedersten Byteteil des Registers 406 gelang! Während der Laufzeit der Ergebnisdaten zum Register 406 werden die Torschaltungen 442 und 444 so vorbereitet daß das werthöchste Datenbyte zur wertniederen Hälfte des Registers 422 läuft Danach wird dieses letzte Datenbyte auch durch die Torschaltung 432 und 435 in den Byteteil 2 der Einheit 402 geleitet von wo es durch die Torschaltungen 447, 454 und 450 zum werthöchsten Byteteil des Registers 4015 läuft Während der oben beschriebenen Operation fragen nicht dargestellte Einrichtungen in der Folgesteuerung der Datenverar beitungsanlage die Paritätsfehler-Erkennungseinheit 412 auf evtl. aufgetretene zusätzliche Fehler ab. Wenn ein Paritäts-Fehlersigna! 412 während einer der obigen Operationen auftrat, fragt die Folgesteuerung des Systems zuerst die Verriegelung 484 (die ausgeschaltet ist) und dann die Verriegelung 486 (die eingeschaltet ist) ab. In einem solchen Fall wird das Datenbyte, das beim Auftreten des Signals 412 gerade verarbeitet wurde, noch einmal verarbeitet, und zwar durch Byteposilion 4 der Funktionseinheit 402, die auch alle nachfolgenden Datenbytes verarbeitet Wenn das Byte-4-Fehlersignal 414 ebenfalls erscheint, signalisiert das Ausgangssignal der in Fig.5 gezeigten Verriegelung 462 dem System, daß kein Byte der Einheit 402 benutzt werden kann. Die Systemoperation wird dann gestoppt Nach erfolgreicher Verarbeitung des Datenwortes und Speicherung des Ergebnisses im Register 406 stellt ein Signal auf der Leitung 488 die Verriegelungen 466, 470, 480, 482, 484 und 486 zurück. Dieses Signal wird außerdem zum Zurückstellen der Paritätsfehler-Anzeiger 411,412, 413 und 414 benutzt
In obigem Beispiel wurde nur eines der beiden Bytes 2 und 4 der Funktionseinheit 402, die beide als richtig arbeitend angenommen worden waren, benutzt. Wenn die beiden Bytes 2 und 3 der Einheit 402 richtig gearbeitet hätten, wäre auch nur der Teil für Byte 2 benutzt worden. Obwohl beide richtig funktionierenden Byteteile der Funktionseinheit 402 gleichzeitig benutzt werden können (auch wenn sie nicht nebeneinanderliegen), wurden sie im Ausführungsbeispiel wegen der erforderlichen zusätzlichen Komplexität von Leitung und Steuerung nicht benutzt
Obwohl die Erfindung prinzipiell mit jeder Funktionseinheit eines Datenverarbeitungssystems verwirklicht werden kann, hängt das Ausmaß der Verwirklichung in der Praxis von der Art der Funktionseinheit ab, mit der zusammen die Erfindung benutzt wird. Das gilt besonders für Funktionseinheiten, in denen Operationen in einem Teil dieser Einheit Daten beeinflusssen, die auch in anderen Teilen der Einheit verarbeitet werden. Wenn z. B. zwei Datenwörter im Addierer des Systems addiert werden, können Überträge von einer Stufe des Addierers zu üer anderen erfolgen. Außerdem werden in einem Addierer grundsätzlich zwei separate Datenquellen für die Addition benutzt
Fig. 7 zeigt ein mit einem Addierer des Systems
jo zusammen benutztes Ausfiihrungsbeispiel der Erfindung. Hierbei wird angenommen, daß die zwei Datenwörter, die zu addieren sind, in dem L-Register 126 und dem R-Register 125 stehen. Die beiden Datenwörter werden im Addierer 210 addiert und die Ausgangssumme in den AOB-Verriegelungen gespeichert von wo sie auf das M-Register 211 übertragen wird. Der Addierer 210 kann seine Eingangsdaten auch von anderen Quellen empfangen und seine Ausgangsdaten an andere Bestimmungsorte liefern. Die vereinfach-
ίο te Darstellung in F i g. 7 dient nun dazu, die Anwendung der Erfindung in Verbindung mit einem Addierer /u zeigen, der Daten von mehreren Quellen empfangen und an mehrere Bestimmungsorte weitergeben kann.
Um Ursprungsdaten zu erhalten, die anfänglich im R-Register 124 enthalten waren, ist ein Zusatzregister XXR-REG 502 vorgesehen. Die ursprünglich im L-Register 126 enthaltenen Daten werden im Zusatzre gister XL-REG 504 aufbewahrt. Während Daten vom R-REG 124 über die Torschaltung 506 zum Addierer 210 geleitet werden, werden sie gleichzeitig über die Torschaltung 501 in das XR-REG 502 geleitet. Datenwörter vom Register L-REG 126 werden über die Torschaltung 510 zu dem Addierer 210 und gleichzeitig über die Torschaltung 512 in das XL-REG 504 geleitet.
Da die Zusatzregister 502 und 504 nur Daten zu dem Addierer 210 leiten können, die in ihrer wertniederen Hälfte stehen, ist ein drittes Zusatzregistcr X-REG 514 vorgesehen. X-REG 514 dient grundsätzlich für die gleiche Funktion, wie das im Zusammenhang mit F i g. 4 beschriebene Register 422. Die Zusatzregister XR-REG 502 und XL-REG 504 sind genauso groß, wie die Ursprungsregister R-REG 124 und L-REG 126. Das Register X-REG 514 ist dagegen halb so groß, wie die anderen. Die Torschaltung zwischen dem Ausgang des X-REG 514 und den Eingängen des XR-REG 502 und des XL-REG 504 unterscheidet sich von der in Fig.4 gezeigten nur dadurch, daß der Ausgang des Registers X-REG 514 in die werthohe Hälfte der Register
XR-REG 502 und XL-REG 504 geleitet wird. Mit der in F i g. 7 gezeigten Schaltungsanordnung kann die werthohe und die wertniedere Hälfte des Registers XR-REG 502 genauso vertauscht werden, wie die vverthohe und die wertniedere Hälfte des Registers XL-REG 504. Anstatt die Kapazität des Registers X-REG 514 auf die anderen Zusaizregister aufzuteilen, kann bei Bedarf auch für jedes der anderen Zusatzregister ein halb so großer Register, ähnlich dem Register X-REG 514, vorgesehen werden.
Während die Daten durch den Addierer 210 laufen, werden Paritätsfehler durch einen linken Paritätsfehler-Anzeiger 516 oder einen rechten Paritätsfehler-Anzeiger 518 angezeigt. Da der Ausgang des Addierers 210 des Systems 4 Paritätsprüfschaltungen umfaßt, erhält man die linke Paritätsanzeige durch eine ODER-Verbindung der Ausgänge der beiden werlhohen Paritätsfehler-Anzeiger und die rechte Paritätsfehler-Anzeige durch ODER-Verbindung der Ausgänge der beiden wertniederen Paritätsanzeiger. Die Ausgangssignale der linken und rechten Paritätsfehler-Anzeiger werden beide auf eine ODER-Schaltung 520 gegeben, deren Ausgangssignal 522 die normale Operation der Datenverarbeitungsanlage so unterbricht, wie es im Zusammenhang mit dem in F i g. 5 gezeigten Fehlersignal 458 beschrieben wurde. Die Ausgangssignale der beiden Paritätsfehler-Anzeiger werden außerdem auf eine UND-Schaltung 524 gegeben, deren Ausgangssignal anzeigt, daß keine Hälfte des Addierers richtig arbeitet. Das Ausgangssignal des rechten Paritätsfehler-Anzeigcrs 518 wird auf eine UND-Schaltung 526 gegeben und nach Umkehrung in einem Inverter 528 zu einer UND-Schaltung 530 weilergeleitet. Das Ausgangssignal des linken Paritätsanzeigers wird auf eine UND-Schaltung 530 gegeben und nach Umkehrung in einem Inverter 532 zu einer UND-Schaltung 526 wcitergeleitet. Wenn die UND-Schaltung 526 eingeschaltet ist. zeigt ihr Ausgangssignal an. daß die linke Hälfte des Addierers richtig arbeitet und die rechte Hälfte defekt ist. Ein Ausgangssignal von der UND-Schaltung 530 zeigt an. daß die rechte Hälfte des Addierers richtig arbeitet und die linke Hälfte defekt ist. Die Ausgangssignale der UND-Schaltungen 524, 526 und 530 können ferner dazu verwendet werden, Verriegelungen zu setzen, die durch Folgesteuerungen des Systems abgefragt werden. Der Addierer 210 des Systems enthält eine Übertragsverriegelung 534 an seinem werlhohen Ende, die normalerweise von dem System dazu benutzt wird. Addierer-Überlaufbedingungen zu erkennen. Wenn nur die linke, werthohe HaIfK' des Addierers richtig arbeitet, benutzt die Anordnung der Erfindung die Übertragsverriegelung 534 dazu, einen möglichen Übertrag von der wertniederen Hälfte der Summe in die werthohe Hälfte zu verfolgen. Für Fälle, in denen nur die rechte wertniedere Hälfte des Addierers richtig arbeitet, ist eine zusätzliche Übertragsverriegelung 518 vorgesehen, die einen Übertrag von der wertniederen in die werthohe Hälfte der Summe verfolgt.
Das in Fig. 7 gezeigte Ausführungsbeispiel arbeitet sehr ähnlich, wie das der F i g. 4. Die Daten werden von den Ursprungsregistern 124 und 126 zum Addierer 210 und gleichzeitig zu den Hilfsregistern 502 und 504 geleitet. Die Erkennung eines Paritätsfehlers führt zur Erzeugung eines Fehlersignals 522, durch welches die normale Verarbeitung des Systems unterbrochen und das auf der ROS-Stelle 0 stehende Wort in das ROSDR 310 gelesen wird. Wenn die Anordnung nach der vorliegenden Erfindung in Verbindung mit mehr als einer Funktionseinheit einer Datenverarbeitungsanlage verwendet wird, läßt sich die ausgefallene Einheit leicht durch Abfragen der verschiedenen Paritäts-Fehler-Anzeiger ermitteln. Wenn einmal feststeht, daß der Fehler im Addierer aufgetreten ist, zeigen die Ausgangssignale der UND-Schaltungen 524, 526 und 530 an, ob eine Hälfte des Addierens richtig arbeitet und welche. Wenn die rechte Hälfte des Addierers richtig arbeitel,
lü erscheint ein Signal am Ausgang der UND-Schaltung 530 und kein Signai am Ausgang der beiden anderen UND-Schaltungen 524 und 526. Die wertniedere Hälfte
. des Registers XR-REG 502 wird über die Torsciialtungen 536 und 538 zu einem der Eingänge der rechten Hälfte des Addierers 210 und gleichzeitig die wenniedere Hälfte des Registers XL-REG 504 über die Torschaltungen 540 und 542 zu dem anderen Eingang der rechten Hälfte des Addierers 210 geleitet. Der Addierer 210 erzeugt die wertniedere Hälfte der gewünschten Summe und überträgt sie über die Torschaltungen 544 und 546 auf die wertniedere Hälfte der AOB-Verriegelungen 217. Wenn dieser erste Durchlauf durch den Addierer 210 in einem Übertrag aus der wertniederen Hälfte der Summe resultiert, wird die Zusatz-Übertragsverrieglungen 536 gesetzt. Um den Inhalt des Registers XR-REG 502 zu drehen, wird dessen wertniederer Inhalt über die Torschaltungen 536 und 548 auf das Register X-REG 514 geleitet. Dann werden die Torschaltungen 550 und 552 so eingeschal-
jo tet, daß die Daten in der werthohen Hälfte des Registers XR-REG 502 zu dessen wertniederer Hälfte übertragen werden und der Inhalt von X-REG 514 kann dann durch die Torschaltungen 554 und 556 zu der werthohen Hälfte des Registers XR-REG 502 laufen. In ähnlicher Weise wird der Inhalt des Registers XL-REG 504 gedreht, indem zuerst die Torschaltungen 540 und 548. dann die Torschaltungen 558 und 560 und als drittes die Torschaltungen 554 und 562 eingeschaltet werden. Die ursprünglich werthohen Hälften der Datenwörter sind dann in den wertniederen Hälften der Zusatzregister 502 und 504 enthalten. Die in den vvertniedcren Hälften der Zusatzregister 502 und 504 enthaltenen Daten werden über die Eingänge für die rechte Hälfte des Addierers 210 geleitet und von dort über die Torschaltung 544 und 564 zu der werthohen Hälfte der AOB-Verriegelungen 217 geleitet. Während des zweiten Durchganges durch den Addierer wird auf der Leiiung566ein zusätzlicher Impuls » + 1« erzeugt, wenn XCL 536 gesetzt worden ist. um den Übertrag von der wertniederen Hälfte der Summe in die werthohe Hälfte festzuhalten. Nach Bildung der richtigen Summe werden die Paritäts-Fehlcr-Anzeiger 516 und 518 und die Übertragsverriegelungen 534 und 536 zurückgesetzt, der Inhalt der AOB-Verriegelungen 217 auf das M-REG 211 übertragen und die normale Verarbeitung fortgesetzt. Wenn nur die linke Hälfte des Addierers richtig arbeitet, funktioniert die Anordnung der vorliegenden Erfindung im wesentlichen genauso, wie oben beschrieben, allerdings mit folgenden Ausnahmen:
1. Eingangssignale zum Addierer werden auf den Torschaltungen 568 und 570 für die linke Hälfte empfangen;
2. Die Addierer-Ausgangssignale werden über die Torschaltung 572 zu den AOB-Verriegelungen übertragen und
3. CL 534 zeigt einen Übertrag von der wertniederen Hälfte der Summe auf die werthohe Hälfte an.
Wenn nur die linke Hälfte des Addierers richtig arbeitet, ist natürlich der linke Paritäts-Fehler-Anzeiger 516 ein- und der rechte Anzeiger 518 ausgeschaltet. Außerdem gibt die UND-Schaltung 530 ein Ausgangssignal ab, die UND-Schaltung 526 dagegen nicht
Gemäß der vorstehenden Beschreibung arbeitet das System mit einem Festwert-Steuerspeicher. Die Erfindung läßt sich jedoch auch in einem System verwenden, das mit einem Lese-/Schreib-Steuerspeicher arbeitet In einem System, in dem eine oder mehrere Funktionseinheiten an die Anordnung nach der Erfindung angeschlossen sind, kann das Aufteilen der Operation einer Funktionseinheit in mehrere Durchgänge durch programmierte Instruktionen gesteuert werden. In diesem Fall übernehmen die programmierten Instruktionen die Funktion einer Folgesteuereinheit.
Andere Varianten betreffen die im System vorhandenen Fehlerprüfschaltungen. An£telle von Paritäts-Fehler-Korrekturschaltungen kann auch jede andere Fehlererkennungs- oder Fehlerkorrekturtechnik angewandt werden. Wenn eine Schaltung Fehler in einer kleinen Anzahl von Bits korrigieren kann, werden diese Fehler berichtigt. Bei einer großen Anzahl von Fehlern dagegen wird mit einer Operationsaufteilung auf mehrere Durchgänge, entsprechend dem Erfindungsgedanken, gearbeitet. Außerdem brauchen die Daten nicht unmittelbar vor dem Eingang in eine Funktionseinheit geprüft zu werden, wenn die Fehlerprüfung an einem Punkt im Datenfluß erfolgt, der nahe genug bei der Funktionseinheit liegt und die Gewißheit gibt, daß die Daten dort noch richtig sind. Wenn man die Operation einer Funktionseinheit mehrfach auf mehrere Durchgänge aufteilt, sollte ein Datensegment nicht zu klein zur Fehlerprüfung werden. In Ausnahmefällen kann jedoch auch eine kleine Unterteilung vorgenommen werden.
Bei einer anderen Variante des Gegenstandes der Erfindung können Daten festgehalten werden, die durch den richtig arbeitenden Teil der Funktionseinheit gelaufen sind. Dann müssen nur diejenigen Daten erneut durch den funktionsfähigen Teil geführt werden, die ursprünglich durch den nicht richtig arbeitenden Teil der Funktionseinheit liefen.
Bei einer Operationsaufteilung der Funktionseinheit in mehrere Durchläufe aufgrund eines aufgetretenen Fehlers braucht die Aufteilung ihrer Natur nach nicht unbedingt binär zu sein. Die Einheit kann genauso gut in Drittel, Fünftel oder andere Bruchteile ihrer vollen Kapazität aufgeteilt werden. Praktischerweise teilt man die Funktionseinheit in eine Anzahl von Segmenten auf, die in Beziehung steht zu der Anzahl von Segmenten in einem Datenwori, das auf Fehler geprüft werden soll.
Eine weitere Variante der Erfindung besteht in ihrer Anwendung im Zusammenhang mit einem System, wie es im US-Patent 32 48 697 beschrieben ist. Das dort beschriebene System versucht nach der Erkennung eines Fehlers unter gewissen Umständen die Instruktion, bei deren Ausführung der Fehler auftrat, noch einmal auszuführen. Bei Anwendung der vorliegenden Erfindung in einem solchen System werden viele vorübergehende Fehler durch die normale Instruktionswiederholung des Systems schnell behandelt; die anderen Fehler können dann durch die vorliegende Erfindung behoben werden.
Hierzu 5 Blatt Zeichnungen

Claims (7)

Patentansprüche:
1. Steuereinrichtung in einer aus mindestens einer Funktionseinheit bestehenden Datenverarbeitungsanlage, die im Fehlerfalle einer Funktionseinheit, die selbst aus mindestens zwei parallelen Stufen mit jeweils nachgeschalteten Fehlerdetektoren besteht, die fehlerhafte Stufe festellt und die intakte Stufe derart steuert, daß sie seriell sowohl die Verarbeitung der Daten der eigenen Stufe als auch derjenigen der defekten Stufe übernimmt, wobei aufgrund von Fehlersignalen der den einzelnen Stufen zugeordneten Fehlerdetektoren eine Operationssteuerung vor Beginn eines Verarbeitungszyklus vom parallelen in den seriellen Betrieb umschaltet, in dem eine intakte Stufe nacheinander die eigenen und die Daten der fehlerhaften Stufe verarbeitet, dadurch gekennzeichnet, daß nach Ausführung eines Verarbeitungszyklus die Operationssteuerung wieder automatisch in den Parallelbetrieb umschaltet, so daß, wenn nicht wieder ein neuer Fehler vorliegt, jede Stufe ihre eigenen Daten gleichzeitig mit der (den) anderen Stufe(n) verarbeitet.
2. Steuereinrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Operationssteuerung in Abhängigkeit von den Fehlersignalen der den Stufen 2ugeordneten Fehlerdetektoren Torsteuersignale erzeugt, welche die in mindestens einem Zusatzregister (416) stufengruppiert zwischengespeicherten Eingangsdaten über die zwischen dem Zusatzregister und der Funktionseinheit (402) angeordneten Tore (418, 420, 421, 426 und 428) sequentiell auf die funktionsfähige Stufe der Funktionseinheit schalten und nach Verarbeitung durch weitere Tore (446 bis 454) korrekt gruppiert zu einem Datenabnehmer (z. B. Register 406) übertragen.
3. Steuereinrichtung nach Anspruch 1 und/oder 2, dadurch gekennzeichnet, daß die Operationssteuerung die Ausgangssignale der Fehlerdetektoren (Paritätsprüfschaltungen 411 bis 414), die dem Ausgang jeder Stufe (Byte 1 bis Byte 4) der Funktionseinheit zugeordnet sind, mit Hilfe von UND-Toren (464 bis 478) einzeln oder gruppenweise zusammengefaßt mii einem Fehlersignal (E) das mittels einer ODER-Verknüpfung aller Fehlersignale erzeugt wird, logisch verknüpft, wobei die Ausgangssignale der UND-Tore Verriegelungsschaltungen (466 bis 486) einstellen, deren Ausgangssignale funktionsfähige Stufen anzeigen.
4. Steuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 3, dadurch gekennzeichnet, daß alle Ausgangssignale der Fehlerdetektoren mit Hilfe eines UND-Tores (460) logisch zu einem Ausgangssignal verknüpft werden, das eine Verriegelungsschaltung (462) einstellt, deren Ausgangssignal anzeigt, daß keine Stufe funktionsfähig ist, so daß auch eine Umschaltung von Parallel- auf Seriebetrieb erfolglos ist.
5. Steuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß die Ausgangssignale der Fehlerdetektoren rnit Hilfe eines ODER-Tores (456) verknüpft sind, dessen Ausgangssignal zu einem Zähler (490) übertragen wird, der bei einer vorgebbaren Anzahl von Ausgangssignalen des ODER-Tores mit Hilfe einer Verriegelungsschaltung (492) ein Ausgangssignal
erzeugt, das mit Hilfe eines UND-Tores (494) ebenfalls ein Fehlersignal (E) erzeugt, wen.", an seinem zweiten Eingang (496) ein Signal anliegt, das anzeigt, daß die Funktionseinheit verwendet wird.
6. Einrichtung nach einem oder mehreren der Ansprüche 1 bis 5, dadurch gekennzeichnet, daß das Ausgangssignal der eingestellten Fehlerverriegelungsschaltung (492) die Rückstellung der Verriegelungsschaltungen (466 bis 486) verhindert, so daß ein ständiges Umschalten nach jedem Verarbeitungszyklus vom Parallel- in den Serienbetrieb unterbleibt, wenn aufgrund der Fehlervorgabe im Fehlerzähler ein permanenter Fehler vorliegt.
7. Steuereinrichtung nach einem oder mehreren der Ansprüche 1 bis 6, dadurch gekennzeichnet, daß mit Hilfe des Fehlersignals (E) die Operationssteuerung eine Steuerspeicheradresse erzeugt, an deren Stelle im Steuerspeicher ein Steuerwort abgerufen wird, das Signale erzeugt, die den Serienbetrieb steuern.
DE1935944A 1968-07-15 1969-07-15 Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage Expired DE1935944C3 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US74495068A 1968-07-15 1968-07-15

Publications (3)

Publication Number Publication Date
DE1935944A1 DE1935944A1 (de) 1970-01-22
DE1935944B2 DE1935944B2 (de) 1980-03-20
DE1935944C3 true DE1935944C3 (de) 1980-11-20

Family

ID=24994596

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1935944A Expired DE1935944C3 (de) 1968-07-15 1969-07-15 Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage

Country Status (4)

Country Link
US (1) US3603934A (de)
DE (1) DE1935944C3 (de)
FR (1) FR2012948A1 (de)
GB (1) GB1264195A (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE33629E (en) * 1980-02-13 1991-07-02 Intel Corporation Numeric data processor
US4484259A (en) * 1980-02-13 1984-11-20 Intel Corporation Fraction bus for use in a numeric data processor
US4338675A (en) * 1980-02-13 1982-07-06 Intel Corporation Numeric data processor
US4850027A (en) * 1985-07-26 1989-07-18 International Business Machines Corporation Configurable parallel pipeline image processing system
US5440749A (en) * 1989-08-03 1995-08-08 Nanotronics Corporation High performance, low cost microprocessor architecture
US6877086B1 (en) * 2000-11-02 2005-04-05 Intel Corporation Method and apparatus for rescheduling multiple micro-operations in a processor using a replay queue and a counter
US6981129B1 (en) * 2000-11-02 2005-12-27 Intel Corporation Breaking replay dependency loops in a processor using a rescheduled replay queue
US7493607B2 (en) 2002-07-09 2009-02-17 Bluerisc Inc. Statically speculative compilation and execution
US20050114850A1 (en) 2003-10-29 2005-05-26 Saurabh Chheda Energy-focused re-compilation of executables and hardware mechanisms based on compiler-architecture interaction and compiler-inserted control
US7996671B2 (en) 2003-11-17 2011-08-09 Bluerisc Inc. Security of program executables and microprocessors based on compiler-architecture interaction
US8607209B2 (en) 2004-02-04 2013-12-10 Bluerisc Inc. Energy-focused compiler-assisted branch prediction
US7493477B2 (en) * 2006-06-30 2009-02-17 Intel Corporation Method and apparatus for disabling a processor core based on a number of executions of an application exceeding a threshold
US20080126766A1 (en) 2006-11-03 2008-05-29 Saurabh Chheda Securing microprocessors against information leakage and physical tampering
US7467068B2 (en) * 2007-03-05 2008-12-16 International Business Machines Corporation Method and apparatus for detecting dependability vulnerabilities
US8850166B2 (en) 2010-02-18 2014-09-30 International Business Machines Corporation Load pair disjoint facility and instruction therefore
US9665376B2 (en) * 2014-12-15 2017-05-30 International Business Machines Corporation Sharing program interrupt logic in a multithreaded processor

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3253259A (en) * 1961-09-19 1966-05-24 Bell Telephone Labor Inc Plural channel data transmission system having means for utilizing only the operative channels
US3302182A (en) * 1963-10-03 1967-01-31 Burroughs Corp Store and forward message switching system utilizing a modular data processor
US3345614A (en) * 1965-01-12 1967-10-03 Friden Inc Data translation system

Also Published As

Publication number Publication date
GB1264195A (de) 1972-02-16
DE1935944B2 (de) 1980-03-20
US3603934A (en) 1971-09-07
DE1935944A1 (de) 1970-01-22
FR2012948A1 (de) 1970-03-27

Similar Documents

Publication Publication Date Title
DE2614000C2 (de) Diagnoseeinrichtung zur Prüfung von Funktionseinheiten
DE1935944C3 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage
DE1901228C3 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE2515696C2 (de) Datenverarbeitungssystem
DE2061854C3 (de) Speicher aus Schieberegistern
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE2023354C2 (de) Datenverarbeitungsanlage mit einem Mikrobefehlsspeicher
DE2714805A1 (de) Datenverarbeitungssystem
DE2806045A1 (de) Dv-system mit pufferspeicher
DE1151397B (de) Programmgesteuerte Datenverarbeitungs-anlage mit gespeicherten Unterprogrammen
DE2646162B2 (de) Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers
DE2151472A1 (de) Mikroprogrammspeicher fuer Elektronenrechner
DE1549468A1 (de) Speicheranordnung fuer ein programmgesteuertes Datenverarbeitungssystem
DE2248296A1 (de) Programmsteuereinrichtung
EP0010186B1 (de) Vorrichtung zum Bearbeiten bezeichneter Hinweise
DE1909090C3 (de) Schutzeinrichtung für den Arbeitsspeicher einer Rechenanlage
DE2336020B2 (de) Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme
DE1201586B (de) Programmgesteuerte Daten-Auswertmaschine
DE2302061C3 (de) Assoziativspeicher
DE2513262A1 (de) Digitale codeumwandlungsanordnung
DE2336676B2 (de) Einrichtung zur Modifizierung von Mikroprogrammbefehlen
CH632349A5 (de) Einrichtung zur mikrobefehlssteuerung.
DE2235883C3 (de) Datenverarbeitungseinrichtung
DE1296429B (de) Datenbearbeitungsanlage
DE1184122B (de) Addiervorrichtung

Legal Events

Date Code Title Description
C3 Grant after two publication steps (3rd publication)
8339 Ceased/non-payment of the annual fee