[go: up one dir, main page]

DE2915159A1 - Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemen - Google Patents

Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemen

Info

Publication number
DE2915159A1
DE2915159A1 DE19792915159 DE2915159A DE2915159A1 DE 2915159 A1 DE2915159 A1 DE 2915159A1 DE 19792915159 DE19792915159 DE 19792915159 DE 2915159 A DE2915159 A DE 2915159A DE 2915159 A1 DE2915159 A1 DE 2915159A1
Authority
DE
Germany
Prior art keywords
data
error
instruction buffer
corrected
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE19792915159
Other languages
English (en)
Other versions
DE2915159C2 (de
Inventor
Edward M Drobny
Robert W Suelflow
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.)
Bull HN Information Systems Inc
Original Assignee
Honeywell Information Systems Italia SpA
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 Honeywell Information Systems Italia SpA filed Critical Honeywell Information Systems Italia SpA
Publication of DE2915159A1 publication Critical patent/DE2915159A1/de
Application granted granted Critical
Publication of DE2915159C2 publication Critical patent/DE2915159C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Hardware Redundancy (AREA)
  • Detection And Correction Of Errors (AREA)

Description

DIPL, ING. HEINZ BARDEHLc München, 10.April 1979
DIPL. CHEM. DR. PETER FÜRNISS
PATENTANWÄLTE
Aktenzeichen: Unser Zeichen: ρ 2867
Anmelder: Honevwei^ information Systems Inc.
200 Smith Street Waltham, Mass.02154 USA
Verfahren und Vorrichtung zur Fehlerkorrektur bei Datenverarbeitungssystemen
030008/0579
Kanzlei: Herroitraße 16, München 32
Die Erfindung bezieht sich im allgemeinen auf datenverarbeitende Systeme, insbesondere auf ein Verfahren und eine Vorrichtung zum übertragen einer fehlerfreien Datengruppe von dem Steuerspeicher einer Ausführungseinheit zu dem Instruktionspuffer einer zentralen Verarbeitungseinheit mit Hilfe von zwei Datenbusen mit dreifachem Zustand.
Bei datenverarbeitenden Systemen, in denen verschiedene Untersysteme miteinander in Verbindung treten müssen, resultieren Fehler, die z. B. durch das Auftreten von Störungen erzeugt werden, manchmal in dem Empfang von Daten, die nicht mit den Daten übereinstimmen, die abgeschickt wurden. Datenverarbeitende Systeme verwenden im allgemeinen als Kommunikationsmittel Signale, die einem Zustand mit hohem Niveau und einem Zustand mit niedrigem Niveau entsprechen, und die oft als logische Zustände 1 bzw. 0 bezeichnet werden. Störungen oder Fehler der Ausrüstung können den Empfang einer 1 oder einer 0 verursachen, wenn tatsächlich eine 0 oder eine 1 übertragen wurde.
Eine Datengruppe oder ein Wort besteht aus einer Mehrzahl von Einsen und Nullen, z. B. kann die Code-Gruppe 101 korrekt die Zahl 5 darstellen. Wenn ein Fehler während der übertragung vorgekommen ist, ist es möglich, daß die Code-Gruppe als der Binär-Code 1OO empfangen wird, was der Zahl 4 entspricht. Während die bekannten
030008/0579
Paritäts-ttberprtifungen geeignete Einrichtungen zum Entdecken eines Fehlers in einem einzelnen Bit zur Verfügung stellen, gibt eine solche Paritätsüberprüfung ein Falschresultat, wenn zwei Bits fehlerhaft sind. Zyklische Codes wurden entwickelt und stellen eine wesentliche Verbesserung gegenüber dem Paritäte*· überprüfen dar, da durch sie Vielfach-Fehler entdeckt werden können. Eine ins Einzelne gehende Behandlung der Fehlerentdeckungstechniken kann gefunden werden in Hamming, "Error Detecting und Error Correcting Codes", Bell System Technical Journal, Band 29, 1950, Seite 147 - 160. Die Anwendung des Werks von Hamming erlaubte die Entdeckung und Korrektur von zufällig vorkommenden Fehlern innerhalb eines einzelnen Bits eines empfangenen Code-Worts. Es ist bekannt, Vorrichtungen zur Entdeckung und Korrektur von Fehlern ( im folgenden abgekürzt als EDAC) zu verwenden, um aus einem Hauptspeichersystem herausgeholte und für andere üntersysteme in der Datenverarbeitenden Anlage, z. B. die Zentralverarbeitungseinheit, bestimmte Daten zu überprüfen und zu korrigieren. Indessen werden solche Vorrichtungen nicht verwendet, um MikroInstruktionen aus dem Steuerspeicher einer Ausführungseinheit zu überprüfen und zu korrigieren, bevor sie in den Ausführungspuffer gelangen. Vielmehr wird in einem solchen Fall die Ausführung unterbrochen und von Neuem begonnen, da im allgemeinen angenommen wird, daß der Fehler das Ergebnis eines vorübergehend auftretenden Übertragungsproblems ist.
030008/0579
Es ist daher die Aufgabe der Erfindung, in einem Datenverarbeitenden System Fehlerentdeckungs- und Korrektureinrichtungen innerhalb der zentralen Verarbeitungseinheit selbst vorzusehen, um sicherzustellen, daß fehlerfreie Datengruppen von dem Steuerspeicher der Ausführungseinheit ' in den Ausführungspuffer gelangen.
Eine weitere Aufgabe der Erfindung liegt darin, daß die Anwesenheit der Fehlerentdeckungs- und Korrektureinrichtungen die übertragung von Datengruppen von dem Steuerspeicher zu dem Ausführungspuffer nicht verzögern und auch keinen außergewöhnlichen Aufwand an zusätzlicher Hardware erfordern.
Erfindungsgemäß wird in einem Ausführungs- Steuerspeicher eines Datenverarbeitenden Systems mit einem System-Taktgeber eine Vorrichtung zum Anlegen einer fehlerfreien Datengruppe an den Instruktionspuffer des Ausführungs-Steuerungsspeichers vorgesehen, die Einrichtungen aufweist, die mit dem Instruktionspuffer verbunden sind, des weiteren mit diesem Instruktionspuffer und dem Speicher verbundene Fehlerentdeckungs- und Korrektureinrichtungen, erste Einrichtungen zum Abrufen einer Datengruppe aus dem Speicher und zum Anlegen dieser Datengruppe an den Instruktionspuffer und an die Fehlerentdeckung- und Korrektureinrichtung zur Bestimmung, ob ein Fehler in der Datengruppe vorgekommen ist, sowie zweite Einrich-
03Ö008/0579
tungen zum Anlegen korrigierter Daten an den Instruktionspuffer, wenn der aufgetretene Fehler korrigierbar ist.
Nach einem weiteren Aspekt der Erfindung ist ein Verfahren zur Versorgung des Instruktionspuffers des Ausführungs-Steuerungsspeichers eines Datenverarbeitenden Systems mit einer fehlerfreien Datengruppe vorgesehen, wobei das Verfahren darin besteht/ Daten aus einem Speicher in demAusführungs-Steuerungsspeicher abzuholen, diese Daten an den Instruktionspuffer anzulegen, die Daten ebenso an die Schaltkreise zur Fehlerentdeckung und -Korrektur anzulegen, zu bestimmen, ob ein Fehler in der Datengruppe aufgetreten ist und ob dieser Fehler korrigierbar ist, und korrigierte Daten an den Instruktionspuffer anzulegen, wenn der aufgetretene Fehler korrigierbar ist.
Weitere Merkmale, Einzelheiten und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung einer bevorzugten Ausführungsform der Erfindung sowie aus der Zeichnung. Hierbei zeigen:
Figur 1 ein Blockdiagramm eines Datenverarbextenden Systems;
Figur 2 ein Funktionsdiagramm eines Teils der zentralen Verarbeitungseinheit;
03Ö008/OS79
Figur 3 ein Blockdiagramm einer Anordnung unter Verwendung eines bekannten EDAC Systems;
Figur 4 ein Blockdiagramm einer Anordnung unter Verwendung eines erfindungsgemäßen EDAC Systems;
Figur 5 ein Funktionsblockdiagramm eines erfinderischen Teils der Ausführungseinheit und
Figur 6 und 7 genauere Diagramme der Anordnung in Figur 3.
Figur 1 ist ein Blockdiagramm eines verbesserten Datenverarbeitenden Systems 10, in welches die vorliegende Erfindung eingebaut ist. Das Datenverarbeitende System weist zwei SIU 12a und 12b auf. Jede SIU weist 15, mit Buchstaben A bis K bezeichnete Anschlußstellen sowie 4 zusätzliche Anschlußstellen für Speichereinheiten auf, nämlich für den lokalen Speicher 0 (LMO), den lokalen Speicher 1 (LM1), sowie 2 Anschlußstellen für Hauptspeicher, in denen die Kontrollfunktionen oder Kontrolleinrichtungen MMCO und MMC1 für den Hauptspeicher angeordnet sind. An bestimmte Paare von Anschlußstellen, wie G und H sowie E und F kann ein Paar von gesperrten EinAusgabe-Prozessoren (IOP) 14a, 14b, 14c und 14d, angeschlossen werden. Bis zu 4 zentrale Verarbeitungseinheiten (CPU) 16a,16b,16c und 16d, 2 für jede SIU, können an
03ÖOO8/0S79
beliebige zwei der Anschlußstellen Ä,B,C,D,E,F,G oder H angeschlossen werden. Lokaler Speicher (MMO) 22a, 22c und (MM») 22b, 22d können mit der Kontrolleinrichtung für den Hauptspeicher 24a, 24c und 24b, 24d der SIU s 12a und 12b verbunden werden. Jeder der beiden Hauptspeicher 20a und 20b weist ebenfalls zwei Anschlußstellen auf, die Über Kreuz verbunden sind, um Kommunikationen zwischen mit den jeweiligen SIU's 12 verbundenen Geräten und Speichern zu erlauben.
Jede der Hauptspeicherkontrolleinrichtungen MMCO 24a, 24c, MMC1 24b, 24d der SIU s 12a, 12b weist neben der Möglichkeit, Daten in einen Hauptspeicher MMO 22a, 22c oder MM1 22b, 22d zu schreiben und Daten aus MMO oder MM^ herauszulesen, auch gewisse Kommunikationssteuerungsfunktionen auf.
Verbindungen zwischen SIU 's können vorkommen von einer Hauptspeicherkontrolleinrichtung wie z. B. MMCO 24a der SIU 12a zu dem Hauptspeicher MMO 22c der SIU 12b. MMo 22c steht in Verbindung oder überträgt die Nachricht zu seiner Hauptspeicherkontrolleinrichtung MMcO 24c der SIU 12b. MMCO 24c richtet seine Verbindung an die ausgewählte Anschlußstelle der SIU 12b, an die ein Prozessor wie z. B. IOP 14c oder CPU 16c der SIU 12b angeschlossen ist, nämlich der Prozessor, an den die Verbindung gerichtet ist.
Beim Durchführen eines Anwenderprogramms wird eine CPU einen Punkt erreichen, an dem eine Operation erforderlich
030008/0579
wird, entweder in einem peripheren Gerät gespeicherte Daten von diesem Gerät reinzubringen oder Informationen aus dem Speicher zu lesen, um sie auf ein peripheres Gerät zu übertragen. Wenn die Notwendigkeit für eine Ein- Ausgabe-Operation vorkommt, oder allgemeiner, wenn ein Prozessor mit einem anderen Prozessor oder mit sich selbst kommunizieren will, verursacht das Operationssystem des Datenverarbeitenden Systems 10 die übertragung einer Anweisung auf eine CPU, ζ. B. 16a. Der Inhalt des Operationsfelds des Instruktionswortes ist derart, daß er eine spezielle Art von Kommunikation anzeigt, die dann ausgeführt wird. Das Betriebssystem wird die CPU 16a auch mit einem Datenwort versehen, das ein bestimmtes Feld aufweist, welches den Prozessor identifiziert, an den die Verbindung übersandt werden soll.
Figur 2 ist ein Blockdiagramm der Hardware-Elemente einer CPU 16, die hier nur so weit beschrieben werden sollen, wie es notwendig erscheint, um den eigentlichen Hintergrund für die Beschreibung der vorliegenden Erfindung abzugeben. Eine genauere Beschreibung kann in der US-Patent-Anmeldung mit der Serial-No. 746444, eingereicht am 1. Dezember 1976, auf den gleichen Anmelder wie die vorliegende Anmeldung, gefunden werden.
In Figur 2 werden Instruktionen über einen Instruktionspuffer ZIB 26 von einer Hauptspeicherkontrolleinrichtung wie z. B. MMCO 24a empfangen und durch den ZIB-Schalter 28 nach RBIR 30 zur Abspeicherung übertragen. Das Steuerspeicherwort der Steuereinheit, welches in dem Steuerspeicher der Steuereinheit CCS 32 abgespeichert ist, umfaßt 32
030008/0579
Bits. Ein 13 Bit breites Feld, bestehend aus den Bitstellen 0-12, stellt die Adresse des Beginns des Mikroprogramms dar, das von dem Operations-Code des Instruktionswortes im Instruktionsregister RBIR 30 angegeben ist, oder die Adresse der ersten Mikroinstruktion des Mikroprogramms. Wenn der Operations-Code einer Instruktion von RBIR 30 an CCS32 angelegt wird, wobei das Kontrollwort der Kontrolleinheit bei der dem Operations-Code entsprechenden Adresse gespeichert ist, werden die Inhalte der Bit-Stellen 0 - 12 an den Kontrollspeicher der Ausftihrungseinheit (ECS) 34 über den Schalter CCS-ADR 36 angelegt. Der Empfang der Adresse der Mikroinstruktion durch ECS 34 verursacht, daß die bei dieser Adresse abgespeicherten Makroinstruktionen in den Ausführungspuffer 38 übertragen werden, in dem ausgewählte Felder der Mikroinstruktion mit Hilfe des Decoders 40 decodiert werden, um die für die verschiedenen Subsysteme oder Komponenten ,einer CPU nötigen S te ue rungs sign ale oder Informationen vorzusehen, in diesem Fall für die CPD 16a.
Um unnötige Einzelheiten zu vermeiden, sind in Figur 2 der Taktgeber und die Leiter, die die Taktsignale den verschiedenen Komponenten der CPU 16a zuführen, nicht dargestellt.
Wenn die erste Mikroinstruktion in den Ausführungspuffer 38 geladen ist, und während der nächsten Taktperiode, wird die Mikroinstruktion in der Decodiereinrichtung 40 decodiert, um die notwendigen Informationen und Steuersignale
030008/0679
zur Verfügung zu stellen, die veranlassen, daß ein nichtdargestellter Zwischenspeicher addressiert und ein Teil seiner Inhalte übertragen, gespeichert und bearbeitet werden.
Die nächste oder zweite Mikroinstruktion, die als Ergebnis der um 1 erhöhten Adresse der ersten, im Mikroinstruktionsregister UIC 42 enthaltenen Mikroinstruktion erzeugt wird, wobei die Erhöhung um Eins durch den Addierer 44 ausgeführt und die neue Adresse durch den Schalter UIC +1, 46 angelegt wird, verursacht, daß die zweite Mikroinstruktion in den Ausführungspuffer 38 übertragen wird.
Figur 3 illustriert die EDAC Arbeitsweise in einem zum Stande der Technik gehörenden Datenverarbeitenden System. Aus dem Speicher 61 austretende Daten werden an den Datenschalter 65 und den EDAC Schaltkreis 63 angelegt. Der Datenschalter 65 wählt dann aus, ob Daten aus dem Speicher 61 oder korrigierte Daten von dem EDAC Schaltkreis 63 in die CPU gelangen.
Bei der in Figur 4 dargestellten Anordnung werden aus dem Speicher 67 gelangende Daten gleichzeitig an die CPU und an den EDAC Schaltkreis 69 angelegt. Wenn ein Fehler entdeckt wird und dieser nicht korrigierbar ist, wird die in der Durchführung begriffene Operation abgebrochen. Wenn kein Fehler entdeckt wird, geht die Benutzung der Daten ununterbrochen weiter. Diese Anordnung reduziert die Zugriffszeit zum Steuerungsspeicher um etwa 40 % gegenüber der zum Stand der Technik gehörenden Anordnung nach Figur
030008/ÖS79
if
Dies führt zu einem Ansteigen der System-Takt-Frequenz um 60 %. Außerhalb des Zyklus vorkommende Fehlerentdeckung und Korrektur erlaubt gleichzeitige Aktivitäten, das bedeutet, daß die nächste Anforderung an den Speicher durchgeführt werden kann, während die vorhergehende Anforderung sich noch in der Fehlerüberprüfung befindet. Eine zusätzliche Vergrößerung der Geschwindigkeit wird durch eine Ausrüstung mit einem Dreifachzustandsbus erreicht.
Figur 5 ist ein Funktions-Blockdiagramm eines Teils des Ausführungs-Steuerungs-Speichers 34 in Figur 2, der der Gegenstand der vorliegenden Erfindung ist. Zwei getrennte, aber miteinander verbundene Dreifachzustand-Datenbusse werden verwendet. Der erste als Speicherdatenbus bezeichnete Bus ist verbunden zwischen dem Ausgang des Speichers 52, dem Eingang des Dreifachzustandsgeräts 54, dem Ausgang des Speichers 52 und dem Eingang des Ausführungsspeichers 38 (Figur 2). Der zweite als Rückseitenbus bezeichnete Bus ist verbunden zwischen dem Ausgang der Dreifachzustandsgeräte 56, 62 und 54 und zwischen den Eingängen der Datenregister 60, der logischen ünd-Funktion 66 und dem Dreifachzustandsgerät 50. Es versteht sich von selbst, daß, während jeder der Busse als eine einzelne Linie gezeichnet ist, die aus einer Vielzahl von Kabeln besteht, um die parallele Übertragung einer Vielzahl von Daten-Bits zu ermöglichen.
030008/0S79
Die verwendete EDAC Anordnung ist eine außerhalb des Zyklus ablaufende Fehlerentdeckung und Korrektur. Um dies zu ermöglichen, wird angenommen, daß vom Speicher 52 in den Ausführungspuffer 38 gelangende Daten für jeden laufenden Zyklus richtig sind, und sie werden in den Ausführungspuffer 38 durch den Systemtaktgeber eingepulst. Während des folgenden Zyklus werden die gleichen Daten in den EDAC-Schaltkreis 58 auf das Auftreten von Fehlern überprüft. Wenn ein korrigierbarer Fehler entdeckt wird, wird ein Signal zu einem anderen Teil der CPU gesandt und korrigierte Daten werden auf den Bus geschickt, um während des folgenden Taktes in den Ausführungspuffer 38 gepulst zu werden. Irgendein unkorrigierbarer Fehler bewirkt einen Abbruch des Systems.
Zwei kritische Zeitwege sind in diesem Schema anwesend. Zuerst ist es notwendig, Daten aus dem Speicher 52 in den Ausführungspuffer gelangen zu lassen, bevor der Systemkontakt vorkommt. Der zweite kritische Zeitpunkt liegt darin, ein Fehlersignal zu erzeugen und die korrigierten Daten dem Ausführungspuffer vor dem folgenden Takt zur Verfügung zu stellen.
Der Ausgang des Speichers 52 ist mit dem Ausführungspuffer 38 verbunden. Der gleiche Ausgang ist ebenfalls mit dem Eingang eines Dreifachzustands-Puffers 54 verbunden, z. B. eines von der Firma Texas Instruments hergestellten Typs mit der Teile Nr. 74 S 240, zur Übertragung die-
030008/0579
-χ-
ser Daten in den EDAC Schaltkreis 58 über das Datenregister 60. Während dieser Zeit wird der Dreifachzustandspuffer 54 durch ein Lese-Signal eingeschaltet, das in einem anderen Teil der CPU erzeugt wird. Gleichzeitig werden die Dreifachzustands-Puffer 50, 56 und 62 abgeschaltet und stellen für ihre entsprechenden Busse eine hohe Impedanz dar. Das bedeutet, der Dreifachzustands-Puffer 62 wird durch das Fehlen eines Schreibe-Signals an seinem Eingang abgeschaltet. Ebenso verhindert das Fehlen eines Schreibesignals an einem zweiten Eingang der logischen UND-Funktion 66, daß für den EDAC Schaltkreis bestimmte Daten wieder in den Speicher 52 über die logische UND-Funktion 66 gelangen. In ähnlicher Weise werden die Dreifachzustands-Puffer 50 und 56 durch das Fehlen eines korrekte Daten anzeigenden Signals ausgeschaltet, das in dem EDAC Schaltkreis 58 erzeugt wird. Daher können Daten von dem Dreifachzustands-Puffer 54 in den EDAC-Schaltkreis ohne Störung übertragen werden.
Während eines Korrektur-Zyklus übertragen die gleichen beiden in beiden Richtungen betreibbaren Busse Daten von dem Dreifachzustands-Puffer 56 in den Ausführungspuffer über den Dreifachzustands-Puffer 50. Während dieser Zeit werden die Puffer 62 und die logische UND-Funktion 66 durch das Fehlen des Schreibesignals abgeschaltet und der Dreifachzustands-Puffer 54 und der Speicher 52 werden durch das Fehlen eines Lese-Signals abgeschaltet. Puffer 50 und 56 werden durch ein Signal, das korrigierte Daten anzeigt, eingeschaltet und übertragen Daten von dem EDAC Schaltkreis 58 in den Ausführungs-Puffer. Es sollte bemerkt werden, daß
03Ö008/0S79
2315159
It
der Speicherdatenbus, der die Puffer 50, 54 und den Speicher 52 mit der Ausführungseinheit verbindet, die Notwendigkeit für einen herkömmlichen Datenschalter beseitigt, welcher eine zusätzliche Verzögerung in dem Datenweg zu dem Rest der CPU sowohl für Daten aus dem Speicher als auch für korrigierte Daten darstellen würde.
Während der Schreibezyklen werden Daten von dem Puffer 64 zu dem Speicher 52 über den Puffer 62 und die logische UND-Funktion 66 übertragen. Während dieser Operation werden die Dreifach-Zustandspuffer 50, 54 und 56 wie oben beschrieben ausgeschaltet.
Die Anordnung der Figur 5 ist genauer in den Figuren 6 und 7 gezeigt. Während die Anordnung in den Figuren 6 und 7 so dargestellt ist, daß sie fähig ist, 8-Bit-weite Daten zu behandeln, sollte es klar sein, daß dies nur als Beispiel gedacht ist und daß die Anordnung erweitert werden kann, um eine viel größere Anzahl von Datenbits zu umfassen.
Die Dateneingabe-Puffer 64 (hier Figur 5) sind als UND-Gatter 70 bis 77 dargestellt. Der Dreifachzustands-Puffer 63 der Figur 5 ist als eine Vielzahl von Dreifachzustands-Gattern 80 bis 87 in Figur 6 dargestellt. Für jede Datenleitung ist ein Dreifachzustands-Gatter erforderlich. Wie oben beschrieben, läßt das Dreifachzustands-Gerät, wenn es eingeschaltet ist, die an seinem Eingang anliegenden
08/0879
-Χι?
Daten zu ihrer Bestimmung durch. Das bedeutet, daß, wenn das Schreibe-Signal, welches mit jedem der Dreifachzustands-Geräte 80 bis 87 verbunden ist, angeschaltet ist, an den Dreifachzustands-Geräten 80 bis 87 über die UND-Gatter 70 bis 77 anliegende Daten durch die Dreifachzustands-Geräte hindurch auf die Datenbus-Leitungen BO - B7 gelangen. Wenn das Schreibe-Signal ausgeschaltet ist, erscheinen die Dreifachzustands-Geräte 80 - 87 als eine hohe Impedanz.
Während eines Schreibe-Zyklus werden in den Speicher zu schreibende Daten an den einen Eingang jedes der UND-Gatter 70 - 77 angelegt. Diese Daten gelangen durch die UND-Gatter 70 - 77, wenn ein Einschalte-Signal aktiviert ist, das mit dem zweiten Eingang jedes der UND-Gatter 70 - 77 verbunden ist. In Figur 7 ist das, was in Figur 5 als eine einzelne und-Funktion gezeigt war, als eine Vielzahl von UND-Gattern 90-97 dargestellt, deren jeweils einer Eingang mit den Datenbusleitungen BO - B7 verbunden ist und deren jeweils zweiter Eingang mit einem das Schreiben ermöglichenden Signal verbunden ist. Wenn das, das Schreiben ermöglichende Signal aktiviert ist, gelangen die Daten auf den Datenbusleitungen BO - B7 durch die UND-Gatter 90 - 97 in den Speicher 52, wo sie mit Hilfe der Schreibe-Steuerung 51 gespeichert werden.
Während eines Lese-Zyklus ist das Schreib-Signal ausgeschaltet und verhindert dadurch, daß Daten durch die
030008/0579
Z(T
Dreifachzustands-Puffer 80 - 87 und die UND-Gatter 90-97 hindurchgelangen. Wenn am Speicher 52 ein Lese-Steuerungs-Signal 53 und eine Adresse anliegt, gibt der Speicher 52 die unter dieser Adresse abgespeicherten Daten ab. Diese Daten wandern über zwei Wege. Der eine Weg führt zu dem Rest der CPU, wie durch die Linien 100 - 107 gezeigt. Gleichzeitig werden die Daten von dem Speicher 52 an die Dreifachzustands-Geräte 110 - 117 angelegt. An einem Eingang zu jedem der Dreifachzustands-Geräte 110 - 117 liegt ein das Lesen ermöglichendes Signal an, das, wenn es eingeschaltet ist, Daten durch die Dreifachzustands-Geräte 110 - 117 hindurchläßt. Wenn das Lese-Signal ausgeschaltet ist, erscheinen die Dreifachzustands-Geräte 110 - 117 als hohe Impedanz.
Angenommen, das Lese-Signal ist eingeschaltet und das Schrei be-Signal ist ausgeschaltet, so gelangen Daten aus dem Speicher 52 durch die Dreifachzustands-Geräte 110 - 117 an die Eingänge der Datenregister 60 (siehe Figur 6) über die Datenbus-Leitungen Bo - B7. Die Daten in dem Datenregister 60 werden an den EDAC Schaltkreis 58 wie oben beschrieben angelegt, in dem bestimmt wird, ob in den Daten ein Fehler vorliegt und ob dieser Fehler korrigierbar ist oder nicht. Zwei Signale werden von dem EDAC-Schaltkreis 58 in einen anderen Teil der CPU abgesandt. Diese Signale sind als ein Fehler-Signal und als ein Fehler-Korrektur-Signal gezeigt, welches letztere anzeigt, daß bei Vorliegen eines Fehlers dieser Fehler korrigierbar ist.
030008/0579
Wenn der Fehler korrigierbar ist, wird das gleiche, korrekte Daten anzeigende Signal an die Dreifachzustands-Geräte 120 - 127 angelegt. Die korrigierten Daten werden in gleicher Weise an die Dreifachzustands-Geräte 120 - 127 angelegt und gelangen durch sie hindurch zu den Eingängen der Dreifachzustands- Geräte 130 - 137 über die Bus-Leitungen BO - B7. Während dieser Zeit ist das Schreibe-Signal ausgeschaltet und verhindert so, daß Daten durch die UND-Gatter 90-97 in den Speicher 52 zurückgelangen.
Das gleiche, eben beschriebene, korrekte Daten anzeigende Signal wird an die Dreifachzustands-Geräte 130 - 137 angelegt, um den Durchgang der Daten auf den Bus-Leitungen BO B7 in die CPU über die Leitungen 100 - 107 zu ermöglichen. Während dieser Zeit ist das Lese-Signal ausgeschaltet, um zu verhindern, daß die korrigierten Daten durch die Dreifachzustands-Geräte 11O - 117 gelangen.
Die oben beschriebene Anordnung erlaubt daher die Durchführung dreier elektrischer Funktionen mit Hilfe einer einzigen, als Rückseitenbus bezeichneten Leitung. Diese Funktionen sind das übertragen von Speicherdaten in den EDAC Schaltkreis, das Übertragen korrigierter Daten aus dem EDAC Schaltkreis in die Schaltkreise zur Datenausgabe und das Übertragen von Eingabedaten in den Speicher.
Der Speicherdatenbus erlaubt die übertragung von Daten sowohl in die CPU als auch in den EDAC Schaltkreis. Darüberhinaus dient der Speicherdatenbus zur übertragung von korrigierten Daten aus dem EDAC Schaltkreis zur CPU. Beide Bus-
030008/0579
Zl
se minimieren die Notwendigkeit, für irgendwelche zusätzlichen Gatter oder Schalter und stellen daher den schnellstmöglichen Datenweg dar, wo kritische Zeitabläufe einbezogen sind.
030008/0S79

Claims (9)

1yVorrichtung zum Einbringen einer fehlerfreien Datengruppe in den Instruktionspuffer des Ausführungs Steuerungsspeichers eines datenverarbeitenden Systems mit einem System-Taktgeber, gekennzeichnet durch:
a) Mit dem Instruktionspuffer verbundene Speichereinrichtungen;
b) Mit dem Instruktionspuffer und den Speichereinrichtungen verbundene Fehlerentdeckungs- und Korrektureinrichtungen;
c) Erste Einrichtungen zum Zurückkolen einer Datengruppe aus den Speichereinrichtungen und zum Einbringen dieser Datengruppe in den Instruktionspuffer und in die Fehlerentdeckungs- und Korrektureinrichtungen zur Bestimmung, ob in dieser Datengruppe ein Fehler vorhanden ist;
030008/0579
Kanzlei; Herrnstraße 15, München
d) Zweite Einrichtungen zum Einbringen korrigierter Daten in den Instruktionspuffer, wenn der aufgetretene Fehler korrigierbar ist.
2. Vorrichtung nach Anspruch 1,
dadurch gekennzeichnet, daß die aus den Speichereinrichtungen geholte Datengruppe in den Instruktionspuffer und in die Fehlerentdeckungs- und Korrektureinrichtungen im wesentlichen gleichzeitig eingebracht wird.
3. Vorrichtung nach Anspruch 1 oder 2,
dadurch gekennzeichnet, daß die aus dem Speicher geholte Datengruppe beim Auftreten eines ersten System-Taktes in den Instruktionspuffer eingebracht wird und daß die von den Fehlerentdeckungs- und Korrektureinrichtungen korrigierten Daten während des nächsten System-Taktes in den Ausführungspuffer eingebracht werden.
4. Vorrichtung nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet , daß die Fehlerentdeckungs- und Korrektureinrichtungen ein Stop-Signal erzeugen, wenn ein Fehler entdeckt und dieser Fehler nicht korrigierbar ist.
5. Vorrichtung nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, daß sie Einrichtungen zum Speichern von Daten in dem Speicher enthält.
030008/0579
2915158
6. Verfahren zur Versorgung eines Instruktionspuffers eines Ausführungs-Steuerungsspeichers eines Datenverarbeitenden Systems mit einer fehlerfreien Datengruppe , gekennzeichnet durch folgende Verfahrensschritte :
a) Die Daten werden von einem Speicher in dem Ausführungs-Steuerspeicher geholt;
b) Die Datengruppe wird an den Instruktionspuffer angelegt;
c) Die Daten werden an den Schaltkreis zur Fehlerentdeckung und -Korrektur angelegt;
d) Es wird festgestellt, ob in dieser Datengruppe ein Fehler enthalten ist und ob dieser Fehler korrigierbar ist;
e) Wenn dieser Fehler korrigierbar ist, werden die korrigierten Daten an den Instruktionspuffer angelegt.
7. Verfahren nach Anspruch 7,
dadurch gekennzeichnet , daß die Datengruppe an den Instruktionspuffer und an den Schaltkreis zur Fehlerentd^ckung und -Korrektur im wesentlichen gleichzeitig angelegt wird.
030008/0579
8. Verfahren nach Anspruch 6 oder 7,
dadurch gekennzeichnet, daß die Datengruppe während eines ersten Systemtaktes an den Instruktionspuffer .angelegt wird und daß die korrigierten Daten an den Instruktionspuffer während des nächstfolgenden Systemtaktes angelegt werden, wenn dieser Fehler korrigierbar ist.
9. Verfahren nach einem der Ansprüche 6 bis 8,
dadurch gekennzeichnet, daß ein Stop-Signal erzeugt wird, wenn der aufgetretene Fehler nicht korrigierbar .ist.
030008/0579
DE19792915159 1978-08-04 1979-04-12 Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemen Granted DE2915159A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US93096578A 1978-08-04 1978-08-04

