DE3686901T2 - Auf hohem systemniveau selbstpruefendes intelligentes e/a-steuergeraet. - Google Patents

Auf hohem systemniveau selbstpruefendes intelligentes e/a-steuergeraet.

Info

Publication number
DE3686901T2
DE3686901T2 DE8686303566T DE3686901T DE3686901T2 DE 3686901 T2 DE3686901 T2 DE 3686901T2 DE 8686303566 T DE8686303566 T DE 8686303566T DE 3686901 T DE3686901 T DE 3686901T DE 3686901 T2 DE3686901 T2 DE 3686901T2
Authority
DE
Germany
Prior art keywords
complement
base
signals
data
processor
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 - Lifetime
Application number
DE8686303566T
Other languages
English (en)
Other versions
DE3686901D1 (de
Inventor
Srikumar R Chandran
Albert S Lui
Edward J Rhodes
Mark S Walker
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.)
Tandem Computers Inc
Original Assignee
Tandem Computers 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 Tandem Computers Inc filed Critical Tandem Computers Inc
Application granted granted Critical
Publication of DE3686901D1 publication Critical patent/DE3686901D1/de
Publication of DE3686901T2 publication Critical patent/DE3686901T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Alarm Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Control Of Transmission Device (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Control Of Throttle Valves Provided In The Intake System Or In The Exhaust System (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

    Hintergrund der Erfindung Gebiet der Erfindung
  • Die Erfindung betrifft einen hochwertigen selbstprüfenden intelligenten Eingangs/Ausgangs (E/A)-Controller, der ein eng gekoppeltes redundantes Prozessorsystein mit zwei Modulen, einen DMA(Direct Memory Access)-Modul und einen Prozessorunterstützungsmodul verwendet. Insbesondere betrifft die Erfindung einen E/A-Controller, der ein Paar synchron betriebene, fehlergeschützte Daten liefernde Prozessoren und Adreßbusse und zweikanalige Basis-Komplement-Steuersignale verwendet, die durch selbstprüfende Prüfschaltungen geprüft werden, die als Morphiereduktionsschaltungen vorliegen. Die Erfindung ist so beschaffen, daß sie einen hohen Grad an Datenechtheit dadurch liefert, daß innere Störungen in bezug auf sowohl Zeit als auch Ort detektiert, lokalisiert und isoliert werden.
  • Kurze Beschreibung des Standes der Technik
  • Käuflich erwerbbare gebrauchsfertige Mikroprozessoren schützen ihre Adreß-, Daten- und Steuerbusse nicht vor inneren Störungen. Demgemäß eignen sich derartige Prozessoren selbst nicht für Anwendungen, bei denen die Echtheit von Daten und Fehlertoleranz wichtig sind, wie bei On-line-Datenverarbeitungsanwendungen, bei denen große Datenmengen mit hohen Durchsatzraten bearbeitet werden müssen, ohne daß es zu einer Unterbrechung oder Verfälschung der Daten innerhalb des Systems kommt, wenn eine Störung im System einen Fehler verursacht. FIFTH INTERNATIONAL CONFERENCE ON FAULT - TOLERANT SYSTEMS AND DIGNOSTICS FSTD '82, Katowice/Wista, 8. - 10. Februar 1983, Seiten 189 - 195; A. KANOMATA et al.: "Highly reliable microcomputer based on complementary duplication for control applications" gibt die Grundidee an, Verarbeitungseinrichtungen komplementär für Zuverlässigkeitszwecke zu verdoppeln.
  • Wenn Steuersignale nicht geschützt werden, können verschiedene Arten von Störungen nicht schnell festgestellt werden, was es erlaubt, daß sich Fehler durch das System fortpflanzen und Fehlerisolierung erschweren. Fehlerfortpflanzung kann zu Datenverstümmelung führen, was bei vielen Anwendungen nicht hinnehmbar ist. Daher wurde im Stand der Technik ein System benötigt, das gegen Fehler in Adreß-, Daten- und Steuersignalen schützt. Daher wäre folgendes erwünscht:
  • - alle Einzelpunktstörungen und gewisse Klassen von Mehrpunktstörungen auf den Adreß-, Daten- und Steuerbussen eines redundanten Prozessorsystems mit zwei Modulen zu detektieren, lokalisieren und zu isolieren;
  • - den Adreßbus, den Datenbus und den Steuerbus gegenüber Einzelpunktstörungen zu schützen, seien es statische oder vorübergehende;
  • - derartige Störungen auf Basis eines Buszyklus zu detektieren;
  • - über jede detektierte Störung entweder im Buszyklus, in dem sie detektiert werden, oder im nächsten Zyklus zu berichten;
  • - interne Störungen zu detektieren, zu lokalisieren, zu isolieren und über sie zu berichten, bevor sie sich entweder zeit-oder ortsmäßig ausbreiten können, wodurch Störungsbestimmung und -korrektur erheblich einfacher und zuverlässiger wird; und
  • - ein redundantes Paar käuflich erhältlicher Mikroprozessoren synchronisiert zu betreiben, um einen internen Systembus zu erhalten, der gegen Adreß-, Daten- und Steuerfehler geschützt ist und dadurch einen hohen Grad an Datenechtheit sicherstellt.
  • Zusammenfassung der Erfindung
  • Gemäß einer ersten Variante der vorliegenden Erfindung wird ein redundantes Prozessorgerät mit zwei Modulen zum Sicherstellen von Datenechtheit angegeben, wie in Anspruch 1 beansprucht.
  • Gemäß einer zweiten Variante der Erfindung wird ein selbstprüfender intelligenter Eingabe/Ausgabe-Controller angegeben, wie in Anspruch 5 beansprucht.
  • Ein bevorzugtes Ausführungsbeispiel der Erfindung weist eine E/A-Controllerarchitektur auf, die ein Paar käuflich erhältlicher gebrauchsfertiger Mikroprozessoren enthält, die als redundantes Prozessorsystem mit zwei Modulen betrieben werden. Der erfindungsgemäße E/A-Controller weist weiterhin folgendes auf: einen Prozessormodul mit zwei Prozessoren, einen DMA(Direct Memory Access)-Modul, einen Prozessorunterstützungsmodul, einen Speicher, eine Einrichtungstreiberschnittstelle und eine Kanalschnittstelle.
  • Die Prozessoren werden mit einem gemeinsamen Takt synchronisiert betrieben, um redundante (d. h. Basis- und Komplement) Adreß-, Daten- und Steuerabtastsignale für einen internen Systembus (ISB = Internal System Bus) zu liefern. Einer der Mikroprozessoren wird als Basisprozessor und der andere als Komplementprozessor bezeichnet. Jeder Prozessor gibt Adressen und Daten an den ISB und erhält Daten von diesem. Der ISB wird gegen Fehler durch Paritätsprüfung und durch Morphiereduktion des von den redundanten Prozessoren gelieferten Basis-Komplement-Paars geschützt. Der Prozessormodul, die Einrichtungstreiberschnittstelle und die Kanalschnittstelle werden bei der Erfindung durch Überlappungstechniken gegen Fehler geschützt, die paritätsgeschützte Adressen und Daten, zweikanalige Adreß-, Daten- und Steuersignale, Paritätsvorhersagezähler, Vorrichtungen mit dupliziertem Zustand und Anordnungen mit paritätsvorhergesagtem Zustand aufweisen.
  • Jeder Prozessor gibt fünf Typen von Steuersignalen auf den internen Systembus oder auf Steuerleitungen aus, die sich auf Lese- und Schreiboperationen beziehen: ein Adreßabtastsignal ("AS*), ein Abtastsignal für das obere Datenbyte *"UDS*"), ein Abtastsignal für das untere Datenbyte ("LDS*"); ein Abtastsignal zur Datenbestätigung ("DTACK*") und ein Lese/Schreib-Abtastsignal ("R/W*"). Dadurch existiert ein Basis-Komplement-Paar von Steuersignalen (d. h. ein Signal von jedem Prozessor) für jedes Steuerabtastsignal. Eine Schwierigkeit beim Verwenden redundanter Steuersignale von redundanten Prozessoren zum Erzeugen fehlergeschützter Steuersignale besteht darin, daß käuflich erhältliche, gebrauchsfertige Prozessoren Zeitsteuerungstoleranzen aufweisen, die es erlauben, daß identische Steuerabtastsignale, die von getrennten Prozessoren erzeugt werden, zeitlich gegeneinander versetzt sind. Daher ist ein Vergleich der redundanten Steuerabtastsignale nicht sinnvoll, solange nicht die Möglichkeit zeitlicher Versätze berücksichtigt wird. Bei der Erfindung werden die Steuerabtastsignale auf den zwei Leitungen so synchronisiert, daß sie innerhalb der Zeittoleranzen der zwei Prozessoren liegen, und zusätzliche Synchronisiereinrichtungen werden verwendet, um es zu ermöglichen, daß die redundanten Steuerabtastsignale durch den erfindungsgemäßen E/A-Controller 10 verglichen werden.
  • Ein Adreßbusparitätsgenerator erzeugt ein Bit ungerader Parität für alle Adressen. Ein Adreßprüf er mit einem selbstprüfenden Prüfer oder einer Morphiereduktionsschaltung prüft die Basis-Komplement-Paare der Adressen, wie sie von den zwei Prozessoren geliefert werden, und erzeugt ein Fehlersignal beim Feststellen einer Nichtübereinstimmung. Ein Datenprüfer führt eine ähnliche Funktion in bezug auf die Daten aus, die von einem gemeinsamen Speicher ausgelesen oder in diesen eingeschrieben werden, in den sich die Prozessoren teilen. Die Basis-Komplement-Steuerabtastsignale werden auf ähnliche Weise durch einen Steuersignalprüfer überprüft. Jede Nichtübereinstimmung bei den Steuerabtastsignalen veranlaßt einen Detektor für lahmlegende Fehler (fatal errors), ein Paar Haltsignale zu erzeugen, von denen eines jedem der zwei Prozessoren zugeführt wird, damit diese die Verarbeitung einstellen. Die Morphiereduktionsschaltungen sind in solcher Weise selbstprüfend, daß jede Störung in diesen Schaltungen selbst als Fehler festgestellt wird.
  • Bei der Erfindung sind alle Interruptsignale für das Prozessorpaar zweikanalig und werden unabhängig voneinander, jedoch synchron, für jeden Prozessor gehandhabt. Daher ist der einzige Fehlertyp, der zu einem Adreß-, Daten- oder Steuersignalfehler führt, eine vorübergehende oder statische Störung auf den Interruptleitungen selbst. Alle Einzelpunktstörungen und gewisse Klassen von Mehrpunktstörungen werden auf Buszyklusbasis festgestellt. Über alle Fehler, mit Ausnahme von Datenparitätsfehlern, wird im selben Zyklus der Mikrokodeausführung berichtet, in der die Störung auftritt; über Datenparitätsfehler wird im nächsten Zyklus berichtet. Störungen können bestimmten Einrichtungen (d. h. integrierten Schaltungschips) zugeordnet werden und dem System mit hohem Zuverlässigkeitsgrad mitgeteilt werden.
  • Das erfindungsgemäße System weist einen gemeinsamen Speicher und zusätzliche Einrichtungen (d. h. Schaltungen, die bei Lese/Schreib-Operationen verwendet werden) auf, auf die durch beide Prozessoren zugegriffen wird. Nichtlahmlegende Fehler auf dem ISB werden durch einen Fehlerprüfer festgestellt und über ein zweikanaliges Paar von Busfehlersignalen (d. h. ein Basis-Komplement-Paar von Signalen) den Prozessoren mitgeteilt. Auf die Busfehlersignale hin führen die prozessoren Firmware aus dem Programmraum (oder Koderaum) im Speicher aus, um das Systemelement zu lokalisieren, in dem die Störung auftrat, die den Fehler bewirkte. Lahmlegende Fehler veranlassen die zwei Prozessoren dazu, die Verarbeitung über zweikanalige Haltsignale einzustellen. Beim bevorzugten Ausführungsbeispiel sind nur die folgenden zwei Fehlerarten lahmlegend: Nichtübereinstimmungen zwischen redundanten Adreß-, Daten- oder Steuerabtastsignalen und Paritätsfehler im Programmkoderaum.
  • Die vorliegende Erfindung verwendet drei zweikanalige Busentscheidungsleitungen zwischen dem DMA-Modul und jedem der zwei Prozessoren: Busanforderung; Busfreigabe und Busfreigabebestätigung. Die Busanforderungs- und Busfreigabebestätigungsleitungen übertragen Signale vom DMA-Modul zu jedem der Prozessoren; die Busfreigabeleitungen übertragen Signale von den Prozessoren zum DMA-Modul.
  • Beschreibung der Zeichnungen
  • Fig. 1 ist ein Blockdiagramm von Verarbeitungs-, Kanalschnittstellen-, Einrichtungsschnittstellen- und Speicherfunktionsblöcken gemäß der Erfindung;
  • Fig. 2 ist ein Blockdiagramm des erfindungsgemäßen zweikanaligen redundanten Computerprozessorsysteins mit zwei enggekoppelten Prozessormodulen;
  • Fig. 3 ist ein Blockdiagramm des Adreßbusses bei der Architektur der vorliegenden Erfindung;
  • Fig. 4 ist ein Blockdiagramm des Datenbusses bei der Architektur der vorliegenden Erfindung;
  • Fig. 5 ist ein Blockdiagramm des Lese/Schreib-Leitungen für den Steuerbus bei der Architektur der vorliegenden Erfindung;
  • Fig. 6 ist ein Blockdiagramm für die Interrupt- und Busentscheidungsleitungen des Steuerbusses bei der Architektur der vorliegenden Erfindung;
  • Fig. 7A ist ein Logikdiagramm für die Schaltung der Erfindung zum Lösen von Zeitsteuerproblemen bei Leseoperationen;
  • Fig. 7B ist ein Zeitsteuerdiagramm, das die Beziehung zwischen zwei Lesesteuerabtastsignalen und einem einzigen Steuerabtastsignal, das die Steuerung vornimmt, wenn Leseoperationen erfolgen können, darstellt;
  • Fig. 8A ist ein Logikdiagramm einer erfindungsgemäßen Schaltung zum Lösen von Zeitsteuerproblemen bei Schreiboperationen; und
  • Fig. 8B ist ein Zeitsteuerdiagramm, das die Beziehung zwischen zwei Schreibsteuerabtastsignalen und einem einzigen Steuerabtastsignal, das die Steuerung vornimmt, wenn Schreiboperationen stattfinden können, darstellt.
  • Detaillierte Beschreibung des bevorzugten Ausführungsbeispiels
  • Gemäß Fig. 1 weist der E/A-Controller 10 der vorliegenden Erfindung drei Hauptfunktionsblöcke auf: einen Prozessorblock 20 und einen zugeordneten Speicher 22; eine Portsteuerung oder eine Kanalschnittstelle 30; und eine Einrichtungsschnittstelle 40. Die Funktionsblöcke 20, 30 und 40 sind über einen internen Systembus (ISB = Internal System Bus) 50 miteinander verbunden. Der Prozessorblock 20 verfügt über einen Basisprozessor 114, einen Komplementprozessor 112, einen DMA(Direct Memory Access)-Modul 300 und einen Prozessorunterstützungsmodul (PSM = Processor Support Module) 400, wie in den Fig. 1 bis 6 dargestellt. Der Speicherabschnitt 22 ist über den ISB 50 so mit dem Prozessorblock 20 verbunden, daß er mit diesem kommunizieren kann. Puffer 108 und 102 sind Datenpuffer der üblicherweise im Stand der Technik verwendeten Art.
  • Gemäß Fig. 2, die den Prozessorblock 20 von Fig. 1 mit mehr Einzelheiten zeigt, verfügt der E/A-Controller 10 bei der Erfindung über zwei käuflich erhältliche gebrauchsfertige Mikroprozessoren 112 und 114 (z. B. Mikroprozessoren vom Typ MC 68000 von Motorola), die durch einen gemeinsamen Takt 116 synchronisiert als zweikanaliges redundantes Computerprozessorsystem mit enger Kopplung der zwei Prozessormodule arbeitet. Der Prozessor 114, der einen nichtinvertierenden Puffer 118 (einen elektrischen Puffer zum Erhöhen des elektrischen Ansteuervermögens) in seinem Adreßbus 174 aufweist, wird als Basisprozessor bezeichnet, während der Prozessor 112, der einen invertierenden Puffer 120 (einen elektrischen Puffer) in seinem Adreßbus 172 aufweist und einen invertierenden Puffer 146 in seinem Datenbus 136 aufweist, als Komplementprozessor bezeichnet wird. Der Basisprozessor 114 und der Komplementprozessor 112 teilen sich in einen (nicht dargestellten) gemeinsamen Programmraum oder Koderaum, der paritätsgeschützt ist und innerhalb eines gemeinsamen Speichers 22 liegt. Die Prozessoren 112 und 114 greifen auch gemeinsam auf mehrere Einrichtunge 124, 126 und 128 zu, die, wie dies in Fig. 1 veranschaulicht ist, z. B. ein Schreibformatierchip 44, ein Leseformatierchip 48 oder der DMA-Modul 300 sein können. Weitere oder weniger solche Einrichtungen können je nach Erfordernis oder Wunsch verwendet werden, ohne daß der Schutzbereich der Erfindung verlassen wird (siehe Fig. 5).
  • Der ISB 50 beinhaltet einen Adreßbusteil 132 (s. Fig. 3), einen Datenbusteil 130 (s. Fig. 4) und einen Steuerbusteil 198 (s. Fig. 5). Die erfindungsgemäße Architektur schützt alle drei Teile des ISB 50, wie auch weitere (nicht dargestellte) Steuerleitungen gegen durch Störungen verursachte Fehler. (Hierbei bedeutet der Begriff "Fehler" einen anomalen Zustand in einem Satz observabler Ausgangssignale für einen gegebenen Satz von Eingangszuständen zum Zeitpunkt der Beobachtung; "Störung" bedeutet einen anomalen Zustand in einem physischen Element einer logischen Schaltung; "Prüfbarkeit" bedeutet die Möglichkeit, Störungen durch das Beobachten von Fehlern festzustellen, was es erfordert, daß jede physischen Störung einen anomalen Satz von Ausgangssignalen für verschiedene normale Sätze von Eingangssignalen zur Folge hat; und "Testbarkeit" bedeutet die Fähigkeit, Störungen zu lokalisieren, wobei der Satz von Eingangssignalen, der zum Lokalisieren von Störungen verwendet wird, kein solcher mit "normalen" Eingangssignalen sein muß) . Beim bevorzugten Ausführungsbeispiel überträgt der Datenbus 130 16 Datenbits und zwei Paritätsbits (d. h. ein Paritätsbit für ein oberes Datenbyte und ein anderes Datenbit für ein unteres Datenbyte), während der Adreßbus 132 acht Adreßbits und ein Paritätsbit überträgt. Beim bevorzugten Ausführungsbeispiel verfügen der Datenbus 130 und der Adreßbus 132 über drei Ausgangszustände (d. h. über den Zustand logisch 1, den Zustand logisch 0 und einen inaktiven Zustand, der einem Spannungspegel innerhalb einer "Tot "-Zone entspricht).
  • Bei der Erfindung werden systembezogene Fehler in zwei Gruppen unterteilt: lahmlegende und nichtlahmlegende. Lahmlegende Fehler sind zerstörend und bewirken die Einstellung der Arbeit des Controllers 10. Nichtlahmlegende Fehler initiieren eine Ausnahmeverarbeitung durch die Prozessoren 112 und 114. Die Ausnahmeverarbeitung wird durch einen im Speicher 22 abgelegten Mikrokode gesteuert, der auf ein Signal für einen nichtlahmlegenden Fehler ausgeführt wird. In verschiedenen Fällen können ein nichtlahmlegender Fehler oder mehrere derselben zu einem lahmlegenden Fehler führen, der weitere Verarbeitung durch die Prozessoren 112 und 114 stoppt.
  • Die Prozessoren 112 und 114 weisen Datenports 136 bzw. 134 auf. Der Datenport 134 des Basisprozessors 114 ist über einen nichtinvertierenden Puffer 138 (einen elektrischen Puffer) mit einem Datenprüfer 140 und einem Paritäts-Prüfer/ Generator 142 über den Datenbus 130 des ISB 50 verbunden. Der Datenport 136 des Komplementprozessors 112 ist mit dem ISB-Datenbus 130 über einen nichtinvertierenden Puffer 144 (einen elektrischen Puffer) verbunden, der es ermöglicht, daß Daten vom ISB-Datenbus 130 an den Komplementprozessor 112 geliefert werden können, ohne daß sie intertiert werden können. Daten werden vom Datenport 136 des Komplementprozessors 112 über einen invertierenden Puffer 146 (einen elektrischen Puffer) an den Datenprüfer 140 gegeben.
  • Auf diese Weise empfängt der Datenprüfer 140 (der im PSM 400 enthalten ist) einen Basisdatensatz vom Basisprozessor 114 (und nichtinvertierenden Puffer 138) und einen Komplementdatensatz vom Komplementprozessor 112 (und invertierenden Puffer 146). Der Datenprüfer 140 weist (nicht dargestellte) Morphiereduktionsschaltungen einer üblicherweise verwendeten Art auf, die als selbstprüfende Prüfer arbeiten und die Basisdaten und die Komplementdaten miteinander vergleichen. Der Basis- und der Komplementdatenbus werden im Datenprüfer 140 mit jedem Schreibtakt im Datenprüfer 140 überprüft und durch Morphiereduktion reduziert, was zu einem Basis-Komplement-Signalpaar führt. Jede Nichtübereinstimmung zwischen den Basis- und den Komplementdaten (d. h., wenn ein Datenbit vom Komplementdatenbus nicht das Komplement des zugehörigen Datenbits vom Basisdatenbus ist) oder jeder Fehler in der (nicht dargestellten) zugeordneten selbstprüfenden Prüfschaltung ist ein lahmlegender Fehler. Wenn ein lahmlegender Fehler vom Datenprüfer 140 festgestellt wird, wird von diesem ein Basis- und ein Komplementpaar erzeugt und über ein Paar Fehlerleitungen 148 für lahmlegende Fehler an einen Detektor 150 für lahmlegende Fehler übertragen, was weiter unten beschrieben wird. Der Ausgang des Detektors 150 für lahmlegende Fehler wird durch ein Paar Leitungen 152 und 154 für lahmlegende Fehler gebildet, die mit den Stoppeingängen 156 bzw. 158 der Prozessoren 112 bzw. 114 verbunden sind. Dadurch werden die Prozessoren 112 und 114 gestoppt, wenn die Leitungen 152 und 154 für lahmlegende Fehler auf Datennichtübereinstimmungen oder die Ermittlung eines Fehlers im Datenprüfer 140 in den aktiven Zustand übergehen.
  • Wenn angenommen wird, daß vom Datenprüfer 140 kein Fehler festgestellt wird, werden die überprüften Daten vom Paritäts-Prüfer/Generator 142 dazu verwendet, ein oberes und ein unteres Datenbyte sowie ein geradzahliges Datenparitätsbit für das untere Byte und ein geradzahliges Paritätsbit für das obere Byte auf dem Datenbus 130 zu erzeugen. Beim bevorzugten Ausführungsbeispiel werden zwei Datenparitätsbits verwendet, um den Schutzbereich gegen Datenfehler zu erweitern und um Operationen für entweder Datenbytes oder -wörter zu ermöglichen. Wie unten erläutert, überprüfen alle E/A- strukturierten (mapped) Register zutreffende Datenparität, wenn in sie eingeschrieben wird, und Fehler werden im selben Buszyklus an die Prozessoren 112 und 114 rückgemeldet. Der Paritäts-Prüfer/Generator 142 überwacht den Datenbus 130 auf Paritätsfehler während Leseoperationen der Prozessoren 112, und 114, und jeder ermittelte Fehler wird über ein Basis- Komplement-Paar für Signale zu nichtlahmlegenden Fehlern auf den Leitungen 160 an den Fehlerprüfer 162 mitgeteilt, der ein Paar Signale für nichtlahmlegende Fehler auf den Leitungen 164 und 166 erzeugt, die mit den Busfehlereingängen 168 und 170 der Prozessoren 112 bzw. 114 verbunden sind. Paritätsfehler, die vom Paritäts-Prüfer/Generator 142 festgestellt werden, werden als nichtlahmlegende Fehler behandelt, die von den Prozessoren 112 und 114 verarbeitet werden, indem diese geeignete (nicht dargestellte) Firmware abarbeiten, die im Speicher 22 abgelegt ist, was auf Ausnahmebasis erfolgt, um die störungsbehaftete Schaltung zu lokalisieren. Der Paritäts-Prüfer/Generator 142 erzeugt Paritätsbits während Schreiboperationen.
  • So wird Paritätsinformation von Bytebreite erzeugt und auf dem Datenbus überprüft. Beim bevorzugten Ausführungsbeispiel existieren vier Paritätskontrollbits in einem (nicht dargestellten) Paritätskontrollregister. Diese vier Bits werden unter Mikrokodesteuerung dazu verwendet, ungerade Parität für das untere oder obere Byte zu erzeugen und die Paritätsprüfung für das untere oder obere Byte außer Kraft zu setzen. Wenn die Paritätsprüfung nicht außer Kraft gesetzt ist, wird gerade Parität bei Leseoperationen immer überprüft, und gerade parität wird bei Schreiboperationen immer erzeugt.
  • Während einer Leseoperation wird auf gerade Parität überprüft. Wenn ein Fehler auftritt, bestehen zwei Möglichkeiten: (1) die gelesene Information kam von einem Koderaum, in welchem Fall der Fehler als lahmlegend definiert wird, was bewirkt, daß der Controller stoppt; oder (2) gelesene Information kam aus dem Datenraum, in welchem Fall ein Busfehlersignal an die Prozessoren 112 und 114 ausgegeben wird und die Ausnahmeverarbeitung initiiert wird.
  • Der Komplementprozessor 112 weist einen Adreßport 172 zum Ausgeben von Adressen über einen invertierenden Puffer 120 an den ISB-Adreßbus 132 auf; der Basisprozessor 114 weist einen Adreßport 174 zum Ausgeben von Adressen über einen nichtinvertierenden Puffer 118 an den ISB-Adreßbus 132 auf. Dank des invertierenden Puffers 120 wird das Komplement jedes Adreßbits vom Komplementprozessor 112 an den Adreßprüfer 176 geliefert, der Teil des DMA-Moduls 300 ist. Die Basisadreßbits werden dem Adreßprüfer 176 vom Basisprozessor 114 zugeführt. Außer während der DMA-Betriebsart werden diese zwei Sätze von Adreßleitungen durch den Adreßprüfer 176 überprüft, der (nicht dargestellte) selbstprüfende Prüfer oder Morphiereduktionsschaltungen bekannter Art aufweist. Wenn Nichtübereinstimmung zwischen einem beliebigen Paar von Basis-Komplement-Adreßbits (d. h. ein Bit ist nicht das Komplement des anderen) besteht, erzeugt der Adreßprüfer 176 ein Basis-Komplement-Paar von Signalen für lahmlegende Adreßfehler auf den Leitungen 178. Da der Adreßprüfer 176 selbstprüfend ist, erzeugt auch jede Störung im Adreßprüfer 176 selbst ein Basis-Komplement-Paar von Signalen für lahmlegende Adreßfehler auf den Leitungen 178. Die Signale für lahmlegende Adreßfehler werden über die Leitungen 178 an den Detektor 150 für lahmlegende Fehler gegeben, der auf dieselbe Weise reagiert, wie weiter oben in bezug auf lahmlegende Datenfehler diskutiert. Auf diese Weise werden die Prozessoren 112 und 114 gestoppt, wenn eine Adreßnichtübereinstimmung oder eine Störung im Adreßprüfer 176 vorliegt. Alle Adreßfehler werden durch den Adreßprüfer 176 im selben Buszyklus festgestellt und durch den Detektor 150 für lahmlegende Fehler als derartige Fehler behandelt, was zu einem Stopp führt.
  • Während der normalen Prozessor-Lese/Schreib-Betriebsart werden die überprüften Basis-Komplementadressen durch den Adreßbusparitätsgenerator 180 dazu verwendet, ungerade Parität über die Adressen zu erzeugen, was dann an den ISB- Adreßbus 132 geliefert wird. Die Basisadreßbits bilden zusammen mit einem Bit für ungerade Parität die Bits, die auf dem ISB-Adreßbus 132 übertragen werden. Beim bevorzugten Ausführungsbeispiel beinhalten alle peripheren Schaltungen, z. B. die Einrichtungen 124, 126 und 128 logische Schaltungen zum Überprüfen der Parität der Adresse auf dem ISB- Adreßbus 132 bei jeder Lese- und Schreiboperation, wenn eine solche Einrichtung ausgewählt wird und ihre internen Register adressiert werden. Paritätsfehler, die von den Einrichtungen 124, 126 und 128 festgestellt werden, werden als nichtlahmlegende Fehler behandelt; sie erzeugen Basis-Komplement-Paare von Signalen für nichtlahmlegende Fehler auf den Leitungspaaren 184, 186 bzw. 188, die die Signale an den Fehlerprüfer 162 übertragen, um diese in derselben Weise zu behandeln wie Datenparitätsfehler, die vom Paritätsprüfer 142 festgestellt werden, wie weiter oben diskutiert. Derartige Fehler werden von den Prozessoren 112 und 114 dadurch verarbeitet, daß sie während eines Interrupts geeignete Mikrokodebefehle abarbeiten, um die störbehaftete Schaltung zu lokalisieren.
  • Während der DMA-Betriebsart wird ungerade Parität von einem (nicht dargestellten) Adreßzähler im DMA-Modul 300 erzeugt. Diese Adreßparität wird intern im DMA-Modul 300 an (nicht dargestellten) Adreßbus-Schnittstellenpuffern überprüft. Jeder während dieser Prüfung festgestellte Fehler veranlaßt den DMA-Modul 300, den direkten Speicherzugriff anzuhalten und den ISB-Bus 50 freizugeben. Darüber hinaus kann ein (nicht dargestellter) externer Adreßbus-Paritätsprüfer dazu verwendet werden, die Parität der Adressen auf dem Adreßbus 132 bei direktem Speicherzugriff zu überprüfen. Wenn durch einen solchen Adreßbus-Paritätsprüfer ein Fehler festgestellt wird, wird der direkte Speicherzugriff angehalten, und der ISB-Bus 50 wird freigegeben.
  • Der Prozessor 112 weist einen Steuerabtastsignalausgang 190 und der Prozessor 114 einen Steuerabtastsignalausgang 192 auf. Jeder der Prozessoren 112 und 114 erzeugt an den Ausgängen 190 bzw. 192 den folgenden Satz von ISB-Steuerabtastsignalen: ein Adreßabtastsignal; ein Abtastsignal für obere Daten; ein Abtastsignal für untere Daten; ein Abtastsignal zur Datenbestätigung ein Lese/Schreib-Abtastsignal. Diese fünf Abtastsignale werden zum Ausführen von Lese- und Schreiboperationen verwendet. Für jedes der fünf Abtastsignale wird ein Basisabtastsignal vom Basisprozessor 114 und ein Komplementabtastsignal vom Komplementprozessor 112 an einen Steuersignalprüfer/ISB-Generator 194 geliefert. Die Basis-Komplement-Paare der vom Prüfer/ISB-Generator 194 empfangenen Steuerabtastsignale sind innerhalb der Zeitsteuertoleranzen der Prozessoren 112 und 114 synchron. Wie weiter unten beschrieben, werden die Steuerabtastsignale weiter durch den Steuersignalprüfer/ISB-Generator 194 synchronisiert, der Teil des PSM-Moduls 400 ist. Diese fünf Signale auf den Steuerleitungen 190 und 192 werden durch selbstprüfende Prüfer (d. h. Morphiereduktionsschaltungen) im Steuersignalprüfer/ISB-Generator 194 überprüft, und jede Nichtübereinstimmung (d. h. die Feststellung, daß zugehörige Abtastsignale von den Prozessoren 112 und 114 kein Basis-Komplement-Paar bilden) wird als lahmlegender Fehler behandelt. Nach dem Feststellen einer Nichtübereinstimmung erzeugt der Steuersignalprüfer/ISB-Generator 194 ein Basis-Komplement- Paar für Signale für lahmlegende Fehler, das über ein Paar von Leitungen 196 dem Detektor 150 für lahmlegende Fehler zugeführt wird. Dieser handhabt die Fehler für lahmlegende Fehler in derselben Weise, wie oben in bezug auf den Adreßprüfer 176 und den Datenprüfer 140 beschrieben.
  • -Dieses Überprüfen der Steuerabtastsignale unabhängig vom Prüfen der Daten und Adressen sorgt dafür, daß zwei wichtige Designziele erreicht werden: (1) Isolation der Fehler auf den Steuerbus 190 oder 192, wodurch Störungsbeseitigung vereinfacht wird; und (2) Verhindern von Fehlerausbreitung, wodurch der Zusammenhang erhalten bleibt, in dem der Fehler auftrat, was besonders wichtig ist, um vorübergehende und intermittierende Fehlerzustände lokalisieren zu können.
  • Was das Überprüfen der Steuerabtastsignale betrifft, bestehen verschiedene Designherausforderungen. Obwohl die Prozessoren 112 und 114 durch den gemeinsamen Takt 116 betrieben werden, kann der eine dieser Prozessoren an seiner minimalen Verzögerungstoleranz und der andere an seiner maximalen Verzögerungstoleranz aufgrund von Prozeßschwankungen beim Herstellen der Teile arbeiten. Obwohl die zwei Prozessoren 112 und 114 identische Spezifikationen aufweisen und durch ein gemeinsames Taktsignal betrieben werden, können daher ihre Ausgangssignale trotzdem in bezug aufeinander zeitlich versetzt sein. Für Lese- und Schreibvorgänge von Daten müssen daher strengere Toleranzen für das Setzen und Halten erzeugt werden. Wegen des möglichen Versatzes der synchronisierten Prozessoren 112 und 114 müssen z. B. die Adreß- und Datenabtastsignale in solcher Weise synchronisiert sein, daß für einen Lesevorgang die Daten auf dem Datenbus 130 gehalten werden, bis der langsamere Prozessor die Daten gelesen hat (d. h. das letzte Abtastsignal verschwindet), und beim Lesen die Daten eingeschrieben sind, wenn das Schreibabtastsignal des schnelleren Prozessors desaktiviert ist (d. h. das erste Abtastsignal verschwindet). Um dies zu ermöglichen, werden die unabhängigen Adressen in den Prozessoren 112 und 114 zwischengespeichert und gehalten, bis das letzte der zwei Datenabtastsignale verschwunden ist. Diese zwischengespeicherten Adreßbussignale werden für die Chipauswahl und für Zugriffsdaten verwendet. Auf diese Weise werden die Daten ausreichend lange festgehalten, damit beide Prozessoren 112 und 114 dieselben Daten lesen können. Die Schreibabtastsignale für den Speicher 22 werden auf das erste Datenabtastsignal ausgegeben. Wiederum werden die Adreßsignale und Chipauswahlsignale gehalten, bis das letzte Datenabtastsignal verschwunden ist, wodurch die Adresse gültig ist und die Haltezeit für Speicherschreibvorgänge erfüllt ist.
  • Das Zeitsteuerdiagramm von Fig. 7B für Leseoperationen zeigt das Basis-Komplement-Paar der Adreßabtastsignale AS*[T] und AS*[c] und das Lesesignal LAS*[T]. Eine Leseoperation kann stattfinden, während LAS*[T] aktiv ist, was dann der Fall ist, wenn das langsamere der Adreßabtastsignale (in diesem Fall AS*[C]) aktiv ist. Ähnlich zeigt das Zeitsteuerdiagramm von Fig. 8B für Schreiboperationen das Basis-Komplement-Paar von Datenabtastsignalen DS*[T] und DS*[C]. Schreiboperationen können stattfinden, während das Signal FDS* aktiv (d. h. auf niedrigem Pegel) ist, was nur dann der Fall ist, während beide Datenabtastsignale aktiv sind.
  • Dadurch werden bei der vorliegenden Erfindung modifizierte Abtastsignale durch den Steuersignalprüfer/ISB-Generator 194 erzeugt, um den strengeren Zeiterfordernissen für Lese- und Schreiboperationen zu genügen. Das Erzeugen selbst erfolgt in selbstprüfender Weise in zwei Kanälen. Eine Synchronisierschaltung, die zum Erzielen der erforderlichen Synchronisation geeignet ist, ist in einer Parallelanmeldung für ein US-Patent mit dem Titel "Self-Checking Dual Railed Leading Edge Synchronizer", Serien-Nr. 733293, angemeldet am 10. Mai 1985 von Chandran & Walker beschrieben, das auf denselben Rechtsnachfolger übertragen ist wie die vorliegende Anmeldung.
  • Alle peripheren Schaltungen (z. B. die Vorrichtungen 124, 126 und 128) , die diese modifizierten Steuerabtastsignale über die Leitung 198 vom Steuersignalprüfer/ISB-Generator 194 schnittstellenmäßig erhalten, sind so ausgebildet, daß sie diese Leitungen bei jedem Lesevorgang in bezug auf eine nichtlahmlegende Ausnahmeverarbeitung überprüfen, wie oben diskutiert.
  • Paritätsschutz wird auch durch einen Paritätsprüfer/Generator 142 für den Datenraum im gemeinsamen Speicher 22 vorgenommen. Wenn der Paritätsprüfer 142 einen Paritätsfehler während des Zugriffs auf Operationskodes aus dem Speicher 22 feststellt, erzeugt er ein Basis-Komplement-Paar von Signalen für lahmlegende Fehler auf einem Paar Leitungen 141, das die Signale für den lahmlegenden Fehler zum Detektor 150 für lahmlegende Fehler leitet, um diese in der oben diskutierten Weise zu handhaben. Wenn der Paritätsprüfer 142 während einer auf den Speicher 22 bezogenen Leseoperation einen Paritätsfehler feststellt, gibt er auf einem Leitungspaar 160 ein Basis-Komplement-Paar von Signalen für nichtlahmlegende Fehler aus, die dem Fehlerprüfer 162 zugeführt werden, der derartige nichtlahmlegende Fehler in der oben diskutierten Weise behandelt.
  • Fig. 1 weist die Kanalschnittstelle 30 über Logik für Zweikanalports 32A und 32B auf. Die Kanalschnittstelle 30 empfängt und interpretiert Befehle von der (nicht dargestellten) CPU und führt Datenübertragung zwischen dem E/A-Controller 10 und der CPU über die Ports 32A und 32B aus.
  • Die Vorrichtungsschnittstelle 40 verfügt über Schaltungen zur Schnittstellensteuerung und Formatierung (z. B. einen Schreibformatiermodul 44, einen Formatierzeitsteuermodul 42, einen Lesesteuermodul 46 und einen Leseformatiermodul 48), die beim bevorzugten Ausführungsbeispiel die Schnittstellensteuerung zwischen dem ISB-Bus 50 und zwei (nicht dargestellten) Bandgeräten ausführen. Während die Einrichtungsschnittstelle 40 einzigartig ist, um die Schnittstellensteuerung zum ISB 50 vorzunehmen, sind die Schaltungen zur Interfacesteuerung und zur Formatierung von der Art, wie sie im Stand der Technik üblicherweise für solche Funktionen verwendet werden.
  • Zusammengefaßt bestehen beim bevorzugten Ausführungsbeispiel der Erfindung vier Typen lahmlegender Fehler. Zunächst werden die Basis- und Komplementadreßbusse überprüft und durch den Adreßprüfer 376 im DMA-Modul 300 überprüft, um ein einziges Basis-Komplement-Signalpaar zu erzeugen, das über die Leitungen 178 an den Detektor 150 für lahmlegende Fehler gegeben wird. Zweitens werden die Basis- und Komplementdatenbusse überprüft und durch den Datenprüfer 140 im PSM-Modul 400 mit jedem Schreibzyklus morphiereduziert, um ein Basis- Komplement-Signalpaar zu erzeugen, das über die Leitungen 184 dem Detektor 150 für lahmlegende Fehler zugeführt wird. Drittens werden die Steuerabtastsignale überprüft und durch den Steuersignalprüfer 194 im PSM-Modul 400 auf ein Basis- Komplement-Signalpaar morphiereduziert, das über Leitungen 196 dem Detektor 150 für lahmlegende Fehler zugeführt wird. Der vierte Typ lahmlegender Fehler sind Koderaum-Paritätsfehler, die vom Paritätsprüfer 142 festgestellt werden und in ein Basis-Komplement-Signalpaar morphiereduziert werden, das über die Leitungen 141 dem Detektor 150 für lahmlegende Fehler zugeführt wird.
  • Diese lahmlegenden Fehler werden zwischengepuffert und mit jedem Taktzyklus überprüft. Die Fehlersignale können einen Fehler anzeigen, der in einer Taktperiode auftrat, obwohl tatsächlich gar kein Fehler vorliegt, sondern die nur das Ergebnis logischer Verzögerungen und von Versätzen in der Prozessorzeitsteuerung sind. Daher muß beim bevorzugten Ausführungsbeispiel ein lahmlegender Fehler während zweier vollständiger Taktperioden vorhanden sein, damit er als tatsächlicher Fehler betrachtet wird. Dies ist zufriedenstellend, da jeder Anzeiger für einen lahmlegenden Fehler sich für mindestens zwei Taktperioden in einem besonderen Zustand befindet.
  • Das Ergebnis der Reduktion für lahmlegende Fehler, der Überprüfung und der Synchronisierung sind zwei Signale: DIEUDOG 152 und DIEUDOG* 154. Wenn eines oder beide dieser Signale in den aktiven Zustand übergehen, bleibt es (nicht dargestellter) externer Logik überlassen zu entscheiden, was auf einen solchen Fehlerzustand hin zu unternehmen ist. Beim bevorzugten Ausführungsbeispiel gibt der Detektor 150 für lahmlegende Fehler im PCM-Modul 400 unabhängige Stoppsignale an jeden der Prozessoren 112 und 114.
  • Was nichtlahmlegende Fehler betrifft, überprüft jede der Einrichtungen 124, 126 und 128 am Ende jeder Leseoperation den ISB 50 in bezug auf Paritätsfehler, wenn auf ihn zugegriffen wird, und der Paritäts-Prüfer/Generator 142 überprüft die Parität, wenn durch die Prozessoren 112 und 114 auf den Speicher 22 zugegriffen wird. Das Ergebnis dieser Überprüfung wird zwischengespeichert (in Basis-Komplement- Form), und über ein ERR genanntes Basis-Komplement-Paar wird über Leitungen 184, 186, 188 bzw. 160 das Ergebnis mitgeteilt. Der Fehlerprüfer 162 im PSM-Modul 400 empfängt die ERR-Signalpaare und reduziert diese mit Hilfe von Morphiereduktion auf ein Signalpaar. Schließlich wird dieses Paar XOR-verknüpft, um auf eine Störung zu überprüfen. Wenn eine Störung festgestellt wird, werden zwei voneinander unabhängige Busfehlersignale auf Leitungen 164 und 166 für jeweils einen der Prozessoren 112 bzw. 114 erzeugt.
  • Wenn von den Prozessoren 112 und 114 ein Busfehler festgestellt wird, wird der aktuell ausgeführte Buszyklus beendet, die Adresse und die Daten werden auf den Stack gegeben, und die Ausnahmeverarbeitung durch die Prozessoren 112 und 114 beginnt, nachdem sie zu einer besonderen Stelle in dem im Speicher 22 abgelegten Programm gesprungen sind. Das Programm ist so formuliert, daß es versucht, die Störung zu lokalisieren, die das Fehlersignal bewirkte. Ein von einem Vorrichtungszugriffsfehler verursachter Busfehler wird während des Buszyklus mitgeteilt, in dem der Fehler auftrat. Dadurch kann, da die Adressen der Vorrichtungen jeweils spezifisch sind, die fehlerbehaftete Vorrichtung dadurch festgestellt werden, daß die auf den Stack geschobene Adresse gelesen wird. Es wird angenommen, daß diese Adresse korrekt ist, da sie bereits zwischen den Prozessoren 112 und 114 überprüft wurde und jeder Adreßfehler einen lahmlegenden Fehler verursacht hätte. Ein Datenparitätsfehler wird im Buszyklus mitgeteilt, der direkt auf denjenigen Buszyklus folgt, in dem der Fehler auftrat.
  • Beim bevorzugten Ausführungsbeispiel kann die Ursache für den Busfehler (Paritäts- oder Vorrichtungsfehler) dadurch bestimmt werden, daß der Inhalt eines (nicht dargestellten) Fehlerursachen(EC = Error Cause)-Registers im PSM-Modul 400 gelesen wird. Vorgegebene Bits im EC-Register sind so gesetzt, daß sie (1) einen Paritätsfehler im oberen oder unteren Datenbyte während eines Auslesens aus dem Datenraum, (2) einen Vorrichtungsfehler während eines Vorrichtungszugriffs oder (3) einen Fehler während einer Operation durch den DMA- Modul 300 anzeigen. Wenn ein Busfehler durch Ermitteln eines Paritätsfehlers während eines Vorrichtungszugriffs erzeugt wird, maskiert der PSM-Modul 400 den Busfehler für den nächsten Buszyklus. Dies schützt davor, daß ein Busfehler aufgrund einer Signalstörung doppelt erhalten wird. Durch Überprüfen der Adressen, der Daten- und der Steuerabtastsignale auf Zyklusbasis können vorübergehende Fehler festgestellt werden.
  • Bei der vorliegenden Erfindung werden die auf den Leitungen 178, 148, 141, 196, 152 und 154 geführten Stoppsignale und die auf den Leitungen 160, 184, 186, 188, 164 und 166 geführten Fehlersignale durch Synchronisiereinrichtungen synchronisiert, die entweder in der Vorrichtung enthalten sind, in der der Fehler oder das Stoppsignal auftritt, oder im PSM-Modul 400 (wie oben beschrieben), um sicherzustellen, daß die Prozessoren 112 und 114 synchronisiert arbeiten. Die Stopp- und Fehlersignale verursachen jeweils unterschiedliche Arten von Interrupts der Prozessoren 112 und 114 (siehe Fig. 6, die drei Arten von Interrupts veranschaulichen).
  • Gemäß den Fig. 3 unb 6 handhabt der DMA-Modul 300 Blockübertragungen von Daten zwischen peripheren Modulen wie der Kanalschnittstelle 30 und der Vorrichtungsschnittstelle 40 (die z. B. die Schnittstelle zu Vorrichtungen 124, 126 und 128 bildet) und dem Speicher 22. Der DMA-Modul 300 weist vier Sätze von Quittierleitungen (vier Ports mit sechs Leitungen pro Port; nicht dargestellt) auf, wobei beim bevorzugten Ausführungsbeispiel zwei Sätze von Quittierleitungen zu Kanalportübertragungen zu und von einem Prozessorsystem dienen (ein solches System könnte z. B. ein solches aus der Non-stop-Linie von Computern von Tandem Computer Incorporated sein, wie es in dem an Kathman et al. ausgegebenen und an Tandem Computers übertragenen US-Patent 4,228,496 beschrieben ist), und zwei Sätze von Quittierleitungen für Vorrichtungsübertragungen dienen. Beim bevorzugten Ausführungsbeispiel dürfen keine zwei der vier Quittierports gleichzeitig aktiv sein.
  • Gemäß Fig. 6 verwendet die vorliegende Erfindung drei Busentscheidungsleitungen (die beim bevorzugten Ausführungsbeispiel vom ISB-Bus 50 unabhängig sind) zwischen dem DMA-Modul 300 und jedem der Prozessoren 112 und 114: Busanforderung; Busfreigabe und Busfreigabebestätigung. (Daher benötigt jeder Satz Quittierleitungen sechs Leitungen). Die Busanforderungs- und Busfreigabebestätigungs-Leitungen leiten Signale, die vom DMA-Modul 300 erzeugt werden, und die Busfreigabeleitungen leiten Signale, die von den Prozessoren 112 und 114 erzeugt werden. Wie in Fig. 6 dargestellt, erzeugt der DMA-Modul 300 zweikanalige Busanforderungs- und Busfreigabebestätigungssignale und liefert diese unabhängig voneinander an jeden der Prozessoren 112 und 114. Die zweikanaligen Busfreigabesignale werden von jedem der Prozessoren 112 und 114 erzeugt und werden vom DMA-Modul 300 überprüft (um zu erkennen, ob die Signale von den Prozessoren 112 und 114 ein Basis-Komplement-Paar bilden) . Die Busanforderungs- und Busfreigabebestätigungssignale sind mit dem (nicht dargestellten) Prozessor teilsynchron.
  • Die (nicht dargestellte) Controllerzustandsanordnung des DMA-Modols 300 ist in diesem dupliziert, und die Ausgangssignale jeder Zustandsanordnung werden überprüft, um sicherzugehen, daß sie für jeden Taktzyklus der Zustandsanordnung übereinstimmen. Die Adreßerzeugung durch den DMA-Modul 300 wird durch paritätsvorhersagende Binärzähler geschützt. Jeder in einer der vorgenannten Logikanordnungen festgestellte Fehler wird in ein (nicht dargestelltes) internes Fehlerregister im DMA-Modul 300 eingelesen. Das Feststellen eines jeden Fehlers überführt den DMA-Modul 300 in einen Fehlerzustand, der dazu führt, daß der DMA-Modul 300 die Steuerung über den ISB 50 freigibt. Die Prozessoren 112 und 114 übernehmen dann wieder die Steuerung über den ISB 50 und überprüfen das interne Fehlerregister, um festzustellen, ob irgendein Fehler während des direkten Speicherzugriffs durch den DMA-Modul 300 auftrat. Wenn irgendein Fehler in das interne Register eingeschrieben ist, führen die Prozessoren 112 und 114 einen geeigneten Mikrokode aus, um den Fehler zu lokalisieren und zu isolieren.
  • Während des direkten Speicherzugriffs durch den DMA-Modul 300 wird der Datenbusteil des ISB 50 durch eine unabhängige Paritätsprüfschaltung überwacht (d. h. in der Vorrichtung, die die Datenguelle ist, oder in der Vorrichtung, die die Daten empfängt - z. B. im Speicher 22 oder den Vorrichtungen 124, 126 und 128 in Fig. 2), und jeder Fehler wird in ein (nicht dargestelltes) internes Paritätsstatusregister im PSM-Modul 300 eingeschrieben. Nach einem direkten Speicherzugriff lesen die Prozessoren 112 und 114 den Status des internen Fehlerregisters im DMA-Modul 300 und des Paritätsstatusregisters im PSM-Modul 400, um zu erkennen, ob der direkte Speicherzugriff normal abgeschlossen wurde. Dies hilft dabei, eine beliebige Störung schnell zu isolieren, um die Verstümmelung von Daten zu minimieren. Ein Hängenbleiben am Eingang der Quittierleitungen (s. Fig. 6) des DMA-Moduls wird mit Hilfe eines Zeitablaufmechanismus gehandhabt, durch den die Steuerung des ISB 50 zwangsweise an die Prozessoren 112 und 114 zurückgegeben wird, wie nachstehend diskutiert.
  • Der Zeitablaufmechanismus verwendet einen 16-Bit-Zähler (als "Watchdog" (Zeitüberwachungs)-Zähler (nicht dargestellt) im PSM-Modul 400. Dieser Zähler weist einen getrennten Takteingang und einen Ausgang auf, der immer dann aktiv wird, wenn ein Überlauf im Zählwert auftritt oder ein Fehler in einer (nicht dargestellten) Paritätsvorhersageschaltung festgestellt wird. Der Zähler ist mit Hilfe eines 16-Bit-Schieberegisters mit linearer Rückkopplung (Pseudozufallsfolgengenerator) mit null Unterdrückung realisiert. Ein Überlauf tritt beim Zählwert 2**16 - 1 auf. Dieser Zähler kann durch Programm gestartet werden. Wenn ein GOWD-Bit ausgeschaltet ist (auf Null steht), wird der Zähler im Rücksetzzustand gehalten, während er dann, wenn das GOWD-Bit gesetzt wird (eingeschaltet wird) zu zählen beginnt. Immer wenn ein Eintrag in das Watchdogregister erfolgt, wird der Watchdogzähler rückgesetzt. Dies ermöglicht es, daß der Watchdogzähler in einem Betriebsvorgang rückgesetzt und gestartet wird. Wenn der Zähler einen vorgegebenen Wert erreicht, bevor der DMA-Modul 300 die Steuerung über den ISB 50 an die Prozessoren 112 und 114 zurückgibt, wird für den DMA-Modul 300 ein Fehlersignal erzeugt, und die Steuerung des ISB 50 kehrt automatisch zu den Prozessoren 112 und 114 zurück.
  • Für Übertragungen mit direktem Speicherzugriff zwischen der Kanalschnittstelle 30 und dem Speicher 22 ist zusätzlicher Schutz durch eine Quittiersynchronisierüberprüfung vorhanden. Wenn irgendein Quittiersynchronisierfehler von der Kanalschnittstelle 30 festgestellt wird, desaktiviert sie ihre (nicht dargestellte) Anforderungsleitung für den DMA-Modul 300, wodurch der DMA-Modul 300 den ISB 50 freigeben kann.
  • Beim bevorzugten Ausführungsbeispiel handhabt der DMA-Controller 300 16 K x n Bits eines RAM nach einem FIFO-Schema, jedoch sind auch andere Schemata zulässig. Verschachtelte Übertragungen (zwischen einem Kanal und einer Vorrichtung) sind möglich, wenn zwei erfindungsgemäße Controller und Zweikanal-Zusatzschaltungen verwendet werden.
  • Diese Architektur eignet sich sowohl für Cycle-Stealing-Betriebsart als auch für Burst-Betriebsart bei der Datenübertragung. Der DMA-Modul 300 kann für Cycle-Stealing-Betriebsart des Betriebs für Übertragung zu Vorrichtungen dadurch angepaßt sein, daß die (nicht dargestellte) Anforderungsleitung des DMA-Moduls 300 mit der (nicht dargestellten) Steuerabtastsignalleitung des DMA-Moduls 300 verbunden wird.

Claims (8)

1. Redundantes zweikanaliges Prozessorgerät zum Sicherstellen von Datenechtheit, welches Gerät folgendes aufweist:
- eine erste und eine zweite Prozessoreinrichtung (114, 112), um jeweils Basis- bzw. Komplementbetriebssignale zu erzeugen, solange kein anomaler Zustand im redundanten zweikanaligen Prozessorgerät vorliegt;
dadurch gekennzeichnet, daß das Gerät weiterhin folgendes aufweist:
- eine interne Systembuseinrichtung (50, 134, 136), die mit der ersten und der zweiten Prozessoreinrichtung verbunden ist, um Betriebssignale zu übertragen;
- eine Einrichtung (116) zum Erzeugen eines periodischen Taktsignals;
- eine Synchronisiereinrichtung (194), die mit der internen Systembuseinrichtung verbunden ist, um die Vorderflanken der Basis- und Komplementpaare der Betriebssignale zu synchronisieren, wie sie von der ersten und zweiten Prozessoreinrichtung erzeugt werden, welche Synchronisiereinrichtung eine Einrichtung aufweist, die auf das periodische Taktsignal anspricht, um die Basis- und Komplementpaare der Betriebssignale zyklisch abzutasten, und Ausgabeeinrichtungen, die mit der Abtasteinrichtung gekoppelt sind und auf das Taktsignal ansprechen, um synchronisierte Betriebssignale zu erzeugen, deren Vorderflanken synchronisiert sind und den Basis- und Komplementpaaren der Betriebssignale entsprechen;
- eine Prüfeinrichtung (140), die auf die synchronisierten Betriebssignale anspricht und feststellt, ob diese in komplementärer Beziehung zueinander stehen, welche Prüfeinrichtung ein zweikanaliges Fehlersignal erzeugt, wenn es an einer solchen komplementären Beziehung fehlt; und
- eine Fehlerdetektoreinrichtung (150), die das Fehlersignal von der Prüfeinrichtung empfängt und ein Fehlerermittlungssignal erzeugt und dieses an die erste und die zweite Prozessoreinrichtung überträgt, wodurch diese geeignete Maßnahmen ergreifen können, wenn festgestellt wird, daß die Basis- und Komplementbetriebssignale nicht die vorgegebene logische komplementäre Beziehung aufweisen.
2. Gerät nach Anspruch 1, bei dem die Basis- und Komplementbetriebssignale Basis- bzw. Komplementadreßsignale beinhalten, wobei die Prüfeinrichtung so betreibbar ist, daß sie überprüft, ob die Basis- und Komplementadreßsignale eine komplementäre Beziehung zueinander aufweisen.
3. Gerät nach Anspruch 2, bei dem die Basis- und Komplementbetriebssignale weiterhin Basis- bzw. Komplementdatensignale enthalten, wobei die Prüfeinrichtung so betreibbar ist, daß sie bestimmt, ob die Basis- und Komplementdatensignale eine komplementäre Beziehung zueinander einhalten.
4. Gerät nach Anspruch 2, das weiterhin folgendes aufweist:
- eine Paritätsprüfeinrichtung (142) zum Überprüfen der Parität der Basis- und der Komplementadresse.
5. Selbstprüfender intelligenter Eingangs/Ausgangs-Controller (10) mit:
- einer zweikanaligen redundanten Prozessoreinrichtung (114, 112) , die so ausgebildet ist, daß sie Basis- bzw. Komplementbetriebssignale und ein Basis-Komplement-Paar von Steuersignalen ausgibt;
gekennzeichnet durch:
- eine Synchronisiereinrichtung (194), die so betreibbar ist, daß sie die Vorderflanken des Basis-Komplement-Paars der Steuersignale empfängt und synchronisiert und eine erste Schaltungeinrichtung aufweist, um jedes der Basis-Komplement-Paare der Steuersignale abzutasten und eine zweite Schaltungseinrichtung zum Vergleichen des abgetasteten Basis-Komplement-Paars von Steuersignalen, um hieraus Basis- und Komplementausgangssignale mit synchronisierten Vorderflanken zu erzeugen, wenn die Vorderflanken des Basis-Komplement-Paars der Steuersignale innerhalb einer vorgegebenen Zeitspanne liegen;
- eine Prüfeinrichtung (140), die so angeschlossen ist, daß sie die Basisbetriebssignale empfängt und mit den Komplementbetriebssignalen vergleicht, um ein Basis-Komplement- Fehlersignal zu erzeugen, das ein Nichtübereinstimmen anzeigt;
- wobei die zweikanalige redundante Prozessoreinrichtung eine Fehlerdetektoreinrichtung (150) zum Überprüfen des Fehlersignals von der Prüfeinrichtung aufweist, welche Fehlerdetektoreinrichtung ein Fehlerermittlungssignal erzeugt und an die zweikanalige redundante Prozessoreinrichtung überträgt, wodurch die zweikanalige redundante Prozessoreinrichtung geeignete Maßnahmen auf die Basis- und Komplementbetriebssignale hin ergreifen kann, zu denen festgestellt wurde, daß sie das komplementäre Fehlersignal erzeugen, das die Nichtübereinstimmung anzeigt.
6. Selbstprüfender intelligenter Eingangs/Ausgangs-Controller nach Anspruch 5, bei dem die Betriebssignale Adreß - und Datensignale enthalten.
7. Selbstprüfender intelligenter Eingangs/Ausgangs-Controller nach Anspruch 6, mit einer Einrichtung zum Beenden des Betriebs mindestens eines der zweikanaligen redundanten Prozessoren auf das Basis-Komplement-Fehlersignal hin.
8. Selbstprüfender intelligenter Eingangs/Ausgangs-Controller nach Anspruch 5, mit einer Speichereinrichtung (22) und einer Buseinrichtung (50), die die zweikanalige redundante Prozessoreinrichtung mit der Speichereinrichtung verknüpft, um gewisse Betriebssignale zwischen diesen auszutauschen, wobei die Basis- bzw. Komplementbetriebssignale Basis- und Komplementadreßsignale aufweisen, die dazu dienen, zyklisch auf die Speichereinrichtung zuzugreifen, wobei die Prüfeinrichtung in jedem Speicherzyklus so betreibbar ist, daß sie die Basis- und Komplementadreßsignale empfängt und miteinander vergleicht.
DE8686303566T 1985-05-10 1986-05-09 Auf hohem systemniveau selbstpruefendes intelligentes e/a-steuergeraet. Expired - Lifetime DE3686901T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US73367985A 1985-05-10 1985-05-10

Publications (2)

Publication Number Publication Date
DE3686901D1 DE3686901D1 (de) 1992-11-12
DE3686901T2 true DE3686901T2 (de) 1993-02-18

Family

ID=24948680

Family Applications (1)

Application Number Title Priority Date Filing Date
DE8686303566T Expired - Lifetime DE3686901T2 (de) 1985-05-10 1986-05-09 Auf hohem systemniveau selbstpruefendes intelligentes e/a-steuergeraet.

Country Status (8)

Country Link
US (1) US4785453A (de)
EP (1) EP0201356B1 (de)
JP (1) JPH0792765B2 (de)
AT (1) ATE81412T1 (de)
AU (1) AU568977B2 (de)
CA (1) CA1259415A (de)
DE (1) DE3686901T2 (de)
NO (1) NO174406C (de)

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4931922A (en) * 1981-10-01 1990-06-05 Stratus Computer, Inc. Method and apparatus for monitoring peripheral device communications
US5151999A (en) * 1986-03-31 1992-09-29 Wang Laboratories, Inc. Serial communications controller for transfer of successive data frames with storage of supplemental data and word counts
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US4908502A (en) * 1988-02-08 1990-03-13 Pitney Bowes Inc. Fault tolerant smart card
US5337411A (en) * 1988-10-20 1994-08-09 Westinghouse Electric Corporation Multi-processor computer system bus architecture
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
GB2228114B (en) * 1989-02-13 1993-02-10 Westinghouse Brake & Signal A system comprising a processor
JPH0314033A (ja) * 1989-06-12 1991-01-22 Fujitsu Ltd マイクロプロセッサ比較チェック機能の検査方式
US5128947A (en) * 1989-06-30 1992-07-07 Motorola, Inc. Self-checking memory cell array apparatus
US5131041A (en) * 1989-11-30 1992-07-14 At&T Bell Laboratories Fault tolerant interconnection networks
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5144230A (en) * 1990-11-26 1992-09-01 The Boeing Company Method and system for testing integrated circuits by cycle stealing
US6247144B1 (en) * 1991-01-31 2001-06-12 Compaq Computer Corporation Method and apparatus for comparing real time operation of object code compatible processors
US5392302A (en) * 1991-03-13 1995-02-21 Quantum Corp. Address error detection technique for increasing the reliability of a storage subsystem
US5285456A (en) * 1991-05-15 1994-02-08 International Business Machines Corporation System and method for improving the integrity of control information
US5455935A (en) * 1991-05-31 1995-10-03 Tandem Computers Incorporated Clock synchronization system
US5235602A (en) * 1991-06-11 1993-08-10 International Business Machines Corporation Synchronous/asynchronous i/o channel check and parity check detector
US5311508A (en) * 1991-12-23 1994-05-10 Square D Company Apparatus for receiving and decoding a serial data packet containing the status of a network of single point I/O devices
US5493497A (en) * 1992-06-03 1996-02-20 The Boeing Company Multiaxis redundant fly-by-wire primary flight control system
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
US5838894A (en) * 1992-12-17 1998-11-17 Tandem Computers Incorporated Logical, fail-functional, dual central processor units formed from three processor units
US5499384A (en) * 1992-12-31 1996-03-12 Seiko Epson Corporation Input output control unit having dedicated paths for controlling the input and output of data between host processor and external device
US5758058A (en) * 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
JP3264465B2 (ja) 1993-06-30 2002-03-11 株式会社日立製作所 記憶システム
CA2125339A1 (en) * 1993-07-02 1995-01-03 Mark A. Taylor Inter-section cross cable detection system
US5600786A (en) * 1993-07-30 1997-02-04 Honeywell Inc. FIFO fail-safe bus
DE4341082A1 (de) * 1993-12-02 1995-06-08 Teves Gmbh Alfred Schaltungsanordnung für sicherheitskritische Regelungssysteme
US5546408A (en) * 1994-06-09 1996-08-13 International Business Machines Corporation Hierarchical pattern faults for describing logic circuit failure mechanisms
NL9401923A (nl) * 1994-11-17 1996-07-01 Gti Holding Nv Werkwijze en inrichting voor het in een veiligheidssysteem verwerken van signalen.
US6175883B1 (en) * 1995-11-21 2001-01-16 Quantum Corporation System for increasing data transfer rate using sychronous DMA transfer protocol by reducing a timing delay at both sending and receiving devices
US5978938A (en) * 1996-11-19 1999-11-02 International Business Machines Corporation Fault isolation feature for an I/O or system bus
US5864686A (en) * 1996-11-19 1999-01-26 International Business Machines Corporation Method for dynamic address coding for memory mapped commands directed to a system bus and/or secondary bused
US5857069A (en) * 1996-12-30 1999-01-05 Lucent Technologies Inc. Technique for recovering defective memory
US5908471A (en) * 1997-01-31 1999-06-01 Sun Microsystems, Inc Diagnostic arrangement for digital computer system
KR100213187B1 (ko) 1997-03-20 1999-08-02 윤종용 에러 마스터 검출장치
US6058449A (en) * 1997-07-31 2000-05-02 Motorola, Inc. Fault tolerant serial arbitration system
US6327668B1 (en) * 1998-06-30 2001-12-04 Sun Microsystems, Inc. Determinism in a multiprocessor computer system and monitor and processor therefor
DE19850672C2 (de) * 1998-11-03 2003-07-31 St Microelectronics Gmbh Leitungsfehlerprüfschaltung für ein elektrisches Datenübertragungssystem
US7012927B2 (en) 2001-02-06 2006-03-14 Honeywell International Inc. High level message priority assignment by a plurality of message-sending nodes sharing a signal bus
US7333504B2 (en) * 2001-03-08 2008-02-19 Honeywell International Inc. Simultaneous serial transmission of messages with data field arbitration
US20040073721A1 (en) * 2002-10-10 2004-04-15 Koninklijke Philips Electronics N.V. DMA Controller for USB and like applications
US7290169B2 (en) 2004-04-06 2007-10-30 Hewlett-Packard Development Company, L.P. Core-level processor lockstepping
US7296181B2 (en) 2004-04-06 2007-11-13 Hewlett-Packard Development Company, L.P. Lockstep error signaling
US7237144B2 (en) 2004-04-06 2007-06-26 Hewlett-Packard Development Company, L.P. Off-chip lockstep checking
US7590823B1 (en) 2004-08-06 2009-09-15 Xilinx, Inc. Method and system for handling an instruction not supported in a coprocessor formed using configurable logic
US7590822B1 (en) 2004-08-06 2009-09-15 Xilinx, Inc. Tracking an instruction through a processor pipeline
US7346759B1 (en) 2004-08-06 2008-03-18 Xilinx, Inc. Decoder interface
US7546441B1 (en) 2004-08-06 2009-06-09 Xilinx, Inc. Coprocessor interface controller
US7243212B1 (en) * 2004-08-06 2007-07-10 Xilinx, Inc. Processor-controller interface for non-lock step operation
DE102005037222A1 (de) * 2004-10-25 2007-02-15 Robert Bosch Gmbh Verfahren und Vorrichtung zur Auswertung eines Signals eines Rechnersystems mit wenigstens zwei Ausführungseinheiten
EP1812858B1 (de) * 2004-10-25 2008-09-03 Robert Bosch Gmbh Verfahren und vorrichtung zur erzeugung eines modussignals bei einem rechnersystem mit mehreren komponenten
DE102004058288A1 (de) * 2004-12-02 2006-06-08 Robert Bosch Gmbh Vorrichtung und Verfahren zur Behebung von Fehlern bei einem Prozessor mit zwei Ausführungseinheiten
EP1712996A1 (de) * 2005-04-15 2006-10-18 STMicroelectronics S.r.l. Verfahren und System zur Konfiguration von Registern in Mikrocontrollern, entsprechender Mikrocontroller und Computerprogrammprodukt
US7769932B2 (en) * 2005-09-09 2010-08-03 Honeywell International, Inc. Bitwise arbitration on a serial bus using arbitrarily selected nodes for bit synchronization
DE102006002824B4 (de) 2006-01-19 2008-10-09 Phoenix Contact Gmbh & Co. Kg Verfahren und Vorrichtung zur Umwandlung mehrkanalig vorliegender Nachrichten in eine einkanalige sichere Nachricht
US7680144B2 (en) * 2006-09-12 2010-03-16 Honeywell International Inc. Device coupled between serial busses using bitwise arbitration
JP5308629B2 (ja) * 2007-03-26 2013-10-09 ルネサスエレクトロニクス株式会社 マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス保護方法
US8140629B2 (en) * 2008-09-30 2012-03-20 Pivot Solutions, Inc. System and method for processing instant messages
JP5404437B2 (ja) * 2010-01-13 2014-01-29 株式会社東芝 安全出力装置
RU2453079C2 (ru) * 2010-08-17 2012-06-10 Елена Геннадиевна Тимофеева Устройство для контроля и резервирования информационной системы
CN103901772B (zh) * 2014-04-23 2016-04-13 哈尔滨工业大学 双dsp冗余惯性平台控制器
US10078565B1 (en) * 2016-06-16 2018-09-18 Xilinx, Inc. Error recovery for redundant processing circuits
GB2575668B (en) 2018-07-19 2021-09-22 Advanced Risc Mach Ltd Memory scanning operation in response to common mode fault signal

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3517174A (en) * 1965-11-16 1970-06-23 Ericsson Telefon Ab L M Method of localizing a fault in a system including at least two parallelly working computers
US3559167A (en) * 1968-07-25 1971-01-26 Ibm Self-checking error checker for two-rail coded data
US3602886A (en) * 1968-07-25 1971-08-31 Ibm Self-checking error checker for parity coded data
FR2182259A5 (de) * 1972-04-24 1973-12-07 Cii
US3859513A (en) * 1973-02-28 1975-01-07 Univ Washington Switching and digital system
US4020460A (en) * 1975-11-13 1977-04-26 Ibm Corporation Method and apparatus of checking to determine if a signal is present on more than one of n lines
DE2612100A1 (de) * 1976-03-22 1977-10-06 Siemens Ag Digitale datenverarbeitungsanordnung, insbesondere fuer die eisenbahnsicherungstechnik
US4070648A (en) * 1976-06-18 1978-01-24 Ncr Corporation Computer to computer communication system
US4228496A (en) 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
SE397013B (sv) * 1976-12-17 1977-10-10 Ellemtel Utvecklings Ab Sett och anordning for att overfora datainformationer till tva parallellt arbetande datamaskindelar
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
DE3003291C2 (de) * 1980-01-30 1983-02-24 Siemens AG, 1000 Berlin und 8000 München Zweikanalige Datenverarbeitungsanordnung für Eisenbahnsicherungszwecke
US4342112A (en) * 1980-09-08 1982-07-27 Rockwell International Corporation Error checking circuit
US4412282A (en) * 1980-12-29 1983-10-25 Gte Automatic Electric Labs Inc. Microprocessor control circuit
US4453215A (en) * 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
DE3377541D1 (en) * 1982-06-03 1988-09-01 Lucas Ind Plc Control system primarily responsive to signals from digital computers
US4541094A (en) * 1983-03-21 1985-09-10 Sequoia Systems, Inc. Self-checking computer circuitry
WO1985002698A1 (en) * 1983-12-12 1985-06-20 Parallel Computers, Inc. Computer processor controller
US4700346A (en) 1985-05-10 1987-10-13 Tandem Computers Incorporated Self-checking, dual railed, leading edge synchronizer

Also Published As

Publication number Publication date
JPS6231441A (ja) 1987-02-10
US4785453A (en) 1988-11-15
JPH0792765B2 (ja) 1995-10-09
NO174406C (no) 1994-04-27
NO174406B (no) 1994-01-17
EP0201356A2 (de) 1986-11-12
ATE81412T1 (de) 1992-10-15
EP0201356A3 (en) 1988-11-30
CA1259415A (en) 1989-09-12
AU5720486A (en) 1986-11-13
NO861863L (no) 1986-11-11
EP0201356B1 (de) 1992-10-07
AU568977B2 (en) 1988-01-14
DE3686901D1 (de) 1992-11-12

Similar Documents

Publication Publication Date Title
DE3686901T2 (de) Auf hohem systemniveau selbstpruefendes intelligentes e/a-steuergeraet.
DE69027491T2 (de) Verfahren zur Softwarefehlerbehandlung
DE60302184T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisierung desselben und zugehöriges Resynchronisierungs-Programm
DE60301702T2 (de) Fehlertolerantes Computersystem, Verfahren zur Resynchronisation desselben und Programm zur Resynchronisation desselben
DE3587493T2 (de) Betriebssicheres Datenverarbeitungsbussystem.
DE3700986C2 (de) Einrichtung zur Überwachung eines Rechnersystems mit zwei Prozessoren in einem Kraftfahrzeug
EP1810145B1 (de) Verfahren und vorrichtung zur synchronisierung in einem mehrprozessorsystem
DE3880132T2 (de) Verfahren und geraet zur digitalen logischen synchronismusueberwachung.
DE3751600T2 (de) Dreifachredundantes fehlererkennungssystem und entsprechendes anwendungsverfahren.
DE4233569C2 (de) Informationsverarbeitungsgerät mit einer Mehrzahl von Prozessor-Modulen, die einen Fehlerüberwachungskreis enthalten
DE19832060C2 (de) Doppelbare Prozessoreinrichtung
JPH01154240A (ja) 単一レールインターフェイスにエラーチェック機能を有する二重レールプロセッサ
JPH02118872A (ja) I/oの読み取りに対するエラーチェック機能を有したデュアルレールプロセッサ
JPH01154242A (ja) 二重ゾーンの耐欠陥コンピュータシステム
DE68922440T2 (de) Gerät und Verfahren zur gleichzeitigen Einreichung von Fehlerunterbrechung und Fehlerdaten zu einem Unterstützungsprozessor.
EP0104635A2 (de) Verfahren und Anordnung zum Prüfen eines digitalen Rechners
DE2225841B2 (de) Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers
WO2006015964A2 (de) Verfahren zur verzögerung von zugriffen auf daten und/oder befehle eines zweirechnersystems sowie entsprechende verzögerungseinheit
DE3814875A1 (de) Logische verknuepfungseinrichtung und logisches verknuepfungsverfahren
EP0350016B1 (de) Verfahren und Einrichtung zum Duplizieren des Inhalts von Datenträgern
DE4010109A1 (de) Duplexrechnersystem
EP1776636A2 (de) Verfahren zum registrieren von fehlern und entsprechendes register
DE102006019426B4 (de) Speichermodulsteuerung, Speichersteuerung und entsprechende Speicheranordnung sowie Verfahren zur Fehlerkorrektur
DE4032571C2 (de)
DE3789128T2 (de) Digitale Datenverarbeitungsvorrichtung.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition