DE2915159C2 - - Google Patents

Info

Publication number
DE2915159C2
DE2915159C2 DE19792915159 DE2915159A DE2915159C2 DE 2915159 C2 DE2915159 C2 DE 2915159C2 DE 19792915159 DE19792915159 DE 19792915159 DE 2915159 A DE2915159 A DE 2915159A DE 2915159 C2 DE2915159 C2 DE 2915159C2
Authority
DE
Germany
Prior art keywords
data
memory
buffer
information unit
error
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
DE19792915159
Other languages
English (en)
Other versions
DE2915159A1 (de
Inventor
Robert W. Scottsdale Ariz. Us Suelflow
Edward M. Phoenix Ariz. Us Drobny
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 Bull Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honeywell Bull Inc filed Critical Honeywell Bull Inc
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; 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/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)
  • Detection And Correction Of Errors (AREA)
  • Hardware Redundancy (AREA)

Description

Die Erfindung betrifft eine Schaltungsanordnung in einer mit einer Fehlerkorrektur versehenen Datenverarbeitungseinrich­ tung, in der die Daten in aufeinanderfolgenden Taktperioden verarbeitet werden, die Daten in Informationseinheiten, bei­ spielsweise Mikrobefehlsworten, aus einem Speicher, beispiels­ weise einem Mikroprogrammbefehlsspeicher, ausgelesen und in einen ersten Puffer übertragen werden und worin eine Fehlerfest­ stellungs- und -korrekturschaltung zur Feststellung von Fehlern in den ausgelesenen Informationseinheiten und - sofern möglich - auch zur Korrektur der festgestellten Fehler vorgesehen ist.
In Datenverarbeitungseinrichtungen, in denen verschiedene Sub­ systeme miteinander kommunizieren und untereinander Daten aus­ tauschen, kann es durch das Vorhandensein von Störungen vor­ kommen, daß die von einem Subsystem abgegebenen Informations­ einheiten von einem anderen Subsystem fehlerhaft empfangen werden.
Zur Überprüfung einer korrekten Datenübertragung ist es bekannt, Paritätsprüfungen durchzuführen. Damit lassen sich Fehler fest­ stellen und korrigieren, wenn in einem eine Informationseinheit darstellenden Wort in Bit fehlerhaft ist. Solche einfachen Pa­ ritätsprüfungen versagen aber, wenn zwei oder mehr Bits in einem Wort fehlerhaft sind. Um auch solche Fehler feststellen und gegebenenfalls korrigieren zu können, wurden zyklische Fehlerprüfcodes entwickelt, mit denen sich Fehler feststellen lassen, wenn mehrere Bits in einem Wort fehlerhaft sind. Eine gute Darstellung der bekannten Fehlerkorrektur- Techniken findet man beispielsweise in einem Artikel von Hamming, "Error Detecting and Error Correcting Codes", Bell System Technical Journal, Bd. 29, 1950, S. 147-160.
Auf der Grundlage der von Hamming und anderen entwickelten Fehlererkennungs- und Fehlerkorrekturcodes sind entsprechende Fehlerfeststellungs- und -korrekturschaltungen (sog. "EDAC"- Schaltungen) entwickelt worden. Es ist bekannt, solche EDAC- Schaltungen zu verwenden, um aus einem Speicher ausgelesene und für andere Subsysteme in der Datenverarbeitungsanlage, z. B. für den Zentralprozessor bestimmte Daten zu überprüfen und gegebenenfalls zu korrigieren. So ist beispielsweise eine Schaltungsanordnung bekanntgeworden (vgl. IBM-TDB Vol. 15, No. 3, August 1972, Seiten 852-854), in der beim Auslesen von Datenworten aus einem Speicher die Datenworte über zusätzliche Datenleitungen auch einer EDAC-Schaltung zugeführt werden, die sie daraufhin untersucht, ob ein Fehler vorliegt und ob er korrigierbar ist. Dabei werden die aus dem Speicher ausgelesenen Datenworte in einem Ausgangsregister so­ lange zurückgehalten, bis die Fehlerüberprüfung abgeschlossen ist. Dadurch treten unerwünschte Verzögerungen auf, durch die die Operationsgeschwindigkeit der Datenverarbeitungseinrich­ tung herabgesetzt wird.
Aus dem Artikel von Cook et al, "Design of a Self-Checking Microprogram Control", IEEE Transactions on Computers, Vol. C-22, No. 3, März 1973, Seiten 255-262, ist auch der Vorschlag bekannt, Fehlererkennungsschaltungen am Ausgang von Mikropro­ grammspeichern zu verwenden. Dabei werden verschiedene EDAC- Teschniken beschrieben. Der Systemaufbau in dieser Veröffent­ lichung sieht jedoch nicht vor, die EDAC-Schaltung so einzu­ setzen, daß Mikrobefehle aus dem Steuerspeicher einer Aus­ führungseinheit überprüft und gegebenenfalls korrigiert wer­ den, bevor sie in den Ausführungspuffer gelangen. Es werden keine Maßnahmen getroffen, die oben erwähnten und auch hier auftretenden unerwünschten Verzögerungen zu umgehen.
Es ist daher die Aufgabe der Erfindung, bei der Durchführung der Fehlerkorrektur in einer Datenverarbeitungseinrichtung, insbesondere bei mikroprogrammierten Befehlsabläufen, wegen der an den Mikrobefehlen durchzuführenden Prüfungen auf gegebenen­ falls vorhandene Fehler, keine die Operationsfolge beeinträch­ tigende Verzögerungen eintreten zu lassen, wenn keine Fehler vorhanden sind.
Gelöst wird die vorstehende Aufgabe durch eine Schaltungsanord­ nung gemäß den kennzeichnenden Merkmalen des Patentanspruchs.
Die Schaltungsanordnung gemäß der Erfindung erzielt für den Gesamtdatendurchsatz der Datenverarbeitungseinrichtung eine Beschleunigung der Operationsfolge. Gegenüber Schaltungs­ anordnungen nach dem Stand der Technik wird bei der Erfindung die Zugriffszeit zum Mikrobefehlsspeicher um etwa 40% redu­ ziert. Dies bedeutet eine Zunahme der Systemtaktfrequenz um 60%. Fehlerermittlung und -korrektur außerhalb der Takt­ zyklen macht es möglich, gleichzeitig auch noch andere Aktivi­ täten oder Operationen abzuwickeln. So kann beispielsweise schon die nächste Speicheranforderung verarbeitet werden, während sich die vorhergehende Speicheranforderung noch in der Fehlerüberprüfung befindet. Eine weitere Möglichkeit, den Gesamtdurchsatz der Datenverarbeitungsanlage zu steigern be­ steht in der Ausrüstung der Datenbusleitungen mit Tristate- Schaltungen.
Weitere Merkmale, Einzelheiten und Vorteile der Erfindung ergeben sich aus der folgenden Beschreibung einer bevorzug­ ten Ausführungsform der Erfindung sowie aus den Zeichnungen. Es zeigt
Fig. 1 ein Blockdiagramm eines Datenverarbeitungssystems;
Fig. 2 in einem Funktionsdiagramm den Mikrobefehlsablauf innerhalb der Schaltungsblocks der zentralen Verarbeitungs­ einheit;
Fig. 3 ein Blockdiagramm einer bekannten Anordnung;
Fig. 4 ein Blockdiagramm einer Anordnung nach der Erfindung;
Fig. 5 ein Blockdiagramm der Schaltungsanordnung nach der Erfindung; und
Fig. 6 und 7 in weitere Einzelheiten gehende Schaltungsdiagramme der Anordnung nach der Erfindung.
Fig. 1 ist ein Blockdiagramm einer Daten­ verarbeitungsanlage 10, in welche die Schaltungsanordnung nach der Erfindung eingebaut ist. Die Datenverarbeitungsanlage weist zwei SIUs (Systems Interface Unit) 12 a und 12 b auf. Jede SUI weist 11, mit Buchstaben A bis L bezeichnete Anschlußstellen sowie 4 zusätzliche Anschlußstellen für Speichereinheiten auf, nämlich eine für den lokalen Speicher 0 (LM 0), eine für den lokalen Speicher 1 (LM 1), sowie zwei Anschlußstellen für Haupt­ speicher, in denen die Kontrollfunktionen oder Steuerungs­ einrichtungen MMC 0 und MMC 1 für die Hauptspeicher ange­ ordnet sind. An bestimmte Paare von Anschlußstellen, wie G und H sowie E und F kann ein Paar von Ein- Ausgabe-Prozessoren (IOP) 14 a, 14 b, 14 c und 14 d ange­ schlossen werden. Bis zu vier zentrale Verarbeitungseinhei­ ten (CPU) 16 a, 16 b, 16 c und 16 d, zwei für jede SIU, können an beliebige zwei Anschlußstellen angeschlossen werden, z. B. an B und D bei SIU 12 a. Die lokalen Speicher LM 0 18 a/c und LM 1 18 b/d sind mit den Lokalspeicheranschlüssen LM 0 20 a/c bzw. LM 1 20 b/d je­ der SIU 12 und die Hauptspeicher MM 0 22 a/c und MM 1 22 b/d sind mit den Hauptspeicher-Steuerungs- und -kontrolleinrichtungen MMC 0 24 a/c und MMC 1 24 b/d der SIU's 12 a/b verbunden. Jeder Hauptspeicher 22 a-d weist weiterhin zwei Anschlüsse auf, die über Kreuz mit den Hauptspeicher-Kontrolleinrichtungen 24 a-d verbunden sind, um eine Kommunikation zwischen Geräteeinheiten und Speichern zuzulassen, die mit den entsprechenden SIU's 12 a/b verbunden sind.
Jede der Hauptspeicher-Kontrolleinrichtungen MMC 24 a-d der SIU's 12 a/b besitzt neben der Fähigkeit, Daten in einen der Hauptspeicher MM 0 22 a/c oder MM 1 22 b/d einzuschreiben und Da­ ten aus diesen Hauptspeichern auszulesen, darüber hinaus ge­ wisse Kommunikationssteuerungsfunktionen.
Kommunikationen zwischen den SIU's können sich abspielen von einer Hauptspeicher-Kontrolleinrichtung, z. B. MMC 0 24 a der SIU 12 a, in eine Hauptspeicher-Kontrolleinrichtung der SIU 12 b, z. B. MMC 1 24 d. Diese Hauptspeicher-Kontrolleinrich­ tung MMC 1 24 d richtet ihrerseits die Nachricht an die ge­ wählte Anschlußstelle der SIU 12 b, die mit einem Prozessor, z. A. IOP 14 c oder CPU 16 c von SIU 12 b, verbunden ist, näm­ lich den Prozessor, für den die Nachricht bestimmt ist.
Im Verlauf der Durchführung eines Anwendungsprogramms kann eine Zentraleinheit, z. B. die CPU 16 a, einen Punkt erreichen, an dem eine Operation notwendig wird, entweder in einem peripheren Gerät gespeicherte Da­ ten von diesem Gerät abzurufen oder Informationen aus dem Speicher zu lesen, um sie in ein peripheres Gerät zu übertragen. Wenn die Notwendigkeit für eine Ein- und Ausgabe­ Operation vorkommt, oder allgemeiner, wenn ein Prozessor mit einem anderen Prozessor oder mit sich selbst kommuni­ zieren will, verursacht das Betriebssystem der Darbenver­ arbeitungseinrichtung 10 die Übertragung einer Anweisung auf eine CPU, z. B. 16 a. 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 16 a auch mit einem Datenwort versehen, das ein bestimmtes Feld aufweist, welches den Prozessor identifiziert, an den die Nachricht übersandt werden soll.
Fig. 2 ist ein Blockdiagramm der Hardware-Elemente einer CPU 16, die hier nur so weit beschrieben werden, wie es zum Verständnis der Erfindung notwendig ist.
In Fig. 2 werden Instruktionen, z. B. Mikroprogrammbefehle über einen Instruktions­ puffer ZIB 26 von einer Hauptspeichersteuereinrichtung wie z. B. MMCO 24 empfangen und durch die ZIB-Schalter 28 nach RBIR 30 zur Abspeicherung übertragen. Das Steuer­ speicherwort der Steuereinheit, welches in dem Steuerspei­ cher der Steuereinheit CCS 32 abgespeichert ist, umfaßt 32 Bits. Ein 13 Bit breites Feld, bestehend aus den Bit­ stellen 0-12, stellt die Adresse des Beginns des Mi­ kroprogramms dar, das von dem Operations-Code des In­ struktionswortes im Instruktionsregister RBIR 30 ange­ geben ist, oder die Adresse der ersten Mikroinstruktion des Mikroprogramms. Wenn der Operations-Code einer In­ struktion von RBIR 30 an CCS 32 angelegt wird, wobei das Befehlswort der Steuerungseinheit bei der dem Operations- Code entsprechenden Adresse gespeichert ist, werden die Inhalte Bit-Stellen 0-12 dem Kontrollspeicher der Ausführungseinheit (ECS) 34 über den Schalter CCS- ADR 36 zugeführt. Der Empfang der Adresse der Mikroinstruk­ tion durch ECS 34 verursacht, daß die bei dieser Adresse abgespeicherten Mikroinstruktionen in den Ausführungspuf­ fer 38 übertragen werden, in dem ausgewählte Felder der Mikroinstruktion mit Hilfe des Decoders 40 decodiert wer­ den, um die für die verschiedenen Subsysteme oder Einheiten einer CPU nötigen Steuerungssignale vorzusehen, in diesem Fall für die CPU 16 a.
Um unnötige Einzelheiten zu vermeiden, sind in Fig. 2 der Taktgeber und die Leiter, die die Taktsignale den verschiedenen Einheiten der CPU 16 a zuführen, nicht dargestellt.
Wenn die erste Mikroinstruktion in den Ausführungspuffer 38 geladen ist, wird während der nächsten Taktperiode die Mikroinstruktion in der Decodiereinrichtung 40 deco­ diert, um die notwendigen Steuersignale zur Verfügung zu stellen, die veranlassen, daß ein hier nicht dargestellter Zwischenspeicher andressiert und ein Teil seiner Inhalte übertragen, gespeichert und bearbeitet wird.
Die nächste oder zweite Mikroinstruktion, die als Er­ gebnis der um Eins erhöhten Adresse der ersten, im Mikro­ instruktionsregister UIC 42 enthaltenen Mikroinstruk­ tion 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.
Fig. 2 illustriert schematisch die EDAC Arbeitsweise in einer, wie in der Einleitung als zum Stande der Technik gehörenden erwähnten Datenverarbeitungsanlage. Aus dem Speicher 61 abgerufene Daten werden an den Datenschalter 65 und den EDAC Schaltkreis 63 ange­ legt. Der Datenschalter 65 wählt dann aus, ob die Daten aus dem Speicher 61 oder korrigierte Daten von dem EDAC Schaltkreis 63 in die CPU gelangen. Auch bei richtigen Daten wird bis zum Abschluß der Fehlerprüfung die Datenweitergabe verzögert.
Bei der in Fig. 4 dargestellten erfindungsgemäßen Anordnung werden aus dem Speicher 67 abgerufene 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 Verarbeitung der Daten ununterbrochen weiter. Diese Anordnung reduziert die Zu­ griffszeit zum Steuerungsspeicher um etwa 40% gegenüber der zum Stand der Technik gehörenden Anordnung nach Fig. 3, wie bereits der Einleitung erwähnt wurde.
Fig. 5 ist ein Funktions-Blockdiagramm des Gegenstands der vorliegenden Erfindung. Zwei getrenn­ te, aber miteinander verbundene Tristate-Daten­ busse werden verwendet. Der erste, als Speicherdatenbus bezeichnete Bus ist verbunden zwischen dem Ausgang des Speichers 52, dem Eingang der Tristate-Schaltung 54, dem Ausgang des Speichers 52 und dem Eingang des Aus­ führungspuffers 38 (Fig. 2). Der zweite, als Rücksei­ tenbus bezeichnete Bus ist verbunden zwischen dem Aus­ gang der Tristate-Schaltungen 56, 62 und 54 und zwi­ schen den Eingängen der Datenregister 60, der logischen Und-Funktion 66 und der Tristate-Schaltung 50. Es versteht sich von selbst, daß, während jeder der Busse als eine einzelne Linie gezeichnet ist, jeder Bus aus einer Vielzahl von Kabeln besteht, um die parallele Übertra­ gung einer Vielzahl von Daten-Bits zu ermöglichen.
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, gesteuert durch den Systemtaktgeber, ein­ gegeben. Während des folgenden Zyklus werden die glei­ chen Daten in dem EDAC-Schaltkreis 58 auf das Auftre­ ten von Fehlern überprüft. Wenn ein korrigierbarer Feh­ ler 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 eingegeben zu werden. Ein unkorrigierter Fehler bewirkt einen Abbruch der Verarbeitung.
Zwei kritische Zeitwege sind in diesem Schema zu beachten. Zuerst ist es notwendig, Daten aus dem Speicher 52 in den Ausführungspuffer gelangen zu lassen, bevor der Systemtakt wirksam wird. Zum Zweiten ist ein Fehlersignal zu erzeugen, und die kor­ rigierten Daten sind dem Ausführungspuffer vor dem folgenden Takt zur Verfügung zu stellen.
Der Ausgang des Speichers 52 ist mit dem Ausführungspuf­ fer 38 verbunden. Der gleiche Ausgang ist ebenfalls mit dem Eingang eines Tristate-Puffers 54 verbunden zur Übertragung die­ ser Daten in den EDAC Schaltkreis 58 über das Datenre­ gister 60. Während dieser Zeit wird der Tristate- Puffer 54 durch eine Lese-Signal eingeschaltet, das in einem anderen Teil der CPU erzeugt wird. Gleichzeitig wer­ den die Tristate-Puffer 50, 56 und 62 abgeschaltet und stellen für ihre entsprechenden Busse eine hohe Impe­ danz dar. Das bedeutet, der Tristate-Puffer 62 wird durch das Fehlen eines Schreibsignals an seinem Eingang abgeschaltet. Ebenso verhindert das Fehlen eines Schreibsignals 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 Tristate-Puffer 50 und 56 durch das Fehlen eines kor­ rekte Daten anzeigenden Signals ausgeschaltet, das in dem EDAC Schaltkreis 58 erzeugt wird. Daher können Da­ ten von dem Tristate-Puffer 54 in den EDAC-Schalt­ kreis ohne Störung übertragen werden.
Während eines Korrektur-Zyklus übertragen die gleichen bei­ den in beiden Richtungen betreibbaren Busse Daten von dem Tristate-Puffer 56 in den Ausführungspuffer über den Tristate-Puffer 50. Während dieser Zeit werden die Puffer 62 und die logische UND-Funktion 66 durch das Fehlen des Schreibsignals abgeschaltet und der Tristate-Puffer 54 und der Speicher 52 werden durch das Fehl­ len eines Lesesignals abgeschaltet. Puffer 50 und 56 wer­ den durch ein Signal, das korrigierte Daten anzeigt, einge­ schaltet und übertragen Daten von dem EDAC Schaltkreis 58 in den Ausführungs-Puffer. Es sollte bemerkt werden, daß der Speicherdatenbus, der die Puffer 50, 54 und den Speicher 52 mit der Ausführungseinheit verbindet, die Notwendigkeit für einen herkömmlichen Datenschalter be­ seitigt, 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ür­ de.
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 wer­ den die Tristate-Puffer 50, 54 und 56 wie oben beschrieben ausgeschaltet.
Die Anordnung der Fig. 5 ist in weiteren Schaltungseinheiten in den Fig. 6 und 7 gezeigt. Während die Anordnung in den Fig. 6 und 7 so dargestellt ist, daß sie fähig ist, 8-Bit- Daten zu behandeln, sollte es klar sein, daß dies nur als Beispiel gedacht ist und daß die Anordnung erweitert wer­ den kann, um eine viel größere Anzahl von Datenbits zu umfassen.
Die Dateneingabe-Puffer 64 aus Fig. 5 sind als UND- Gatter 70 bis 77 dargestellt. Der Tristate-Puffer 63 der Fig. 5 ist als eine Vielzahl von Tristate- Gattern 80 bis 87 in Fig. 6 dargestellt. Für jede Daten­ leitung ist ein Tristate-Gatter erforderlich. Wie oben beschrieben, läßt eine Tristateschaltung, wenn sie eingeschaltet ist, die an ihrem Eingang anliegenden Daten zu deren Bestimmungsort durch. Das bedeutet, daß, wenn des Schreibsignal, welches mit jedem der Tristate-Schaltungen 80 bis 87 verbunden ist, angeschal­ tet ist, an den Tristate-Schaltungen 80 bis 87 über die UND-Gatter 70 bis 77 anliegende Daten durch die Tristate-Schaltungen hindurch auf die Datenbus-Lei­ tungen B 0-B 7 gelangen. Wenn das Schreibsignal aus­ geschaltet ist, erscheinen die Tristate-Schaltungen 80-87 als eine hohe Impedanz.
Während eines Schreibzyklus 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 ak­ tiviert ist, das mit dem zweiten Eingang jedes der UND- Gatter 70-77 verbunden ist. In Fig. 7 ist das, was in Fig. 5 als eine einzelne UND-Funktion gezeigt war, als eine Vielzahl von UND-Gattern 90-97 dargestellt, deren jeweils einer Eingang mit den Datenbusleitungen B 0-B 7 verbunden ist und deren jeweils zweiter Eingang mit einem das Schreiben ermöglichenden Signal verbunden ist. Wenn das, das Schreiben ermöglichende Signal akti­ viert ist, gelangen die Daten auf den Datenbusleitungen B 0-B 7 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 Schreibsignal aus­ geschaltet und verhindert dadurch, daß Daten durch die Tristate-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 Tristate-Schaltungen 110-117 angelegt. An einem Ein­ gang zu jedem der Tristate-Schaltungen 110-117 liegt ein das Lesen ermöglichendes Signal an, das, wenn es ein­ geschaltet ist, Daten durch die Tristate-Schaltungen 110-117 hindurchläßt. Wenn das Lese-Signal ausgeschaltet ist, erscheinen die Tristate-Schaltungen 110-117 als hohe Impedanz.
Angenommen, das Lese-Signal ist eingeschaltet und das Schreib­ signal ist ausgeschaltet, so gelangen Daten aus dem Spei­ cher 52 durch die Tristate-Schaltungen 110-117 an die Eingänge der Datenregister 60 (siehe Fig. 6) über die Da­ tenbus-Leitungen B 0-B 7. Die Daten in dem Datenregister 60 werden an den EDAC Schaltkreis 58 wie oben beschrieben ange­ legt, in dem bestimmt wird, ob in den Daten ein Fehler vor­ liegt 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, wodurch angezeigt wird, daß bei Vorliegen eines Fehlers dieser Fehler korrigierbar ist.
Wenn der Fehler korrigierbar ist, wird das gleiche, kor­ rekte Daten anzeigende Signal an die Tristate-Schaltungen 120-127 angelegt. Die korrigierten Daten werden in gleicher Weise an die Tristate-Schaltungen 120-127 an­ gelegt und gelangen durch sie hindurch zu den Eingängen der Tristate-Schaltungen 130-137 über die Bus-Leitun­ gen B 0-B 7. Während dieser Zeit ist das Schreibsignal 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 Tristate-Schaltungen 130-137 ange­ legt, um den Durchgang der Daten auf den Bus-Leitungen B 0- B 7 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 Tristate-Schaltungen 110-117 gelangen.
Die oben beschriebene Anordnung erlaubt daher die Durch­ führung dreier elektrischer Funktionen mit Hilfe einer ein­ zigen, als Rückseitenbus bezeichneten Leitung. Diese Funk­ tionen 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 so­ wohl in die CPU als auch in den EDAC Schaltkreis. Darüber hinaus dient der Speicherdatenbus zur Übertragung von kor­ rigierten Daten aus dem EDAC Schaltkreis zur CPU. Beide Bus­ se minimieren die Notwendigkeit für irgendwelche zu­ sätzlichen Gatter oder Schalter und stellen daher die schnellstmöglichen Datenwege zur Verfügung, sobald kritische Zeitab­ läufe auftreten.

