-
Die vorliegende Erfindung betrifft hochzuverlässige Rechnersysteme,
die mehrere Rechner mit einer Redundanz-Anordnung auf der Basis einer
Mehrheitsauswahl aufweisen.
-
Das bekannte hochzuverlässige Rechnersystem, auf das Bezug
genommen wird, wird oftmals bei solchen Anwendungen, die eine hohe
Betriebszuverlässigkeit erfordern, verwendet, da bei dem Auswahlsystem ein Ausfall
bei Hauptbestandteilen des Rechnersystems zu keiner sofortigen Abschaltung
des gesamten Rechnersystems führt, und der Rechnersystembetrieb nicht
durch einen Redundanz-Schaltvorgang, eine Software-Wiederholung oder
dergleichen unterbrochen wird.
-
In jüngster Zeit verlangt eine erhöhte Bedeutung der Rolle von
Rechnern in Raketen, Raumfahrzeugen und dergleichen, daß die Flug- und/oder
die Innensteuerung derartiger Fahrzeuge ganz auf Rechner umgestellt ist.
Demgemäß werden zunehmend hoch- und ultrahochintegrierte Schaltungen
(LSI und ultra-LSI) mit erhöhter Schaltungsintegration oder -dichte anstelle
der herkömmlichen gering- und mittelintegrierten Schaltungen (SSI und MSI)
verwendet. Die derzeitigen technologischen Studien werden darauf
ausgerichtet, höhere Funktion/Leistung und gleichzeitig kleinere
Abmessungen/niedrigeren Stromverbrauch zu erlangen.
-
Andererseits hat ein LSI-Mikroprozessor das Problem eines solchen
sogenannten Einzelereignisphänomens besessen, daß der LSI, wenn er hoher
Energie kosmischer Strahlen, die sich im Weltraum bewegen, ausgesetzt ist,
in ihm gespeicherte Information verliert, was den Betrieb des LSI unmöglich
macht. Ein derartig es Einzelereignisphänomen tritt normalerweise mit einer
Wahrscheinlichkeit von einmal oder so innerhalb einer Zeitdauer von einigen
Stunden bis einigen Monaten auf, und es variiert abhängig von der Stärke
des LSI, der Betätigungsfrequenz, etc . .
-
Ferner, da Rechner der Kern der Raumfahrzeuge oder dergleichen
geworden sind, ist der Ausfall oder die Nichtbetriebsfähigkeit des Rechners
nicht zulässig oder tolerierbar geworden, sogar dann, wenn er nur eine
kurze Zeit andauert. Zusätzlich ist es unmöglich, einen derartigen
fehlerhaften
Rechner, der auf einem Raumfahrzeug weit weg von der Erde
befestigt ist, zu reparieren, und folglich ist ein derartiges hochzuverlässiges
Rechnersystem untersucht worden, das drei oder mehrere Rechner auf der
Basis einer Mehrheitsauswahl verwendet.
-
Jedoch ist dieses Auswahlsystem, obgleich es die vorstehend
erwähnten Vorzüge besitzt, bei solchen Anwendungen nachteilig gewesen, die eine
sehr hohe Zuverlässigkeit, wie oben erwähnt, erfordern, da das System
ebenfalls Nachteile wie folgend besitzt.
-
1. Der Ausfall eines Überwachungsgeräts mit Mehrheitsauswahl führt
zum Ausfall des gesamten Rechnersystems.
-
2. Wenn ein Überwachungsgerät mit Mehrheitsauswahl mit Redundanz-
Anordnung verwendet wird, wird es notwendig, im Fall eines Ausfalls den
fehlerhaften Teil zu übergehen, was Wiederholung von Software oder
dergleichen erfordert, und was gewöhnlich bewirkt, daß die Verarbeitung
unstetig wird.
-
IBM Technical Disclosure Bulletin, Bd. 14, Nr. 5, Oktober 1971, Seiten
1632-1633 beschreibt ein Rechnersystem, das Fehlerkorrekturcodes vorsieht.
Dieses Rechnersystem weist einen Prozessor, mehrere Fehlerkorrekturcode-
Codiereinrichtungen, ein Überwachungsgerät mit Mehrheitsauswahl und einen
Fehlerkorrekturcode-Decoder auf.
-
Eine Aufgabe der vorliegenden Erfindung ist es, ein hochzuverlässiges
Rechnersystem bereitzustellen, das Nachteile des Stands der Technik
beseitigen kann, um eine sehr hohe Zuverlässigkeit zu verwirklichen.
-
Diese Aufgabe wird durch das Rechnersystem gemäß den
Patentansprüchen gelöst.
-
Bei der vorliegenden Erfindung werden einem Überwachungsgerät mit
Mehrheitsauswahl zugeführte Signale vorausgehend in Fehlerkorrekturcode-
Codier/Decodiereinrichtungen der Fehlerkorrekturcode-Codierung
unterworfen, so daß sogar wenn ein von einem Ausfall des Überwachungsgeräts mit
Mehrheitsauswahl resultierender Fehler auftritt, eine Fehlerkorrekturcode-
Decodier/Codiereinrichtung ein richtiges Ergebnis aufgrund der
Fehlerkorrekturcodes liefern kann.
-
Als Folge davon kann ein Ausfall in den Rechnern und den
Fehlerkorekturcode-Codier/Decodiereinrichtungen durch das Überwachungsgerät mit
Mehrheitsauswahl vermieden werden, kann ein Ausfall in dem
Überwachungsgerät mit Mehrheitsauswahl durch die
Fehlerkorrekturcode-Decodier/Codiereinrichtungen vermieden werden, und kann ein Ausfall in den
Fehlerkorrekturcode-Decodier/Codiereinrichtungen durch eine parallele
Redundanz-Anordnung vermieden werden.
-
Das bedeutet, daß Einrichtungen zur Vermeidung von Ausfällen in den
Hauptbestandteilen des Systems alle als Hauptbestandteile vorgesehen sind.
Auf diese Weise kann ein derartiger sehr hochzuverlässiger Rechner erhalten
werden, der Nachteile bei dem bekannten Auswahlsystem beseitigt.
-
Bei der vorstehenden Beschreibung umfassen die das System bildenden
Rechner irgend welche solche Einrichtungen mit einer
Rechnerfunktionsbaugruppe, wie einen Mikrorechner, einen Mikroprozessor oder dergleichen.
Ferner kann die Anzahl derartiger Rechner zwei oder mehr und
vorzugsweise drei oder mehr betragen, je nachdem, wie es in dem Rechnersystem
notwendig ist.
-
Das Überwachungsgerät mit Mehrheitsauswahl kann von einem
bekannten Typ sein, aber es muß in der Lage sein, Bits in der für den
Auswahlvorgang notwendigen Anzahl zu verarbeiten. Die Anordnung des
Überwachungsgeräts mit Mehrheitsauswahl selbst wird als ein Beispiel in dem
Magazin "Nikkei Computer", einem Artikel mit dem Titel "Fault Tolerant
Computing" von Hideo Aiiso, Seiten 190-205 vorgeschlagen, das am 5. Oktober 1981
veröffentlicht wurde.
-
Ferner können die FehlerkorrekturcodeCodier/Decodiereinrichtungen
und -Decodier/Codiereinrichtungen von bekannter Art sein und können in
dem Fehlerkorrekturcodesystem die folgenden Codes verwenden.
Code-Namen Referenzliteratur erweiterter Hamming Code (SEC-DED) IBM Patent "Error Detecting and Correcting System", Japanische Patentveröffentlichung Nr. 20367/78; Hsiao, M. Y., "A Class of Optimal Minimum Odd-Weight-Column SEC-DED Codes", IBM Journal Res & Develop., Bd. 14, Nr. 4, Seiten 395-401, 1975 SEC-DED-SbED Ein Dokument, vorgetragen von Fujiwara im General Meeting of the Institute of Electronics and Communication Engineers in Japan, Information System Department, Vortrag Nr. 365, Oktober 1979
Code-Namen Referenzliteratur M-Code Ein Dokument, vorgetragen von Matsuzawa vom Institute of Electronics and Communication Engineers in Japan, Technology Research Report von der Electronic Computer Study Group, EC75-37, Oktober 1975 BCH Eine Zeitschrift (D) des Institute of Electronics and Communication Engineers in Japan, Bd. 60-D, Nr. 10, Seiten 861-868, von Imai, Oktober 1977 SbEC Ein Dokument, vorgetragen von Fujiwara im Institute of Electronics in Japan, Technology Research Report durch die Electronic Computer Study Group, EC77-2, Februar 1977 SeBeC-DbED das gleiche wie oben; EC77-1, Februar 1977 SEC-SbED das gleiche wie der obige Punkt 2 modifizierter Eilcode Zeitschrift "Nikkei Electronics", Seiten 209-219, 25. Oktober 1982
-
Bemerkung: SEC: single error correcting
(Einfachfehlerkorrektur)
-
DED: double error detecting
(Doppelfehlernachweis)
-
SbEC: single b-adjacent bit group EC
(einfache b-Nachbarbitgruppe EC)
-
SbED: single b-adjacent bit group ED
(einfache b-Nachbarbitgruppe ED)
-
DbED: double b-adjacent bit group ED
(doppelte b-Nachbarbitgruppe ED)
-
Die vorstehend veranschaulichten Codes werden
Zufallfehlerkorrekturcodes genannt und andere Codes, wie etwa Fehlerbündelkorrekturcodes,
Nachbarfehlerkorrekturcodes, usw., können, falls nötig, beliebig verwendet
werden.
-
Die vorliegende Erfindung wird detaillierter mit Bezug auf die
angehängten Zeichnungen beschrieben werden; es zeigen:
-
Fig. 1 ein Blockdiagramm, das eine Anordnung zur Erklärung des der
vorliegenden Erfindung zugrunde liegenden Prinzips zeigt;
-
Fig. 2 ein Blockdiagramm, das eine andere Anordnung zur Erklärung
des der vorliegenden Erfindung zugrunde liegenden Prinzips zeigt;
-
Fig. 3 ein Blockdiagramm, das eine Anordnung eines bekannten
Systems zeigt;
-
die Fign. 4 bis 7 Blockdiagramme, die Anordnungen ähnlich der
Anordnung aus Fig. 2 zeigen, die einen Speicher bzw. mehrere Speicher und
eine Eingabeeinrichtung aufweisen, die jeweils an verschiedenen Stellen
angeordnet sind;
-
Fig. 8 ein Blockdiagramm, das eine Ausführungsform der vorliegenden
Erfindung zeigt;
-
Fig. 9 ein detailliertes Blockdiagramm der Fig. 8;
-
die Fign. 10 und 11 jeweils detaillierte Schaltungsdiagramme eines 26-
Bit-ECC-ENC-Elements aus Fig. 9 und eines 1 6-Bit-ECC-ENC/DEC-Elements;
-
die Fign. 12 und 13 Schaltungsdiagramme, die jeweils die internen
Anordnungen des 26-Bit-ECC-ENC-Elements und des 26-Bit-ECC-DEC-Elements
aus Fig. 10 zeigen;
-
Fig. 14 eine Logikmatrix eines Decoders aus Fig. 13;
-
Fig. 15 ein Flußdiagramm, das die Verarbeitung beim Schreiben von
Bytes durch das 16-Bit-ECC-ENC/DEC-Element aus Fig. 11 zeigt;
-
Fig. 16 ein Schaltungsdiagramm, das eine interne Anordnung eines
Überwachungsgeräts mit Mehrheitsauswahl aus Fig. 9 zeigt; und
-
Fig. 17 ein Schaltungsdiagramm, das eine interne Anordnung in einem
der Kanäle des Überwachungsgeräts mit Mehrheitsauswahl aus Fig. 16 zeigt.
-
Fig. 3 ist ein Blockdiagramm, das eine Anordnung eines Beispiels
bekannter hochzuverlässiger Rechnersysteme zeigt, bei denen Ausgaben dreier
Rechner 1A, 1B und 1C einem Überwachungsgerät 3 mit Mehrheitsauswahl
zugeführt werden, um aus ihnen eine Mehrheitsauswahl zu treffen, und um
den Ausfall des Systems zu verhindern, sogar dann wenn einer der drei
Rechner fehlerhaft wird.
-
Andererseits ist in Fig. 1 ein Blockdiagramm einer grundlegenden
Anordnung gezeigt, die das Prinzip eines hochzuverlässigen Rechnersystems
gemäß der vorliegenden Erfindung zeigt, die drei Rechner 1A, 1B und 1C,
ein Überwachungsgerät 3 mit Mehrheitsauswahl, das mit den Ausgängen der
drei Rechner verbunden ist, um aus ihnen eine Mehrheitsauswahl zu treffen,
drei Fehlerkorrekturcode-Codiereinrichtungen 2A, 2B und 2C, die mit den
Ausgängen der Rechner 1A, 1B, 1C und den Eingängen des
Überwachungsgeräts 3 mit Mehrheitsauswahl verbunden sind, um jeweils zu den Ausgaben
der Rechner 1A, 1B, 1C Fehlerkorrekturcodes zu addieren, und einen
Fehlerkorrekturcode-Decoder 4 aufweist, der an seinem Eingang mit einem Ausgang
des Überwachungsgeräts 3 verbunden ist, um den Ausgabefehler des
Überwachungsgeräts mit Mehrheitsauswahl aufgrund der vorstehend erwähnten
Fehlerkorrekturcodes zu korrigieren.
-
In Fig. 2 ist ein Blockdiagramm einer ähnlichen Anordnung gezeigt,
die sich von der ersten Anordnung aus Fig. 1 darin unterscheidet, daß ein
Überwachungsgerät 3 mit Mehrheitsauswahl zwei Ausgänge besitzt, die
jeweils mit zwei Fehlerkorrekturcode-Decodern 4A und 4B verbunden sind. Die
Ausgänge der Decoder 4A und 4B sind jeweils mit zwei Schaltern 5A und 5B
verbunden. Zur Vereinfachung kann nachstehend in dieser Beschreibung den
Rechnern 1A, 1B, . . . , Codiereinrichtungen 2A, 2B, . . . , Decodern 4A, 4B, . . ,
etc., jeweils die Bezeichnung Rechner 1, Codiereinrichtungen 2, Decoder 4, etc.,
zugeordnet werden.
-
Ein Merkmal der vorliegenden Erfindung ist, daß die
Fehlerkorrekturcode-Codiereinrichtungen 2 und der (die) Fehlerkorrekturcode-Decoder 4
in den Fign. 1 und 2 vorgesehen sind.
-
Als nächstes wird der Betrieb dieser Anordnungen hauptsächlich in
Bezug auf die zweite Anordnung aus Fig. 2 beschrieben werden. Zu jeder
der Ausgaben der Rechner 1 (jede Ausgabe besteht aus insgesamt 24 Bits,
davon 4 Bits für ein Steuersignal, 12 Bits für eine I/O-Adresse und 8 Bits
für Daten) werden durch die entsprechende der Fehlerkorrekturcode-
Codiereinrichtungen 2 6 Bits (im Fall einer Fehlerkorrektur und zweier
Fehlernachweiscodes) als Fehlerkorrekturcode hinzuaddiert, und dann
werden die gesamten 30 Bits dem Überwachungsgerät 3 mit Mehrheitsauswahl
zugeführt.
-
Das Überwachungsgerät 3 mit Mehrheitsauswahl trifft bitweise eine
Mehrheitsauswahl der 30Bit-Ausgabe von jedem der Rechner 1, und sendet
das identische Auswahlergebnis zu den zwei Fehlerkorrekturcode-Decodern
4A und 4B. Folglich kann, sogar wenn einer der Rechner 1 fehlerhaft wird,
dieser auf der Basis einer Mehrheitsauswahl eliminiert werden, während das
ganze Rechnersystem normal betriebsbereit gehalten werden kann.
Insbesondere korrigieren die Fehlerkorrekturcode-Decoder 4 einen Fehler, der vom
Ausfall des Überwachungsgeräts 3 mit Mehrheitsauswahl, etc. herrührt,
aufgrund der Fehlerkorrekturcodebits und senden die korrigierten Ausgaben zu
den Schaltern 5, die Eingabe/Ausgabe-(I/O)-Einrichtungen der Rechner 1
bilden.
-
Wenn beide Systeme der Fehlerkorrekturcode-Decoder 4 und der
Schalter 5 so angeordnet sind, daß sie parallel redundant sind, ermöglicht
es die Anordnung, daß das ganze Rechnersystem sogar im Fall der
Betriebsabschaltung irgendeines Decodersystems normal betrieben wird, so daß das
ganze Rechnersystem durch einen Ausfall in diesem Teil nicht beeinträchtigt
werden kann und normal arbeiten kann.
Ausfallsart Stelle des Ausfalls Einrichtung zur Ausfallsvermeidung Rechner Überwachungsgerät mit Mehrheitsauswahl Fehlerkorrekturcode-Codiereinrichtung Überwachungsgerät mit Mehrheitsauswahl Fehlerkorrekturcode-Decoder parallele Redundanz des anderen Systems Schalter
-
Die obige Tabelle zeigt zusammenfassend Ausfallsstellen und die
entsprechenden Einrichtungen zur Ausfallsvermeidung bei den vorstehenden
Anordnungen. Auf diese Weise kann ein sehr hochzuverlässiges
Rechnersystem erhalten werden.
-
Die Anordnung der Speicher in den jeweiligen Rechnereinheiten (CPU)
und einer Eingabeeinrichtung kann gemäß den beabsichtigten Eigenschaften
des Rechnersystems geeignet bestimmt werden. Beispiele der Anordnungen
sind in den Fign. 4 bis 7 veranschaulicht.
-
In Fig. 4 sind CPU-Einheiten 1 mit einer Eingabeeinrichtung 6
verbunden, wobei jede der Einheiten einen der Mikroprozessoren 11 und einen
der Speicher 12 aufweist. Die CPU-Einheiten 1 senden ihre Ausgaben durch
zugehörige Fehlerkorrekturcode-Codiereinrichtungen 2 zu einem Übel
wachungsgerät 3 mit Mehrheitsauswahl, um eine Mehrheitsauswahl der
Ausgaben der CPU-Einheiten vorzunehmen. Die Ausgaben des
Überwachungsgeräts 3 mit Mehrheitsauswahl werden Fehlerkorrekturcode-Decodern 4
zugeführt, um irgendeinen Fehler in dem Überwachungsgerät 3
mit
Mehrheitsauswahl zu korrigieren, und die Ausgaben der Decoder 4 werden dann
zugehörigen Ausgabeeinrichtungen 5 zugeführt.
-
Diese Anordnung ist für ein System mit einer kleinen Abmessung der
Speicher 12, der Eingabeeinrichtung 6, usw., effizient, da es lediglich die
CPU-Einheiten 1 als einen Zwei-Weg-Schaltungsabschnitt der Signalleitung
benötigt.
-
Die Anordnung aus Fig. 5 hat eine größere Eingabeeinrichtung und ist
komplizierter in ihrer Steuerung als die Anordnung aus Fig. 4, aber sie ist
eine wirksame Struktur, wenn lediglich eine kleine Speicherkapazität
benötigt wird. In Fig. 5 ist die Eingabeeinrichtung 6 für die jeweiligen CPU-
Einheiten 1 auf der Ausgabeseite eines Überwachungsgeräts 3 mit
Mehrheitsauswahl vorgesehen. Eingaben von den Eingabeeinrichtungen sprechen
auf Befehlssignale von jedem Mikroprozessor 11 an und werden direkt durch
das Überwachungsgerät 3 mit Mehrheitsauswahl, ohne in ihm irgendeiner
Verarbeitung unterworfen zu werden, zu den jeweiligen Mikroprozessoren 11
gesendet.
-
Die Fign. 6 und 7 zeigen Systeme, die angewendet werden, wenn es
erforderlich ist, daß sie verglichen mit dem Fall der Fign. 4 und 5 eine
große Speicherkapazität aufweisen, und sie besitzen die Schwierigkeit, die
CPU-Einheiten mit den jeweiligen Speichern bereitzustellen. In den Fign. 6
und 7 wird lediglich ein Einfachspeicher 12 benötigt, indem er außerhalb der
Rechnereinheiten 1 vorgesehen wird, d. h. beim Ausgang eines
Überwachungsgeräts 3 mit Mehrheitsauswahl. Deshalb ist die Anordnung aus Fig.
6 in dem Fall geeignet, in dem eine kleine Abmessung der
Eingabeeinrichtungen 6 und eine große Abmessung der Speicher 12 notwendig ist, während
die Anordnung aus Fig. 7 in den Fällen geeignet ist, in denen sowohl die
Abmessung der Eingabeeinrichtung 6 als auch die des Speichers 12 groß
sein muß.
-
Eine Ausführungsform der vorliegenden Erfindung ist detailliert in
Fig. 8 gezeigt. In Fig. 8 ist zusätzlich zu der Anordnung aus Fig. 7 ein
Unterbrechungssignal von einem Element 61, ein Paar Speicher 12A und 12B
und ein Paar Eingabe/Ausgabeeinrichtungen 51A und 51B anders vorgesehen.
Der Grund, warum derartige Paare von Speichern 12A, 12B und
I/O-Einrichtungen 51A und 51B vorgesehen sind, ist, eine solche Redundanz-Anordnung
zu ermöglichen, daß das ganze Rechnersystem, sogar im Fall eines Ausfalls,
normal betrieben werden kann, und während des Systembetriebs eine
Reparatur oder dergleichen des ausgefallenen Teils ohne Abschalten des
Systems durchgeführt werden kann.
-
Das Unterbrechungssignal wird jeweiligen Mikroprozessoren (MPU's) 11
parallel zugeführt und in Übereinstimmung mit dem Unterbrechungssignal
wird die Eingabe von den I/O-Einrichtungen 51A und 51B von den MPU's 11
zu den Fehlerkorrekturcode-Codiereinrichtungen und -Decodern 2
ausgegeben.
-
Fig. 9 ist eine detaillierte Struktur der Anordnung des Steuersystems
der in Fig. 8 gezeigten Ausführungsform.
-
Der Betrieb der jeweiligen Hauptbestandteile der in Fig. 9 gezeigten
Ausführungsform wird gemäß dem Fluß eines Signals erläutert werden.
-
(1) Takt- und Löschelement 9
-
Identische Takt- und Löschsignale werden den jeweiligen
Mikroprozessorsystemen 11A, 11B und 11C zugeführt, um die drei Systeme gemäß dem
Taktsignal in vollständiger Synchronisation zueinander zu betreiben.
-
(2) Unterbrechungssteuerelement 62
-
Unterbrechungssteuerelemente 62 sind für die zugehörigen
Mikroprozessoren 11 vorgesehen, um eine unabhängige Steuerung über die
Mikroprozessorsysteme zu schaffen. Bei der veranschaulichten Ausführungsform läuft
das Unterbrechungseingabesignal von 61 durch überhaupt kein
Überwachungsgerät mit Mehrheitsauswahl, was den Ausfall der
Unterbrechungssteuerelemente 62 berücksichtigt, und ebenso zum Zweck der
Schaltungsvereinfachung.
-
(3) Steuerleitungen (Mikroprozessorausgaben) 21
-
Viele Steuersignale werden eigentlich von den Mikroprozessoren
ausgegeben, aber der Einfachheit halber sind lediglich drei Signalleitungen, d. h.
Lese/Schreib-, Datenabtast- und Busverriegelungs-Signalleitungen,
veranschaulicht, wie sie mit einem Überwachungsgerät 31 mit Mehrheitsauswahl
verbunden sind. Da die Steuerleitungen 21 der Mikroprozessoren zueinander
asynchron betrieben werden, werden die Ausgaben der Mikroprozessoren
ohne Addition der zugehörigen Fehlerkorrekturcodes direkt zu dem
Überwachungsgerät 31 mit Mehrheitsauswahl gesendet. Das Überwachungsgerät 31
mit Mehrheitsauswahl trifft aus jedem der Steuersignale eine
Mehrheitsauswahl, aber der Ausfall des Überwachungsgeräts 31 mit Mehrheitsauswahl
kann wegen seiner Redundanz-Anordnung vermieden werden. In Fig. 9 ist
ferner das Steuersignalüberwachungsgerät 31 mit Mehrheitsauswahl
vollständig veranschaulicht, aber es weist eine derartige Redundanz-Anordnung,
wie vorstehend erwähnt, auf und sein fehlerhafter Teil kann von ihm
abgetrennt werden.
-
(4) Adreßsignalleitungen (Mikroprozessorausgaben) 22
-
Jede der mit den Mikroprozessoren verbundenen
Adreßsignalausgangsleitungen 22 enthält 26 Signaldrähte, und die auf ihnen übertragenen
Signale werden einer Fehlerkorrekturcode-Codierung in einer zugehörigen der
Fehlerkorrekturcode-Codiereinrichtungen (ECC-ENC's) 24 unterworfen. Diese
Steuersignale mit den addierten Fehlerkorrekturcodes werden in einem
Überwachungsgerät 32 mit Mehrheitsauswahl bitweise überwacht, um den Ausfall
der Mikroprozessoren 11 und ECC-ENC's 24 zu eliminieren, und dann zu
Speichern 12 und Systembussen 43 gesendet. Die Speicher 12 und
I/O-Einrichtungen 51, die durch zugehörige ECC-DEC/ENC's 41 mit zugehörigen
Systembusschnittstellen 42 verbunden sind, können richtige Adreßwerte
erhalten, da die ECC-DEC's 41 die Fehler des Überwachungsgeräts 32 mit
Mehrheitsauswahl und der Systembusse 43 eliminieren.
-
(5) Datensignalleitungen 23
-
Da die Datensignalleitungen 23 vom Zwei-Wege-Typ sind, gibt es zwei
Fälle, wie Daten von den Mikroprozessoren 11 auf den Datensignalleitungen
gesendet werden und umgekehrt Daten von den Datensignalleitungen zu den
Mikroprozessoren 11 gesendet werden. Wenn Daten von den Mikroprozessoren
11 ausgegeben werden, um in die Speicher 12 und die I/O-Einrichtungen 51
geschrieben zu werden, werden richtige Daten jeweils durch ECC/DEC's 25,
ein Überwachungsgerät 33 mit Mehrheitsauswahl und Schreibsteuerungen 82
und durch ECC-ENC/DEC's 25, ein Überwachungsgerät 33 mit
Mehrheitsauswahl und ECC-DEC/ENC's 41 zu den Speichern 12 und den
I/O-Einrichtungen 51 übertragen. Umgekehrt, wenn Daten zum Lesen in die
Mikroprozessoren 11 eingegeben werden sollen, werden die Eingabedaten einer
Fehlerkorrekturcode-Codierung bei den I/O-Einrichtungen 51, Speichern 12,
ECC-DEC/ENC's 41 oder Schreibsteuerungen 82 unterworfen und dann dem
Überwachungsgerät 33 mit Mehrheitsauswahl zugeführt. In diesem Fall führt
das Überwachungsgerät 33 mit Mehrheitsauswahl überhaupt keinen
Auswahlvorgang durch und besitzt lediglich die Funktion, die Daten auf die
jeweiligen Mikroprozessoren 11 zu verteilen. Ausgabedaten des
Überwachungsgeräts 33 mit Mehrheitsauswahl werden bei den ECC-RNC/DEC's 25 der
Korrektur der auf dem Weg erzeugten Fehler unterworfen und dann den
Mikroprozessoren 11 zugeführt, so daß die Mikroprozessoren 11 richtige Daten
annehmen können.
-
Fig. 10 zeigt Details des 26-Bit-ECC-ENC-Elements 24 und des 26-Bit-
ECC-DEC-Elements 81 für das in Fig. 9 gezeigte Adreßsignal. Das Element
aus Fig. 10 umfaßt sowohl die Codiereinrichtung 24 als auch den Decoder 81,
das wahlweise als Codiereinrichtung oder Decoder gemäß der Einstellung
eines Anschlusses ENC verwendet werden kann. Wenn es als Codiereinrichtung
verwendet wird, werden Adreßsignale von den Mikroprozessoren 11
Anschlüssen A00 bis A25 zugeführt, um durch das 26-Bit-ECC-ENC codiert zu
werden, wobei die der Fehlerkorrekturcode-Codierung unterworfenen
Adreßsignale an Anschlüssen 1300 und B25 und BP0 bis BP5 erhalten werden.
-
Fig. 12 zeigt ein Beispiel der Anordnung des 26-Bit-ECC-ENC-Elements,
bei dem Einfachfehlerkorrektur- und Doppelfehlernachweiscodes (SEC-DED-
Codes) verwendet werden.
-
Andererseits, wenn es als Decoder verwendet wird, werden der
Fehlerkorrekturcode-Codierung unterworfene Adreßsignale den Anschlüssen B00
und B25 und BP0 bis BP5 zugeführt, um durch das 26-Bit-ECC-DEC-Element
decodiert zu werden, wobei an den Anschlüssen A00 bis A25 richtige
Adreßsignale erhalten werden können.
-
Wenn in den Eingabesignalen ein Fehler auftritt und der Fehler ein
Einfachfehler ist (das Ergebnis ist korrigiert), erscheint an einem Anschluß
ERRA ein Signal; hingegen, wenn es Vielfachfehler gibt (jedes der
Ergebnisse ist nicht richtig), erscheint an einem Anschluß DERA ein Signal. Und
wenn alle Eingabesignale richtig sind, erscheint an dem Anschluß ERRA und
dem Anschluß DERA kein Signal. Folglich kann der Zustand des Fehlers
erkannt werden.
-
Fig. 13 zeigt ein Beispiel der Anordnung des 26-Bit-ECC-DEC-Elements,
das die SEC-DEC-Codes verwendet, während Fig. 14 eine Logiktabelle der
Fehlersyndrommatrix auf den Codes zeigt.
-
Fig. 11 zeigt Details der 16-Bit-ECC-ENC/DEC-Elemente 25 und der
Schreibsteuerungen 82 für das in Fig. 9 gezeigte Datensignal. Das Element
aus Fig. 11 besitzt zusätzlich zu der 16-Bit ECC-Codier- und
Decodierfunktion eine Byteverarbeitungsfunktion. Wenn die ECC-ENC/DEC-Elemente 25 so
verwendet werden, daß sie mit den Mikroprozessoren 11 verbunden sind,
werden Anschlüsse C00 bis C15 mit den Mikroprozessoren 11 verbunden,
während Anschlüsse D00 bis D15 und DP0 bis DP5 mit dem
Überwachungsgerät 33 mit Mehrheitsauswahl verbunden werden. Angenommen, daß jetzt
SH&sub2; = SL&sub2; = 1 und SL&sub1; = SL&sub3; = SH&sub1; = SH&sub3; = 0, dann ist THRU = 0. Wenn die
Mikroprozessoren 11 Daten ausgeben, werden derartige Daten den
Anschlüssen C00 bis C15 zugeführt. Da SH&sub2; und SL&sub2; beide 1 sind, wählen Schalter S1
und S2 Anschlüsse C00 bis C15 als ihre Ausgaben aus, die an einem 16-Bit-
ECC-ENC 251 der Fehlerkorrekturcode-Codierung unterworfen werden und
dann auf die Anschlüsse D00 bis D15 und DP0 bis DP5 gesendet werden.
-
Wenn die Mikroprozessoren 11 verwendet werden, um Daten einzulesen,
werden die der Fehlerkorrekturcode-Codierung unterworfenen Daten
umgekehrt den Anschlüssen D00 und D15 und DP0 bis DP5 zugeführt, an einem
16-Bit-ECC-DEC 252 der Fehlerkorrektur unterworfen, auf die Anschlüsse COO
bis C15 gesendet und dann durch die Mikroprozessoren 11 eingelesen.
-
Zur Zeit der Fehlererzeugung kann der Fehlerzustand aus der
Abwesenheit oder der Anwesenheit der Signale an den Anschlüssen ERRB und
DERB, wie in den in Fig. 10 gezeigten 26-Bit-ECC-ENC/DEC's 24 und 81,
erkannt werden.
-
Wenn die ECC-ENC/DEC-Elemente 41 so verwendet werden, daß sie mit
derartigen Eingabe/Ausgabe-Elementen wie Eingabe/Ausgabeeinrichtungen 51
oder dergleichen verbunden sind, ist das dem Fall äquivalent, bei dem die
Mikroprozessoren 11 durch die Eingabe/Ausgabeeinrichtungen 51 ersetzt
sind.
-
Wenn die Schreibsteuerelemente 82 so verwendet werden, daß sie mit
den Speichern 12 verbunden sind, sind die Anschlüsse C00 bis C15 und CP0
bis CP5 mit dem Überwachungsgerät 33 mit Mehrheitsauswahl verbunden,
während die Anschlüsse D00 bis D15 und DP0 bis DP5 mit den Speichern 12
verbunden sind. In dem gewöhnlichen 16-Bit-Schreibmodus werden
ECC-addierte Daten, die den Anschlüssen C00 bis C15 und CP0 bis CP5 zugeführt
worden sind, zuerst an einem 16-Bit-ECC-DEC-Element 253 der
Fehlerkorrektur unterworfen, an dem 16-Bit-ENC-Element 251 wieder der
Fehlerkorrekturcode-Codierung unterworfen, zu den Anschlüssen D00 bis D15 und DP0
bis DP5 gesendet und in die Speicher 12 geschrieben (SH&sub1; = SL&sub1; = 1, SH2 3
= SL2 3 = 0, THRU = 0). Wenn SH&sub2; = SL&sub2; = 1, SH1 3 = SL1 3 = 0 und THRU
= 1 ist, können Eingabedaten, die keiner Fehlerkorrektur unterworfen wor
den sind, in die Speicher geschrieben werden.
-
Im 16-Bit-Lesemodus, wenn von den Speichern 12 ausgelesene Daten
den Anschlüssen D00 bis D15 und DP0 bis DP5 zugeführt werden, werden die
Daten zuerst an dem 16-Bit-ECC-DEC-Element 252 der Fehlerkorrektur
unterworfen, zu den Anschlüssen C00 bis C15 und CP0 bis CP5 und dann zu
dem Überwachungsgerät 33 mit Mehrheitsauswahl gesendet.
-
In dem Ein-Byte- oder 8-Bit-Lesemodus, wie im 16-Bit-Lesemodus, wer
den 16-Bit-Daten von den Speichern 12 ausgelesen und durch das
Überwachungsgerät 33 mit Mehrheitsauswahl zu den auf der Eingabeseite der
Mikroprozessoren 11 vorgesehenen ECC-ENC/DEC's 25 gesendet, um auf einer
16-Bit-Basis bis zu den ECC-ENC/DEC's verarbeitet zu werden, und dann
wird notwendigerweise das hohe oder niedrige Byte der 16-Bit-Daten durch
die Mikroprozessoren 11 gelesen.
-
In dem Ein-Byte- oder 8-Bit-Schreibmodus werden von den
Mikroprozessoren 11 ausgegebene 8-Bit-Daten zu dem ECC-ENC-Element 251 gesendet,
so daß die Schalter St und S2 andere als die 8 Bits der Ausgabedaten der
Mikroprozessoren 11 auf "0" setzen, um 16-Bit-Daten zu erzeugen, zu denen
ein Fehlerkorrekturcode (ECC) addiert wird. Die ECC-addierten 16-Bit-Daten
werden durch das Überwachungsgerät 33 mit Mehrheitsauswahl ausgewählt
und dann zu den Speicherschreibsteuerelementen 82 gesendet, in denen der
16-Bit-ECC-Decoder 253 in Fig. 11 die Fehlerkorrektur über die empfangenen
Daten durchführt und die Daten zu den Schaltern S1 und S2 sendet.
-
Bei dem Schreibvorgang von Bytes in die Speicher müssen diejenigen
Ausgabedaten, die nicht durch die Mikroprozessoren 11 geschrieben werden
sollen, aus den Speichern 12 ausgelesen werden. Demgemäß werden einmal
alle Daten ausgelesen und zu den Anschlüssen D00 bis D15 und DP0 bis DP5
gesendet, an dem 16-Bit-ECC-DEC 252 der Fehlerkorrektur unterworfen und
dann zu den Schaltern S1 und S2 gesendet. Die Schalter S1 und S2
verbinden die von den Mikroprozessoren 11 gesendeten Bytedaten und die von den
Speichern 12 ausgelesenen Bytedaten, um neue 16-Bit-Daten anzufertigen, die
in die Speicher 12 geschrieben werden sollen. Die neuen Daten werden an
dem 16-Bit-ECC-ENC 251 der ECC-Addition unterworfen, zu den Anschlüssen
D00 bis D15 und DP0 bis DP5 gesendet und dann in die Speicher 12
geschrieben.
-
Der Datenfluß in diesem Byte-Schreibsystem ist in Fig. 15 gezeigt. In
diesem Byte-Schreibsystem werden Daten zuerst wortweise aus den
Speichern ausgelesen, und von den Mikroprozessoren 11 gesendete
Schreibinformation wird hinzuaddiert, um Speicherschreibdaten anzufertigen, und dann
werden Speicherschreibdaten wieder der ECC-Addition unterworfen und in
die Speicher 12 geschrieben. Deshalb benötigt ein Schreibvorgang zwei
Speicherzyklen, aber für den ECC ist lediglich nötig, daß er aus 6 Bits besteht.
Die Verwendung eines Systems zur Addition des ECC zu jedem Byte
erfordert, daß der ECC aus 10 Bits (5 Bits · 2) besteht, und somit ist das in Fig.
15 gezeigte System vorteilhaft, da es eine geringere Anzahl an
Speicherelementen benötigt.
-
Das 16-Bit-ECC-ENC-Element 251 und die 16-Bit ECC-DEC-Elemente 252
und 253 entsprechen Teilen der 26-Bit-ECC-ENC-Elemente 24 und der 26-Bit-
ECC-DEC-Elemente 81, das heißt die ersteren verwenden 16 Bits der 26 Bits,
wobei die verbleibenden 10 Bits alle auf "0" gesetzt werden.
-
Details der in Fig. 9 gezeigten Überwachungselemente 31, 32 und 33
mit Mehrheitsauswahl sind in Fig. 16 gezeigt. Die in Fig. 16 gezeigten
Überwachungselemente mit Mehrheitsauswahl weisen 25 Auswahlkanäle 30 auf, um
eine Mehrheitsauswahl aus drei Datensystemen A bis C zu treffen. Als Folge
der Mehrheitsauswahlentscheidung auf den Datensystemen A bis C kann das
Überwachungselement mit Mehrheitsauswahl aus Fig. 16 das falsche System
unter Verwendung der Kennzeichen von ERA bis ERC aufzeigen, wenn
irgendeines der Systeme A bis C falsch ist. Wenn zwei der
Auswahleingabesysteme A bis C vollständig fehlerhaft sind, kann das Überwachungselement
mit Mehrheitsauswahl aus Fig. 16 seine Auswahlfunktion nicht durchführen.
Deshalb ist das Überwachungselement so angeordnet, daß es in der Lage ist,
auch nur eines der Systeme A bis C zu verwenden, unter Berücksichtigung
solcher Situationen wie dem obigen Fall zweier fehlerhafter Systeme oder der
Leichtigkeit bei einem Test.
-
Das Auswahlkanalelement 30 aus Fig. 16 besitzt insgesamt 25 Kanäle,
die aus 17 Ein-Weg-Kanälen und 8 Zwei-Wege-Kanälen bestehen, und kann
die Rolle der drei Überwachungsgeräte 31, 32 und 33 mit Mehrheitsauswahl
aus Fig. 9 übernehmen. Die 17 Ein-Wege-Kanäle bestehen aus 6
Steuerkanälen (3 Steuerleitungskanälen · 2) und 11 Adreßkanälen, während die 8 Zwei-
Wege-Kanäle als Datenleitungen verwendet werden.
-
Fig. 17 zeigt Details eines der 25 Kanäle des Auswahlkanalelements 30
aus Fig. 16. In Fig. 17 stellen die Symbole A, B und C jeweils
Dateneingaben, O1 die Ausgabe des Auswahlergebnisses, O2, O3 und O4
Kennzeichenausgaben dar, die jeweils die Fehler bezüglich der Dateneingaben A bis C
anzeigen. Das Symbol SV bezeichnet ein Steuersignal zur Mode-Auswahl, um
den Auswahlvorgang in Zusammenarbeit mit Signalen SA, SB und SC zu
beenden, und um eines der Systeme A bis C auszuwählen, wobei in dem
ausgewählten Modus das Signal SA, SB oder SC ein ausgewähltes der Systeme A
bis C anzeigt, wobei der ausgewählte Kanal eine Ausgabe von O1 erzeugt.
-
Wie in dem Vorstehenden beschrieben worden ist, wird gemäß der vor
liegenden Erfindung ein hochzuverlässiges Rechnersystem bereitgestellt, das
Fehlerkorrekturcode-Codiereinrichtungen zur Addition von
Fehlerkorrekturcodes zu den Ausgaben der Rechner und einen
Fehlerkorrekturcode-Decoder zur Korrektur eines Fehlers in einem Überwachungsgerät mit
Mehrheitsauswahl aufgrund der Fehlerkorrekturcodes aufweist, wobei
Einrichtungen zur Vermeidung von Ausfällen in Hauptbestandteilen des Rechnersystems
alle als Hauptbestandteile des Systems vorgesehen sind. Folglich kann die
vorliegende Erfindung den Bedarf an derartigen Vorgängen, wie einem
Änderungsvorgang eines Elements im Fall eines Ausfalls, beseitigen und kann
automatisch den Einfluß eines Ausfalls, der in einem der Hauptbestandteile
des Rechnersystems auftritt, vorteilhaft entfernen.
-
Auf diese Weise kann in Übereinstimmung mit der vorliegenden
Erfindung ein derartig sehr hochzuverlässiges Rechnersystem erhalten werden,
das in dem bekannten Überwachungsgerät mit Mehrheitsauswahl enthaltene
Nachteile beseitigen kann, und seine Wirkung ist hervorragend.