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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- 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.
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)
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
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 |