Claims (3)

1. Schaltungsanordnung in einer mit einer Fehlerkorrek­ tur versehenen Datenverarbeitungseinrichtung, in der die Daten in aufeinanderfolgenden Taktperioden verarbeitet werden, die Daten in Informationseinheiten aus einem Speicher (52) ausgelesen und in einen ersten Puffer (38) übertragen werden und worin eine Fehlerfeststellungs- und -korrekturschaltung (58) zur Feststellung von Fehlern in den ausgelesenen Informationseinheiten und - sofern möglich - auch zur Korrektur der festgestellten Fehler vorgesehen ist, gekennzeichnet durch ein Register (60) zur Speicherung einer Informationseinheit; erste Busleitungen mit zweiten Puffern (54) zur Übertragung einer, aus dem Speicher (52) ausgelesenen Informationseinheit in den er­ ten Puffer (38) und in das Register (60) während einer Taktperiode; zweite Busleitungen mit dritten Puffern (56, 50), über die die Fehlerfeststellungs- und -korrekturschal­ tung (58) mit dem ersten Puffer (38) verbunden ist; wobei die in dem Register (60) gespeicherte Informationseinheit mit Hilfe der Fehlerfeststellungs- und -korrekturschaltung (58) auf eventuelle Fehler hin überprüft wird und im Falle eines entdeckten Fehlers die Informationseinheit - sofern möglich - korrigiert und dabei sowohl die korrigierte In­ formationseinheit als auch ein Korrigierbarkeitssignal, das anzeigt, daß diese Informationseinheit korrigiert worden ist, abgegeben werden; oder ein Fehlersignal abgegeben wird, das anzeigt, daß die Informationseinheit nicht korrigierbar ist; und wobei die zweiten Busleitungen in ihren Übertragungsei­ genschaften durch das Korrigierbarkeitssignal derart gesteu­ ert werden, daß die korrigierte Informationseinheit in den ersten Puffer (38) während der nächsten Taktperiode zum Zwecke des Austausches der darin noch befindlichen fehler­ behafteten Informationseinheit übertragen wird; und wobei das Fehlersignal die Weiterverarbeitung der in dem ersten Puffer (38) befindlichen fehlerbehafteten Informationsein­ heit in der Datenverarbeitungseinheit blockiert.
2. Schaltungsanordnung nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Informationseinheiten Mikrobefehle sind und daß es sich bei dem Speicher (52) um einen Mikropro­ grammbefehlsspeicher handelt.
3. Schaltungsanordnung nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die zweiten Puffer (54) und die dritten Puffer (50, 56) als Tristate-Schaltungen ausgeführt sind.
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 DE2915159A1 (de) 1980-02-21
DE2915159C2 true 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

Also Published As

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

Similar Documents

Publication Publication Date Title
DE2619159C2 (de) Fehlererkennungs- und Korrektureinrichtung
DE69221045T2 (de) Verfahren und Gerät zur programmierbaren Speicherssteuerung mit Fehlerregelung und Prüffunktionen
DE3786862T2 (de) Fehlertolerante Rechnerarchitektur.
DE68924119T2 (de) Verfahren und Vorrichtung zum Wiederanlauf nach einem Fehler in einem digitalen Rechnersystem.
DE69316755T2 (de) Fehlertolerantes rechnersystem.
DE69114788T2 (de) Datenübertragungssystem mit Kontrollsummerechenmittel.
DE69029479T2 (de) Hochleistungsspeichersystem
DE1279980C2 (de) Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem
DE3125048C2 (de)
DE3111447C2 (de)
DE2357168C2 (de) Schaltungsanordnung für einen Speichermodul
DE2145709C3 (de) Datenverarbeitungsanlage, in welcher Verzweigungsbefehle eine Unterbrechung laufender Programme zur Folge haben können
DE2225841C3 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
DE2157829C2 (de) Anordnung zum Erkennen und Korrigieren von Fehlern in Binärdatenmustern
DE69904618T2 (de) Detektionstechnik von speicherabschnittfehlern und einzel-, doppel und triplebitfehlern
DE102005054587A1 (de) Programmgesteuerte Einheit und Verfahren zum Betreiben derselbigen
DE2336020B2 (de) Adressen-berechnungsschaltung fuer paritaetsfehler-korrekturprogramme
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
DE69029164T2 (de) Vorrichtung und Verfahren zum Ersetzen der Parität
DE69323695T2 (de) Verfahren und Einrichtung zum Überprüfen von geordneter Datenverarbeitung
DE3786853T2 (de) Gerät zur Erkennung und Klassifizierung von Steuerwortfehlern.
DE1910582A1 (de) Digitales Speichersystem
DE69332327T2 (de) Überwachung von zirkulierenden Zeigern
DE2641700A1 (de) Taktueberwachung in digitalsystemen
DE2915113C2 (de)

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