Publications (2)

Publication Number Publication Date
DE2915159A1 true DE2915159A1 (de) 1980-02-21
DE2915159C2 DE2915159C2 (de) 1989-01-05

Family

ID=25460026

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19792915159 Granted DE2915159A1 (de) 1978-08-04 1979-04-12 Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemen

Country Status (5)

Country Link
JP (1) JPS5525193A (de)
AU (1) AU529131B2 (de)
CA (1) CA1136282A (de)
DE (1) DE2915159A1 (de)
FR (1) FR2432738A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5245846A (en) * 1975-10-08 1977-04-11 Fujitsu Ltd Error correction detection system
US4058851A (en) * 1976-10-18 1977-11-15 Sperry Rand Corporation Conditional bypass of error correction for dual memory access time selection
JPS5447540A (en) * 1977-09-22 1979-04-14 Hitachi Ltd Fault correction system for control memory
IT1089225B (it) * 1977-12-23 1985-06-18 Honeywell Inf Systems Memoria con dispositivo rivelatore e correttore a intervento selettivo

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
US-Z.: IBM Technical Disclosure Bulletin, Vol. 15,No. 3, August 1972, S. 852-854 *
US-Z.: IEEE Transactions on Computers, Vol. C-22, No. 3, März 1973, S. 255-262 *

