DE2915159A1 - Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemen - Google Patents
Verfahren und vorrichtung zur fehlerkorrektur bei datenverarbeitungssystemenInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding 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
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
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
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)
| 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 |
-
1979
- 1979-04-12 DE DE19792915159 patent/DE2915159A1/de active Granted
- 1979-04-30 CA CA000326658A patent/CA1136282A/en not_active Expired
- 1979-06-14 JP JP7515579A patent/JPS5525193A/ja active Pending
- 1979-07-20 AU AU49118/79A patent/AU529131B2/en not_active Ceased
- 1979-07-30 FR FR7919606A patent/FR2432738A1/fr not_active Withdrawn
Non-Patent Citations (2)
| 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 |