Also Published As

Publication number Publication date
FR2432738A1 (fr) 1980-02-29
AU529131B2 (en) 1983-05-26
DE2915159C2 (de) 1989-01-05
JPS5525193A (en) 1980-02-22
AU4911879A (en) 1980-02-07
CA1136282A (en) 1982-11-23

Similar Documents

Publication Publication Date Title
DE1901228C3 (de) Datenverarbeitungsanlage mit Einrichtungen zur Wiederholung von Operationen bei Auftreten eines Fehlers
DE3587145T2 (de) Puffersystem mit erkennung von lese- oder schreibschaltungsfehlern.
DE4302495C2 (de) Einrichtung und Verfahren zum Bestimmen der Länge eines Befehls in einem sequentiellen Befehlsstrom
DE3222390C2 (de)
DE1178623C2 (de) Programmgesteuerte datenverarbeitende Maschine
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE2806024A1 (de) Speichersystem mit fehlerfeststell- und korrekturmoeglichkeit
DE2357168C2 (de) Schaltungsanordnung für einen Speichermodul
DE2750721A1 (de) Ein/ausgabe-system
DE3111447A1 (de) Anzeigeschaltung fuer speicherschreibfehler
DE2727876B2 (de) Steuereinrichtung mit einem Mikroprozessor
DE2248296A1 (de) Programmsteuereinrichtung
DE3122381A1 (de) Verfahren und einrichtung zur erzeugung von pruefbits zur sicherung eines datenwortes
DE2722124A1 (de) Anordnung zum feststellen des prioritaetsranges in einem dv-system
DE2715073A1 (de) Mikroprogrammierte rechner-steuervorrichtung
DE3727586C2 (de) Datenverarbeitungsanordnung bestehend aus vier im wesentlichen gleich aufgebauten Moduln
DE1959231C3 (de) Verfahren und Vorrichtung zur Korrektur von bis zu drei Fehlern eines aus 23 Bits bestehenden Codewortes
DE2518588A1 (de) Verfahren zur ueberwachung der folgerichtigkeit von codesignalgruppen in einrichtungen der nachrichtentechnik
DE3786853T2 (de) Gerät zur Erkennung und Klassifizierung von Steuerwortfehlern.
DE69332327T2 (de) Überwachung von zirkulierenden Zeigern
DE2915113A1 (de) Busvorrichtung fuer ein datenverarbeitendes system
DE2538802C2 (de) Schaltung zum Nachweis von Fehlern unter den aus Informations- und Prüfbits erzeugten, einen fehlerhaften Speicherort angebenden Bits
DE2937777C2 (de) Steuereinrichtung in einer elektronischen Datenverarbeitungsanlage zur Programmunterbrechung und für die Durchführung erzwungener Operationen
DE2915159A1 (de) Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemen
DE1937259A1 (de) Selbstpruefende Fehlererkennungsschaltung

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8127 New person/name/address of the applicant

Owner name: HONEYWELL BULL INC., MINNEAPOLIS, MINN., US

8128 New person/name/address of the agent

Representative=s name: BARDEHLE, H., DIPL.-ING., PAT.-ANW., 8000 MUENCHEN

D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee