DE3127349C2 - - Google Patents

Info

Publication number
DE3127349C2
DE3127349C2 DE3127349A DE3127349A DE3127349C2 DE 3127349 C2 DE3127349 C2 DE 3127349C2 DE 3127349 A DE3127349 A DE 3127349A DE 3127349 A DE3127349 A DE 3127349A DE 3127349 C2 DE3127349 C2 DE 3127349C2
Authority
DE
Germany
Prior art keywords
bus
signal processing
elements
address
distributed
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 - Fee Related
Application number
DE3127349A
Other languages
English (en)
Other versions
DE3127349A1 (de
Inventor
George Allen Plano Tex. Us Works
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.)
Raytheon Co
Original Assignee
Raytheon Co
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 Raytheon Co filed Critical Raytheon Co
Publication of DE3127349A1 publication Critical patent/DE3127349A1/de
Application granted granted Critical
Publication of DE3127349C2 publication Critical patent/DE3127349C2/de
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/374Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a self-select method with individual priority code comparator
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality

Description

Die Erfindung betrifft eine Signalverarbeitungseinrichtung mit den Merkmalen des Oberbegriffes von Patentanspruch 1. Allgemein ist zu derartigen Signalverarbeitungseinrichtungen, - und dies sei zum besseren Verständnis der Erfindung vorausschickend ausgeführt -, folgendes festzustellen:
Signalprozessoren mit hohem Durchsatz werden für viele moderne Überwachungs-, Kommunikations- und Steuersysteme benötigt. Derartige Signalprozessoren bestehen häufig aus einer Mehrzahl von parallel oder verteilt angeordneten Signalprozessorelementen. Dabei sind entweder alle Signalprozessorelemente identisch ausgebildet oder auf eine geringe Anzahl von Typen beschränkt, um die Kosten für ihren Entwurf, ihre Herstellung und/oder ihre Unterhaltung zu verringern. Parallele oder verteilte Anordnungen werden auch für solche Anwendungsfälle bevorzugt, bei denen die insgesamt erforderliche Signalverarbeitungskapazität im Anfangsstadium nicht genau bekannt ist oder bei denen erwartet wird, daß sie sich infolge von Änderungen der Ausrüstung oder der Anwendung im Laufe der Lebensdauer der Anlage ändert. Bei derartigen Anwendungsfällen können Signalprozessorelemente nach Bedarf hinzugefügt oder entfernt werden, um die verfügbare Signalverarbeitungskapazität an die Erfordernisse des Anwendungsfalles anzupassen.
Der Versuch, hochzuverlässige selbstheilende Systeme durch die Verwendung von Systemersatzelementen zu schaffen, welche fehlerhaft gewordene Elemente automatisch substituieren, ist bekannt. Die komplizierten Schaltnetzwerke oder Steuergeräte zur Neukonfiguration, die für die Durchführung der Substituierung benötigt werden, sowie die ausgedehnten Prüfschaltungen bilden jedoch selbst eine Quelle möglicher Fehler, und vereiteln dadurch das angestrebte Ziel eines fehlertoleranten Systems. Die Verwendung von Schaltnetzwerken und Prüfschaltungen, die von den aktiven Systemelementen getrennt ausgeführt sind, erfordert im allgemeinen umfangreichen Neuentwurf der Gesamtschaltung, wenn zu einem späteren Zeitpunkt Systemelemente hinzugefügt oder weggenommen werden sollen, so daß der angestrebte Zweck, nämlich die Schaffung eines flexiblen Systems durch Parallelanordnung mehrerer Elemente, verfehlt wird.
Andere bekannte Versuche zur Schaffung von Systemen mit hoher Zuverlässigkeit sehen dreifache oder noch höhere modulare Redundanz vor, d. h. daß jedes Element drei- oder mehrfach vorgesehen ist und eine "Abstimmung" zwischen den Elementen vorgenommen wird. Von derjenigen Ausgangsinformation, die dem "Mehrheitsvotum" der mehrfach vorgesehenen Elemente entspricht, wird unterstellt, daß sie korrekt sei. Diese Versuche führen zu fehlerfreien Systemen, in denen der Fehler eines Elementes die Leistung des Systems nicht beeinträchtigt. Sie werden für Anwendungen bevorzugt, bei denen Fehlerfreiheit während eines vergleichsweise kurzen Zeitraumes gefordert ist. Über längere Zeiträume verringert sich die Zuverlässigkeit derartiger Systeme jedoch, wenn die Wahrscheinlichkeit des Ausfalles von Elementen signifikante Werte annimmt. Die zwei- oder mehrfache Redundanz ist wegen der großen Zahl der zusätzlich erforderlichen Bauteile insbesondere für solche Anwendungsfälle ungeeignet, in denen weniger ein fehlerfreies als vielmehr ein selbstheilendes System benötigt wird. Die zusätzlichen Bauteile vergrößern nämlich sowohl die Anfangskosten des Systems, als auch seine Unterhaltungskosten. Der zusätzliche Raumbedarf, das vergrößerte Gewicht und die höhere Leistung, die für die zusätzlichen Komponenten aufzubringen sind, ist besonders bei Luft- und Raumfahrtanwendungen für fehlertolerante Systeme nachteilig.
Aus der Veröffentlichung "Elektronische Rechenanlagen", Heft 3, 1978, Seiten 115 bis 123, sind Signalverarbeitungseinrichtungen der vorliegend betrachteten Art bekannt, bei denen Gruppen von Signalverarbeitungssystemen jeweils analog an Haupt-Sammelleitungsanordnungen angeschlossen sind, um ein Mehrrechnersystem zu bilden. Die Bestandteile der einzelnen Signalverarbeitungssysteme sind jeweils über einen Lokalbus zusammengeschaltet.
Bei den bekannten Signalverarbeitungseinrichtungen dieser Art ist es nicht möglich, die Fehlerüberwachung in der gesamten Einrichtung und eine Neukonfiguration der Schaltung im Falle des Auftretens eines Fehlers beliebig von einem der Signalverarbeitungssysteme der Einrichtung aus vorzunehmen.
Aus der deutschen Offenlegungsschrift 28 24 557 ist es ferner bekannt, Sammelleitungsanordnungen zur Verbindung von Signalverarbeitungssystemen zu vermaschen, ohne daß hierdurch jedoch eine Fehlüberwachung und Steuerungsmöglichkeit bezüglich einer Neukonfiguration von Signalverarbeitungssystem zu Signalverarbeitungssystem innerhalb der Einrichtung geschaffen ist.
Schließlich ist es aus der Veröffentlichung "Electronic", Heft 20, 1979, Seiten 73 bis 77, insbesondere Seite 76 sowie Abbildung 3b, bekannt, redundante Sammelleitungen für die Verbindung zwischen mehreren Rechnern zur Verfügung zu stellen, um die Sicherheit und die Verfügbarkeit der Systemteile zu erhöhen. Auch bei diesem bekannten System ist es nicht möglich, eine Neukonfiguration der Schaltung beim Auftritt von Fehlern von einem der Signalverarbeitungssysteme der Einrichtung aus vorzunehmen.
Durch die Erfindung soll die Aufgabe gelöst werden, eine Signalverarbeitungseinrichtung mit den Merkmalen des Oberbegriffes von Patentanspruch 1 derart auszugestalten, daß die Fehlerüberwachung in der gesamten Signalverarbeitungseinrichtung und die Neukonfiguration der Schaltung im Falle des Auftretens eines Fehler beliebig von einem der Signalverarbeitungssysteme der Einrichtung vorgenommen werden kann, derart, daß sich sowohl bezüglich des Schaltungsaufbaus des Systems als auch bezüglich der Erweiterbarkeit einfache Verhältnisse ergeben.
Diese Aufgabe wird durch die im kennzeichnenden Teil von Patentanspruch 1 angegebenen Merkmale gelöst.
Vorteilhafte Ausgestaltungen und Weiterbildungen der hier angegebenen Signalverarbeitungseinrichtung sind in den dem Patentanspruch 1 nachgeordneten Ansprüche gekennzeichnet.
Im folgenden wird die vorliegende Signalverarbeitungseinrichtung an einem Ausführungsbeispiel in Verbindung mit der Zeichnung näher erläutert.
Fig. 1 zeigt ein funktionelles Blockschaltbild eines Signalverarbeitungssystems mit verteilten Elementen, das im folgenden auch kurz "verteiltes Signalverarbeitungssystem" genannt werden wird,
Fig. 2 zeigt ein funktionelles Blockschaltbild eines verteilten Signalverarbeitungssystemnetzes und veranschaulicht die örtliche Anordnung des Exekutivprogrammes DOS-1 des Systems und eines alternativen im folgenden mit ADOS-1 bezeichneten Exekutivprogrammes innerhalb des Netzes,
Fig. 3 zeigt ein Blockschaltbild eines Signalprozessorelementes des verteilten Signalverarbeitungssystems,
Fig. 4 zeigt ein Blockschaltbild des Massenspeicherelementes des verteilten Signalverarbeitungssystems,
Fig. 5 zeigt ein Blockschaltbild des Eingabe-Ausgabe-Steuerungselementes des verteilten Signalverarbeitungssystems,
Fig. 6 zeigt ein Blockschaltbild der verteilten oder dezentralen Buszuteilungseinrichtung, die in jedem Element des verteilten Signalverarbeitungssystems vorhanden ist,
Fig. 7 zeigt ein Blockschaltbild eines weiteren Ausführungsbeispiels der dezentralen oder verteilten Buszuteilungseinrichtung.
Fig. 1 zeigt ein Blockdiagramm eines im folgenden auch mit der Abkürzung DSPS bezeichneten verteilten Signalverarbeitungssystems. Das System beinhaltet eine Vielzahl von Elementen. Darunter befinden sich identisch ausgebildete Eingabe- Ausgabe-Steuerungen 10, die im folgenden auch mit der Abkürzung IOC bezeichnet werden, Signalprozessoren 12, die im folgenden auch mit der Abkürzung SP bezeichnet werden, sowie Massenspeicher 14, die im folgenden auch mit der Abkürzung MM bezeichnet werden. Diese Elemente sind durch ein aus zwei Bussen 16 und 18 bestehendes redundantes Bussystem in der Weise miteinander verbunden, daß jedes Element Zugang zu jedem Bus hat und das DSPS-System betriebsfähig bleibt, wenn ein Bus außer Betrieb genommen wird. Die Stromversorgung der Elemente erfolgt über ein (in Fig. 1 nicht dargestelltes) zweifach-redundantes Verteilungssystem.
Jedes der Elemente 10, 12 und 14 in Fig. 1 besitzt Sendeempfangseinrichtungen, die im folgenden auch als Bus-Transceiver bezeichnet werden und die Mittel zur Kommunikation zwischen den einzelnen Elementen darstellen, sowie eine Buszuteilungseinrichtung, die festsetzt, welches der Elemente Zugang zu einem Bus erhält, wenn gleichzeitig von einer Mehrzahl von Elementen Anforderungen zur Benutzung dieses Busses vorliegen. Der Bus-Transceiver und die Bus-Zuteilungseinrichtung sind gemeinsam mit 20 bezeichnet. Durch das Verfahren der dezentralen oder verteilten Buszuteilung kann auf einen zentralen Buszuteiler oder eine Busanforderungskette verzichtet werden. Damit sind Fehlerquellen beseitigt, die derartigen bekannten Buszuteilungseinrichtungen anhaften.
Das Eingabe-Ausgabe-Steuerungselement 10 ist - wie aus Fig. 1 hervorgeht - mit zwei weiteren Bussen 22 bzw. 24 verbunden, und beinhaltet diesen zugeordnete weitere Bus-Transceiver- und -zuteilungsschaltungen 21. Entsprechend haben die Eingabe- Ausgabe-Steuerungselemente 42 und 46 Zugang zu weiteren Bussen 28, 41 bzw. 40, 43. Diese weiteren Busse dienen zur Verbindung des Systems mit Einrichtungen zur Datenein- und -ausgabe. In Fig. 1 sind die Einrichtungen 26 und 28 dargestellt, die über die Busse 38 bzw. 41 mit dem Eingabe-Ausgabe- Steuerungselement 42 in Verbindung stehen. Zusätzlich können die Busse 22 und 24 zur Erweiterung und Erstreckung des Bussystems auf ein Mehrfachverbindungssystem, (wie es in Fig. 2 dargestellt ist), zur Bildung eines DSPS-Netzes dienen, mit dessen Hilfe komplexere Signalverarbeitungsaufgaben, beispielsweise aus der Radartechnik, gelöst werden können.
Alle in dem System gemäß Fig. 1 vorhandenen Elemente werden von einem verteilten Betriebssystem 30 gesteuert, das im folgenden auch mit der Abkürzung DOS bezeichnet wird. Dieses System DOS befindet sich in den Signalprozessoren 12, 13 und 15 und ist für die Verwaltung aller DSPS-Elemente verantwortlich. Es erlaubt somit die ordnungsgemäße Abwicklung der zugewiesenen Aufgaben. In Übereinstimmung mit der verteilten Anordnung des Signalverarbeitungssystems ist auch das Betriebssystem dezentral, d. h. verteilt angeordnet, wobei die lokale Steuerung und Verwaltung der Betriebsmittel eines Signalprozessors mit Hilfe eines Abschnittes DOS-0 für die lokale Ebene durchgeführt wird, der sich in Lesespeichern (ROM) in jedem Signalprozessor 12, 13 und 15 befindet. Die Systemsteuerung des gesamten verteilten Signalverarbeitungssystems auf einer höheren Ebene wird von dem Betriebssystemabschnitt DOS-1 für die Systemebene abgewickelt, der in den Massenspeichern 14 gespeichert und betriebsmäßig z. B. dem ersten Signalprozessor 12 zugeordnet ist, falls diesem die Ablaufsteuerung zugewiesen ist. Zur Sicherstellung der angestrebten Fehlertoleranz ist einem zweiten Signalprozessor 13 die Überwachung des exekutiven Systemabschnittes DOS-1 mit einem alternativen exekutiven Systemabschnitt ADOS-1 zugewiesen, wie dies bei dem System 32 in Fig. 2 angedeutet ist. Falls der Abschnitt DOS-1 gestört ist, übernimmt der Abschnitt ADOS-1 und weist seine eigene exekutive Überwachungsaufgabe einem anderen Signalprozessor zu.
Die verteilt angeordneten Signalverarbeitungselemente, die wie in Fig. 1 durch wenigstens einen Bus untereinander verbunden sind, werden als ein System bezeichnet. Die Anzahl der miteinander zu verbindenden Systeme bestimmt sich durch die Signalverarbeitungsanforderungen für einen bestimmten Anwendungsfall. Fig. 2 zeigt exemplarisch die Verbindung von vier Systemen zu einem Signalverarbeitungsnetz. Selbstverständlich sind auch andere Konfigurationen durchführbar. Jedes System enthält wenigstens je ein Exemplar der folgenden Elemente: Eingabe-Ausgabe-Steuerung IOC, Signalprozessor SP und Massenspeicher MM. Das System 32 ist in redundanter Weise mit dem System 36 verbunden. Zur Verbindung dient der Bus 24, der von der IOC 10 zu dem Bus 31 in dem System 36 führt, sowie der Bus 40 der IOC 46, der zu dem Bus 33 in System 36 führt. Das System 32 ist außerdem in redundanter Weise mit dem System 35 verbunden. Hierzu dient der Bus 22, der von IOC 10 zu dem Bus 47 in dem System 35 führt sowie der Bus 43, der von IOC 46 zu dem Bus 48 in dem System 35 führt. Eine weitere Eingabe-Ausgabe-Steuerung IOC 42 in dem System 32 dient zur Verbindung mit peripheren Eingabe-Ausgabe-Einrichtungen 39. Die Kommunikation mit diesen Eingabe-Ausgabe- Einrichtungen 39 erfolgt ebenfalls über den Bus 57 von der Eingabe-Ausgabe-Steuerung IOC 51 in dem System 36. Das System 36 ist in redundanter Weise über die Busse 49 und 55, die von den Eingabe-Ausgabe-Steuerungen 50 bzw. 51 zu den Bussen 44 und 45 in dem System 37 verlaufen, mit letzterem verbunden. Für das System 36 besteht außerdem ein Kommunikationsweg zu dem System 35, der über die Eingabe-Ausgabe-Steuerung IOC 50 und den Bus 53 zu dem Bus 58 in dem System 35 verläuft.
Um bei der in Fig. 2 dargestellten Netzkonfiguration Fehlertoleranz zu erhalten, sind wenigstens zwei Kommunikationswege zu jedem System vorgesehen, die über getrennte Eingabe- Ausgabe-Steuerungen IOC verlaufen. Dies erfordert in einem Mehrsytem-Netzwerk im allgemeinen die Verwendung einer gegenüber der Gesamtzahl der Systeme zusätzlichen Eingabe-Ausgabe- Steuerung IOC. So beinhaltet beispielsweise das in Fig. 2 dargestellte Netz vier Systeme und fünf Eingabe-Ausgabe-Steuerungen IOC 10, 42, 46, 50 und 51 zu ihrer gegenseitigen Verbindung. Die Verwaltung der Kommunikationsverbindungen zwischen den Systemen und die Verwaltung des Mehrsystem-Netzes steht unter dem Steuereinfluß eines verteilten Betriebssystems. Der Abschnitt DOS-1 für die Systemebene übernimmt die Rolle der Systemexekutive oder der Gesamtverwaltung für das Nutz und befindet sich in dem System 32 (Fig. 2).
Im folgenden seien der Betrieb und die Verwendung des in Fig. 1 dargestellten verteilten Signalverarbeitungssystems DSPS näher erläutert:
Nach Einschalten der Stromversorgung für das verteilte Signalverarbeitungssystem 32 oder nach einer Rücksetzoperation führt der Abschnitt DOS-0 des Betriebssystems in jedem der Signalprozessoren 12 Selbstprüfungsprogramme durch. Falls die Ergebnisse dieses Programmablaufs in einem Signalprozessor erfolgreich sind, versucht der Signalprozessor, den Bus zu belegen. Falls zwei Signalprozessoren einen solchen Belegungsversuch gleichzeitig durchführen, findet eine Buszuteilung statt, wie sie bei der Beschreibung der Eingabe-Ausgabe-Steuerungen geschildet wurde und mittels derer freigesetzt wird, welcher Signalprozessor Zugang zu dem Bus erhält. Zunächst besetzt jedes Element eine "Anschlußadresse", die auf der physikalischen örtlichen Lage innerhalb des Systems basiert. Die Priorität fällt dem Element mit der höchsten Adressennummer zu. Wenn ein Signalprozessor 12, 13 oder 15 jedoch einmal die Durchführung der Ablaufsteuerung übernommen hat, und somit den Abschnitt DOS-1 des Betriebssystems beinhaltet, kann er die Adresse eines anderen Elementes ändern und diesem eine "virtuelle Adresse" zuweisen, welche die Wichtigkeit oder Priorität der Elemente für die weitere Buszuteilung beeinflußt. Diese Änderung der Elementadressen bildet auch das Hilfsmittel für die Neukonfiguration, wenn ein fehlerhaftes Element ermittelt und durch ein Ersatzelement ersetzt wurde, dem sodann die Adresse des fehlerhaften Elementes zugewiesen wird. Aufträge stehen mit anderen Aufträgen, Eingabe-Ausgabe-Ports und der Ablaufsteuerung über die genannten virtuellen Adressen in Verbindung, so daß die Auftragssoftware oder Information über dfie Systemkonfiguration nicht von den den einzelnen Elementen zugewiesenen Aufträgen abhängt. Das Elementenadressenregister jedes Elementes, in welchem die virtuellen Adressen bespeichert sind, ist in Fig. 3, 4, und 5 dargestellt.
Wenn ein erster Signalprozessor den Bus belegt, sendet er eine Nachricht zu einem Massenspeicher 14 mit einer speziellen Elementadresse. Bei Empfang der ersten Nachricht von einem Signalprozessor ändert der Massenspeicher diese seine Elementadresse, so daß ein anderer Signalprozessor, der nach Durchführung seines Selbstprüfungsprogrammes eine Belegung des Busses versucht und eine Nachricht aussendet, kein Element mit dieser speziellen Adresse vorfindet, das die Nachricht aufnimmt. Die betreffenden Signalprozessoren gelangen daraufhin einfach in einen Wartezustand. Der Massenspeicher jedoch lädt das Ablaufprogramm DOS-1 in dasjenige Signalprozessorelement, das die Nachricht "bereit" zuerst ausgesendet hat. Das Ablaufprogramm steuert daraufhin die anderen Elemente innerhalb des Systems, indem es feststellt, welche Elemente verfügbar sind, und weist den verschiedenen Elementen Arbeitsaufträge zu. Jedes Element, dem ein Auftrag zugewiesen wurde, lädt seinen Arbeitsspeicher (RAM) mit Auftragsprogrammen aus dem Massenspeicher 14. Dieses Verfahren erlaubt es dem System, in einem "zurückgenommenen" oder verringertem Betriebsmodus zu starten, bei dem mindestens ein betriebsfähiger Signalprozessor, ein Massenspeicher und ein Bus beteiligt sind.
Wenn das DSPS einmal seinen Betrieb aufgenommen hat, wird die angestrebte Fehlertoleranz des Systems durch eine Kombination von Fehlererfassungshardware mit der DOS-Software erreicht. Die Methode der Fehlertoleranz ist derart ausgebildet, daß nach Auftreten und Entdeckung eines Fehlers eine Selbstheilung durch Außerdienststellung des fehlerhaften Elementes und Ersatz desselben durch ein Ersatzelement ohne irgendwelche spezielle Schalt- oder Neukonfigurationshardware durchgeführt wird. Das in einem Arbeitsspeicher RAM 76 (Fig. 3) liegende Exekutivprogramm DOS-1 liefert die Grundlage für die Selbstheilung, die in der Art erfolgt, daß Elemente in einem System hinzugefügt oder außer Dienst gestellt werden, ohne daß innerhalb des Systems irgendeine Umgestaltung erforderlich wird. Die Erfassung von individuellen Hardwarefehlern erfolgt mit Hilfe bekannter Verfahren, beispielsweise durch Diagnose-Mikroprogramme, Paritätsprüfungen und Überwachungszeitgeber. Wenn beispielsweise ein Sendeelement eine allzu lange Zeit zur Buszuteilung oder zur Informationsaussendung benötigt, wird die Aussendung unterbrochen und in einem Statusregister ein Markierbit zur Fehlerkennzeichnung gesetzt. Diese in jedem Element eines Systems vorhandenen Statusregister sind in den Zeichnungen nicht dargestellt. Weitere Überwachungshardware dient zur Überprüfung von ungültigen oder bevorrechtigten Betriebskodes und von Speicheradressen, die außerhalb des gegebenen Bereiches liegen.
In der Hardware zur Ausführung des DOS-1 Systemabschnittes sind zwei Verfahren zur Fehlererfassung gerätemäßig ausgeführt; es handelt sich um die zyklische Statusabfrage und die Rotation der Ersatz bildenden Elemente. DOS-1 fragt alle aktiven Elemente in einer programmierbaren Geschwindigkeit mit einer Nachricht ab, die Angaben über den Systemsstatus anfordert. Das Format dieser Nachricht ist in Tabelle 1 aufgelistet. Falls keine Antwort erfolgt oder das als Antwort eingehende sogenannte I/O-Statuswort fehlerbehaftet ist, veranlaßt DOS-1 eine Neukonfiguration des DSPS-Systems, indem das fehlerbehaftete Element außer Dienst gestellt und durch ein Ersatzelement ersetzt wird. In der Tabelle 2 ist das Format des I/O-Statuswortes aufgelistet. Alle möglichen Elementadressen werden zyklisch abgefragt, um neu eingefügte Elemente zu erkennen. Dieses Merkmal erlaubt die Reparatur eines Elementes ohne Abschaltung des Systems. Den Ersatzelementen kann ein Selbstprüfungsauftrag zugewiesen werden, der alle Funktionen erfaßt. Durch periodisches Rotieren der Ersatzelemente und der aktiven Elemente stellt DOS-1 sicher, daß alle Elemente Selbstprüfungsaufträge ausführen, so daß auch komplizierte Fehler entdeckt werden können.
Im folgenden sei anhand von Fig. 3 das Signalprozessorelement SP 12 des verteilten Signalverarbeitungssystems erläutert: Es enthält eine Bus-Schnittstelle 52, eine Speichereinheit 54, eine Recheneinheit 56 sowie eine Steuereinheit 58, die durch einen SP-Datenbus 72 und einen Steuerbus 80 miteinander verbunden sind. Der Signalprozessor arbeitet als paralleler mikroprogrammierter 16-Bit-Minicomputer und ist zur effizienten Echtzeitverarbeitung von Daten mit speziellen Operationsbefehlen ausgerüstet.
Die Bus-Schnittstelle 52 enthält zwei Ports, die von dem Bus- Transceiver 60 und dem Bus-Transceiver 62 gebildet werden. Diese I/O-Ports bilden redundante Übertragungswerte zum Laden von Programminstruktionen und Daten in die Speichereinheit 54. Die Transceiver-Schaltungen 60 und 62 übertragen in einem DSPS- System Daten zu den anderen Elementen und empfangen Daten von diesen mittels einer Steuerlogik 64 und Bus 16 oder Bus 18, mit jeweils 16 Datenleitungen, einer Paritätsleitung und vier Steuerleitungen in einer sogenannten Open-Collector-ODER-Konfiguration. Ein Register 63 für die Elementeadressen besitzt Mittel zur Speicherung der Adresse eines Signalprozessorelementes und erlaubt ferner die Änderung einer Elementadresse, wenn ein fehlerbehaftetes Element festgestellt wird. Ein Paritätsnetzwerk 70 erzeugt Ungerad-Parität bei den auszusendenden Daten und prüft die Paritätsleitung für zu empfangende Daten. Die Daten werden in Blöcken bis zu 256 Wörtern durch die Steuerlogik 64 gesendet und empfangen. Wenn ein Datenblock von dem Bus 16 oder dem Bus 18 empfangen wird, wird er in einem Eingangspuffer 66 verbracht, bis die Speichereinheit 54 für die Aufnahme der Daten bereit steht. Wenn ein Datenblock gesendet werden soll, wird er aus der Speichereinheit 54 herausgenommen und über den SP-Datenbus 72 in einen Ausgangspufferspeicher 68 gebracht. Da mehrere Transceiver in verschiedenen Elementen gleichzeitig versuchen können, den Bus 16 oder den Bus 18 zu belegen, wird eine Zuteilungseinrichtung 60 wirksam, die entscheidet, welcher Transmitter den Buszugriff erhält. Jedes mit einem Bus verbundene sendende Element erzeugt einen individuellen Zuteilungskode, der die Priorität bei dem Buszugriff durch die Sender bestimmt. Sender mit niedrigerer Priorität werden zurückgewiesen, bis nur das Element mit der höchsten Priorität übrigbleibt. Diese Zuteilungsmethode wird weiter unter in Zusammenhang mit dem Eingabe-Ausgabe-Steuerungselement näher beschrieben.
Die Speichereinheit in Fig. 3 beinhaltet einen Lesespeicher ROM 74, einen Arbeitsspeicher RAM 76 sowie eine Speichersteuerung 78. Die Speicherlage-Adressen werden der Speichersteuerung 78 von der Recheneinheit 56 zu diesem Zweck übergeben, entweder Instruktionen oder Daten aus dem ROM 74 oder dem RAM 76 auszulesen oder Instruktionen oder Daten in den Arbeitsspeicher RAM 76 einzulesen. Der Lesespeicher ROM 74, der in 4096 Wörtern zu je 16 Bit organisiert ist, enthält den mit 75 bezeichneten Abschnitt DOS-0 des verteilten Betriebssystems, das für die lokale Steuerung und Verwaltung des Signalprozessors 12 zuständig ist. Zu dieser Zuständigkeit gehört die Einführungsschaltfolge beim Einschalten der Stromversorgung, die Fehlerüberwachung, die Ladeunterbrechung, unzulässige Operationen, I/O-Dienstanforderungen sowie die Lieferung von Statusinformationen an den Exekutivabschnitt DOS-1 des verteilten Betriebssystems für die Systemebene, der sich in demjenigen Signalprozessor befindet, der die Rolle der Systemverwaltung oder Ablaufsteuerung innehat. Der Arbeitsspeicher RAM 76 ist beispielsweise als dynamischer 16K-MOS-RAM mit 16 Bit-Wortlänge ausgebildet. Derartige Speicher sind bekannt; ihre Einzelheiten sind für das Verständnis der vorliegenden Erfindung nicht nötig.
Die Steuereinheit 58 besitzt eine herkömmliche Mikroprogrammstruktur. Sie beinhaltet ein Makrobefehlsregister 94, einen Planspeicher ROM 96, einen Adressenfolger 98, einen Multiplexer 100, einen Mikroprogramm-Lesespeicher ROM 102, ein Mikrobefehlsregister 104 sowie einen Dekodierer 106. Wenn ein Makrobefehl über den SP-Datenbus 72 in das Makrobefehlsregister 94 geladen wird, läuft eine Folge von einem oder mehreren Mikrobefehlen ab, durch die der genannte Makrobefehl ausgeführt wird. Die Folge der Mikrobefehle aus dem Mikroprogramm- Lesespeicher ROM 102 wird durch die Planungs-Lesespeicher ROM 96, den Adressenfolger 98 und den Multiplexer 100 gesteuert. Die individuellen Mikrobefehle werden aus dem Mikroprogramm- Lesespeicher ROM 102 ausgelesen, der beispielsweise in 2048 Wörtern zu je 80 Bit organisiert ist, und in das Mikrobefehlsregister 104 geladen. Die Ausgangsbits des Mikrobefehlsregisters 104 werden über den Steuerbus 108 innerhalb des Signalprozessors 12 verteilt und führen die Steuerfunktionen oder Mikrooperationen aus, die zur Ausführung des genannten Makrobefehls erforderlich sind. Der Dekodierer 106 bildet das Mittel für eine weitere Dekodierebene der Mikrobefehlsbits zur Erzeugung zusätzlicher Mikrooperationen.
Es sind zwei Arten von Makrobefehlsformaten vorgesehen, die in Tabelle 3 aufgelistet sind. Sie umfassen eine im folgenden als BAM bezeichnete Grundadressierungsart (Basic Address Mode) sowie eine im folgenden als EAM bezeichnete erweiterte Adressierungsart (Extended Address Mode). Die EAM bildet eine effektive Adresse des Operanden, in dem sie die acht niedrigstwertigen Bits, d. h. das letzte Byte, des Makrobefehlsformats als vorzeichenbehaftete ganzzahlige Distanzadresse (displacemen) verwendet, die mit den Inhalten eines oder mehrerer Register kombiniert werden muß. Die EAM bildet eine effektive Adresse unter Verwendung der Inhalte der in dem R1-Feld des genannten Formats spezifizierter Register.
Die von der mikroprogrammierten Steuereinheit 48 ausgeführten Befehle beinhalten einen herkömmlichen Datenverarbeitungsbefehlssatz, der in Tabelle 4 aufgelistet wird sowie mit OPERATE bezeichnete Betriebsbefehle, die in Tabelle 5 aufgelistet sind. Die OPERATE-Befehle führen Steueroperationen und kundenspezifische Signalverarbeitungsoperationen aus. Sie werden durch den Operationsgenerator 103 des Mikroprogramm-Lesespeichers ROM 102 ausgeführt. Es gibt OPERATE-Befehle für Anwendungsprogramme, OPERATE-Befehle für die Systemprogrammierung sowie OPERATE- Befehle für spezielle Signalverarbeitungszwecke.
Die OPERATE-Befehle für ein Anwendungsprogramm sorgen für die Kommunikation zwischen diesem Anwendungsprogramm und dem lokalen Abschnitt DOS-0 des verteilten Betriebssystems. Sie umfassen Befehle wie die folgenden: Kehre vom Unterprogramm zurück, unterbreche Freigabe/Sperrung, nimm Operationen wieder auf, lies den Echtzeittakt und Systemruf. Der Befehl "Systemruf" erlaubt es dem Programmierer, den Systemabschnitt DOS-0 zur Durchführung einer speziellen der in Tabelle 6 aufgelisteten Servicefunktionen anzufordern.
Die OPERATE-Befehle zur Systemprogrammierung manipulieren und verwalten die Betriebsmittel des Signalprozessors. Die Mehrzahl dieser Befehle ist, wie aus Tabelle 5 hervorgeht, bevorrechtigt, indem sie nur durch Programme ausgeführt werden können, die mit einem Statuswort für bevorrechtigte Programme beginnen, wie aus Tabelle 7 hervorgeht. Jeder Versuch einen bevorrechtigten Befehl durch ein nicht bevorrechtigtes Programm auszuführen, ergibt eine Fehlerunterbrechung und eine Beendigung des Programms. Die Befehle für diagnostischen Logiktest und diagnostischen Speichertest sind Beispiele für OPERATE-Befehle der Systemprogrammierung, die nicht bevorrechtigt sind.
Die OPERATE-Befehle für spezielle Signalverarbeitungszwecke umfassen beispielsweise den Befehl zur Matrixmultiplikation und den Befehl zur Messung und Kartenaktualisierung, die besonders effizient bei der Signalverarbeitung von Dopplerradardaten sind, welche eine Festzeichenkarte zur unabhängigen Einrichtung von Meßschwellwerten für jeden Radarbereich, Azimut und Dopplerzelle verwenden. Andere OPERATE-Befehle für spezielle Zwecke, die in Tabelle 5 nicht aufgelistet sind, führen schnelle Fourier-Transformationen (FFT) und Vektoroperationen durch. Für andere Anwendungen eines verteilten Signalverarbeitungssystems können OPERATE-Befehle für Spezialzwecke leicht innerhalb der mikroprogrammierten Steuereinheit ausgeführt werden.
Die Recheneinheit 56 in Fig. 2 beinhaltet eine arithmetische Logikeinheit (ALU) 82, einen Multiplizierer 84, einen Multiplexer 86, einen Dateispeicher 88, einen Adressengenerator 90 und einen AU-Datenbus 92. Die arithmetische Logikeinheit ALU 82 führt arithmetische und logische Operationen mit Operanden durch, die von verschiedenen Quellen, beispielsweise der Speichereinheit 54, dem Dateispeicher 88 oder dem Multiplizierer 84 aufgenommen werden. Die arithmetische Logikeinheit ALU 82 beinhaltet folgende vier Register: Der Programmzähler 81 bestimmt die Adresse des nächsten Mikrobefehls aus der Speichereinheit 54, der Datenzeiger 83 bestimmt die Adressen, an denen sich die zu bearbeitenden Daten befinden; das mit ACC1 bezeichnete Register 85 und das mit ACC2 bezeichnete Register 87 sind Arbeitsakkumulatoren für iterative Rechenoperationen, alternativ arbeiten sie als temporäre Halteregister für Zwischenoperanden. Der Multiplizierer 84 führt innerhalb eines Prozessor-Taktzyklus eine 16 × 16 Bit Hochgeschwindigkeitsmultiplikation aus.
Der Multiplexer 86 bildet das Mittel für die Datenübertragung von dem Multiplizierer 84 zu der arithmetischen Logikeinheit ALU 82, so daß die Addition innerhalb der ALU während desselben Prozessor-Taktzyklus erfolgt, in welchem die Multiplikation in dem Multiplizierer 84 stattfindet. Das zuvor in dem Multiplizierer 84 gebildete Produkt wird zu der ALU 82 transformiert, um in ihr zu den zuvor akkumulierten Produkten hinzuaddiert zu werden. Gleichzeitig werden während der genannten Taktzykluszeit Daten aus dem Dateispeicher 88 und der Speichereinheit 54 in dem Multiplizierer 84 multipliziert. Dieses Verfahren macht es möglich, die Datenrechnungen durch die speziellen OPERATE-Befehle der Signalverarbeitung schneller auszuführen als mit herkömmlichen Methoden. Der Multiplexer 86 bildet ferner einen direkten Weg für den Datentransfer aus dem Dateispeicher 88 zu der ALU 82.
Der Adressenspeicher 90 empfängt Informationen von der Speichereinheit 58. Sie dienen zur Bestimmung der Plätze in dem Dateispeicher 88, die während der Ausführung eines bestimmten Makrobefehls zu benutzen sind. Der AU-Datenbus 92 umfaßt 16 Leitungen mit herkömmlichen I/O-tristate-Einrichtungen. Es dient zur Übertragung von Daten oder Adressen zu dem Dateispeicher 88, dem Adressengenerator 90, der ALU 82, dem Multiplizierer 84 oder dem Multiplexer 86.
Der Dateispeicher 88 in der Recheneinheit 56 dient zur Speicherung von acht Registersätzen zu jeweils acht Wörtern. Die betreffenden Register sind in ihrer Architektur als Allzweckakkumulatoren ausgeführt, werden jedoch in einer durch den Mikrokode der Steuereinheit 58 bestimmten speziellen Weise zu besonderen Funktionen wie Programmzähler, Stapelzeiger, Akkumulator und Indexregister verwendet. Jeder Registersatz besitzt ein zugeordnetes Programmstatuswort (PSW), das Informationen über das mit diesem Registersatz auszuführende Programm beinhaltet. Das PSW umfaßt die acht niedrigstwertigen Bits eines Wortes in dem Dateispeicher 88 und enthält die in Tabelle 7 aufgelistete Information. Der Rest des Dateispeichers 88 dient für herkömmliche interne Signalverarbeitungsfunktionen und als "Notizspeicher" für die OPERATE- Befehle zur Signalverarbeitung.
Die gegenseitige Beziehung der Einheiten des Signalprozessors 12 sei weiter in folgender Weise demonstriert: Der Programmzähler in der ALU 82 bestimmt die Adressen, unter denen der nächste Makrobefehl von dem ROM 74 oder dem RAM 76 in der Speichereinheit 54 abzurufen ist. Der Befehl wird über den SP-Datenbus 72 zu dem Makrobefehlsregister 94 in der Steuereinheit 58 übertragen. Der Plan-Lesespeicher ROM 96 bestimmt eine Startadresse oder Adressenart, die den Zugriff zu dem Mikroprogramm-Lesespeicher ROM 102 ermöglicht, in welchem die Mikrobefehle enthalten sind. Eine effektive Adresse kann dann über den Dateispeicher 88 und die ALU 82 berechnet werden. Die effektive Adresse wird in dem Datenzeiger 82 der ALU gespeichert und ermöglicht den Zugriff zu den Daten in der Speichereinheit 54, die zur Ausführung des Makrobefehls benötigt werden.
Im folgenden sei das in Fig. 4 dargestellte mit MM bezeichnete Massenspeicherelement 14 des verteilten Signalverarbeitungssystems näher beschrieben: Es umfaßt eine Bus-Schnittstelleneinheit 110, einen Speicher 122, eine Steuerung 124 sowie einen Speicher-Datenbus 126. In der Bus-Schnittstelleneinheit 110 befinden sich der Bus-Transceiver und die Buszuteilung 112 bzw. 116, eine Steuerlogik 114, Register 115 für die Elementadressen sowie ein Paritätsnetzwerk 118. Die Ausbildung dieser Teile ist identisch mit derjenigen der funktionell äquivalenten Teile in der Bus-Schnittstelleneinheit 52 des Signalprozessors 12 in Fig. 3. Die Bus-Schnittstelleneinheit 110 enthält auch einen Pufferspeicher 120, der die Stelle der Eingangs-Ausgangs-Puffer 66 bzw. 68 des Signalprozessors 12 in Fig. 3 einnimmt. Alle in den Massenspeicher eingeschriebenen oder aus ihm ausgelesenen Informationen durchlaufen den Pufferspeicher 120 über den Speicher- Datenbus 126. Der Pufferspeicher 120 ist um den Faktor 5 schneller als der Speicher 122. Dadurch ist er in der Lage, Informationsblöcke mit den auf den Bussen 16 und 18 herrschenden Datengeschwindigkeiten zu empfangen und auszusenden. Alle Informationsübertragungen in den Massenspeicher 14 erfolgen über den Speicher-Datenbus 126, der 16 Leitungen umfaßt, die mit herkömmlichen doppeltgerichteten Tristate-Einrichtungen ausgerüstet ist. Im vorliegenden Ausführungsbeispiel besitzt der Pufferspeicher eine Kapazität von wenigstens 4096 Wörtern zu je 16 Bit. Der Informationstransfer in den Speicher 122 bzw. aus diesem über den Speicher-Datenbus 126 wird von der Steuerung 124 gesteuert.
Der Speicher 124 ist im vorliegenden Ausführungsbeispiel in acht Abschnitten zu 16 K Wörtern organisiert, so daß seine gesamte Speicherkapazität 128 K Wörter zu je 19 Bit beträgt. Zur Vergrößerung der Zuverlässigkeit enthält jedes Wort drei Ersatzbit. Die Daten werden zu Seiten von 240 Wörtern in den Speicher 122 hinein bzw. aus ihm herausbewegt. Die Datenübertragung in den Massenspeicher 14 bzw. aus ihr heraus erfolgt in Einzelnachrichtpaketen zu 256 Wörtern. Die Rubrikinformation, die aus bis zu 16 Wörtern besteht, wird von der Steuerung 124 für abgehende Informationen zu den 240-Wort-Seiten hinzuaddiert. Wenn Daten in Massenspeicher 14 gelangen, wird die in dem Paket enthaltene Rubrikinformation von der Steuerung 24 dahingehend interpretiert, ob eine normale Abruf- oder Speicheroperation erfolgen soll oder ob eine Steueraktion angefordert wird, beispielsweise eine Statusanforderung, ein Rücksetzen und Strom einschalten oder Strom ausschalten. Ein Datenpaket besteht maximal aus 256 Wörtern, es kann jedoch auch aus nur einem Wort Rubrikinformation bestehen. Der Massenspeicher 14 bildet in dem verteilten Signalverarbeitungssystem ein passives Element, da er von sich aus nicht initiativ wird sondern nur auf Nachrichten der anderen Systemelemente reagiert.
Fig. 5 zeigt ein mit IOC bezeichnetes Eingabe-Ausgabe- Steuerelement 10 des verteilten Signalverarbeitungssystems. Das IOC bildet ein Nachrichtenzentrum innerhalb des Systems und führt Wegebestimmungs-, Steuer- und Fehlerprüfaufgaben durch. Jedes IOC besitzt vier unterschiedliche I/O-Bus-Transceiver-Ports, mit denen die Verbindung zu den Bussen 16, 18, 22 oder 24 hergestellt wird. Jeder dieser Busse umfaßt 16 Datenleitungen, eine Paritätsleitung sowie vier Steuerleitungen in Open-Collector-ODER-Konfiguration. Jeder Bus ist mit einer von vier identisch ausgebildeten Bus-Transceiver-Schaltungen 130, 132, 134 bzw. 136 verbunden, die in derselben Weise ausgebildet sind wie die zuvor beschriebenen Bus-Transceiver-Schaltungen für die anderen Systemelemente.
Die Bus-Transceiver 130 und 132 in Fig. 5 sind ständig mit den Bussen 16 und 18 des Systems verbunden, in denen sich die Eingabe-Ausgabe-Steuerung IOC befindet (Fig. 1). In einem Mehrsystemnetz, wie es in Fig. 2 dargestellt ist, arbeiten die Bus-Transceiver in dem IOC 10 in einem erweiterten Busverband, der von einer Blocksteuerung 152 errichtet wird, so daß die Busse 22 und 24 des Systems 32 mit dem Bus 47 in dem System 35 bzw. dem Bus 31 in dem System 36 verbunden sind. Wenn ein IOC Information von und zu peripheren Dateneingabe- Ausgabeeinrichtungen übertragen soll, arbeitet es mit dynamischer Ein- und Ausgabe, wie dies in Fig. 2 für das IOC 42 in dem System 32 angedeutet ist. Die Ausgangssignale SELECT 139 bzw. 141 (Fig. 5) enthalten jeweils einen 4-Bit- Kode zur Auswahl einer von bis zu 16 peripheren Einrichtungen, die mit einem Bus verbunden sind. Das Paritätsnetzwerk 138 prüft die Paritätsleitung für die von einem IOC empfangenen Daten und generiert Parität für die von einem IOC gesendeten Daten.
Das IOC in Fig. 5 besitzt zwei Puffer 146 und 148 zum gleichzeitigen Senden und Empfangen von Datenblöcken für insgesamt 256 Wörter über getrennte Bus-Ports. Der mit X bezeichnete Puffer 146 kann unter der Steuerung der Empfänger-Steuerungslogik 140 Daten von einem Bus aufnehmen, während die Sende- Steuerlogik 140 über einen anderen Bus Daten aussendet. Der Eingangsbus 142 und der Ausgangsbus 144 in Fig. 5 bilden die Übertragungswege für den Datentransfer in dem IOC 10.
Die Blocksteuerung 152 in Fig. 5 erzeugt die Steuersignale für die Empfangs- und Sende-Steuerlogik 140. Sie liefert Steuer- und Statusnachrichten für das exekutive verteilte Betriebssystem DOS-1, das sich in einem Signalprozessorelement 12 befindet, wie sie in den Tabellen 1, 2 und 8 aufgelistet sind. Die Blocksteuerung 152 setzt ein IOC nach Maßgabe des Exekutivprogramms mit einem IOC-Steuerwort in einer von viert Arten ein. Die Steuerwörter sind in Tabelle 8 aufgelistet. Das IOC-Steuerwort gelangt über den Bus-Transceiver 130 oder den Bus-Transceiver 132 in das IOC und wird von dem Eingangsbus 142 zu der Blocksteuerung 152 übertragen. Zwei der vier Betriebsarten bedeuten einfach AUS oder ERSATZ. Die anderen beiden Betriebsarten bestehen darin, daß das IOC zur Buserweiterung für den Mehrsystem-Netzbetrieb oder zur Steuerung für eine periphere Dateneinrichtung konfiguiert wird. Das IOC kann nicht gleichzeitig in mehreren der genannten Betriebsarten betrieben werden. Bei allen Betriebsarten muß die Blocksteuerung 152 des IOC auf die in Tabelle 1 aufgelisteten Statusanfragen antworten, die von einem Signalprozessor kommen, der die Ablaufsteuerung innehat. Die Antwort besteht darin, daß ein Status-Rücksignal formatiert und gesendet wird. Das Status-Rücksignal umfaßt verschiedene (nicht dargestellte) Wörter, die beispielsweise die Anzahl der Fehler seit der letzten zyklischen Abstastung, die Fehlerart, die laufende Betriebsart, das ausgewählte I/O-Port, den im gegebenen Zeitpunkt ausgewählten Bus sowie die virtuelle Adresse des IOC enthalten.
Wie bereits beschrieben wurde, besitzt jedes Element in einem verteilten Signalverarbeitungssystem eine individuelle Stammadresse, die auf der örtlichen Lage der Elementhardware basiert und die beim Einschalten der Stromversorgung in das Adressenregister 150 des Elementes geladen wird. Jedes Element kann jedoch von dem die Ablaufsteuerung innehabenden, d. h. dem exekutiven Element mit einer abweichenden Adresse versehen werden, die als virtuelle Adresse bezeichnet wird und die genannte Stammadresse ersetzt. Dieses Verfahren der Adressenänderung für ein Element liefert die Möglichkeit zur Neukonfiguration, wenn ein fehlerbehaftetes Element entdeckt und durch ein Ersatzelement ersetzt wird. Ein Eingabe- Ausgabe-Steuerungselement IOC besitzt jedoch im Gegensatz zu anderen Elementen, die nur ein Adressenregister haben, deren zwei. Ein Adressenregister dient für den Betrieb der Bus- Transceiver 130 und 132, während das zweite Adressenregister für den Betrieb der beiden anderen Bus-Transceiver 134 und 136 vorgesehen ist.
Wenn Informationen von einem IOC 10 oder einem anderen Element in einem verteilten Signalverarbeitungssystem ausgesendet werden sollen, muß das sendende Element zunächst die Bussteuerung übernehmen. Jedes sendende Element innerhalb des Systems beginnt die Belegung eines Busses, beispielsweise des Busses 16 in Fig. 5, indem es einen ihm eindeutig zugeordneten Zuteilungskode 170 (Fig. 6) an den Bus abgibt, der - wie erwähnt - in als Open-Collector-ODER-Technik ausgeführt ist. Dieser Zuteilungskode basiert auf der Adresse des Elementes, das den Bus anfordert. Er besteht aus 8 Bits der Elementadresse (E 0 bis E 7) zuzüglich der 8 Bits des Komplements der Elementenadresse (E 0 N bis E 7 N), insgesamt also 16 Bits. Wenn verschiedene Elemente gleichzeitig den Bus anfordern, findet in jedem Element ein Zuteilungsverfahren statt, mit dem entschieden wird, welches Element den Bus benutzen wird.
Die Zuteilungsschaltung ist in Fig. 6 dargestellt. Sie befindet sich in jedem Element des verteilten Signalverarbeitungssystems. Die Register für die Elementadressen und ein Zuteilungskodegenerator 150 beinhalten die 8-Bit-Adressenregister - (die IOC besitzen deren 2) - welches mit einer eins- aus-zwei-Dekodiermethode die Beurteilung von bis 256 Adressen erlaubt. Es erzeugt eine aus 8 Bits bestehende Elementadresse 157, die über den Elementadressen-Ladeeingang 155 eingegeben wurden. Es erzeugt ferner den obenerwähnten Elementzuteilungskode 170. Zusätzlich zu den Registern für die Elementadressen und dem Generator 150 zur Erzeugung des Zuteilungskodes enthält die Zuteilungslogik 131 in einem IOC 10 8 UND-Glieder 161 bis 168, einen Prioritätskodierer 158 sowie einen "Konfliktmultiplexer" 160. Mit Hilfe dieser Teile wird der zusammengesetzte Zuteilungskode 169 für die Elemente dekodiert und in die Bus-Transceiver-Schnittstelle, beispielsweise den Bus-Transceiver 130 in Fig. 5 abgelegt.
Der Element-Zuteilungskode 170 in Fig. 6, der aus 16 Bits für jedes an einem gemeinsamen Bus beteiligten Element besteht, wird auf einem Bus mit Hilfe der oben beschriebenen Bus-Transceiver- Schaltungen als der zusammengesetzte Element-Zuteilungskode 169 erkannt. Es wird ein Verfahren zur eins-aus-zwei-Dekodierung eingesetzt. Die Signale C 0 bis C 8 und C 0 N bis C 7 N bilden den durch ODER-Funktion verknüpften zusammengesetzten Element-Zuteilungskode 169 für alle diejenigen Elemente, die eine Busbelegung wünschen. Wenn an den beiden Eingängen des UND-Gliedes 161 jeweils eine logische 1 anliegt, bedeutet dies, daß ein Element mit einer 1 an der betreffenden Binärstelle der Adresse und ein anderes Element mit einer 0 an derselben Adressen-Binärstelle den Bus belegen wollen, so daß ein Prioritätskonflikt entsteht. Falls jedoch die Ausgänge aller acht mit dem Prioritätskodierer 158 verbundenen UND-Glieder eine logische 0 führen, besteht kein Konflikt, da sich auf dem Bus nur ein einziger Element-Zuteilungskode befindet und das betreffende Element somit die Buszuteilung erhält, so daß ein mit WIN bezeichnetes Signal erzeugt wird. Die Erzeugung dieses WIN-Signals erfolgt in einem als Null-Detektor bezeichneten Abschnitt 156 des Prioritätskodierers 158. Das WIN-Signal erlaubt es dem anfordernden Element, den Bus zu belegen und eine Datenaussendung vorzunehmen.
Falls eine Konfliktsituation entsteht, weil zwei oder mehr Elemente gleichzeitig den Bus belegen möchten, erzeugt der Prioritätskodierer 158 einen 3-Bit-Kode auf den Signalleitungen P 0, P 1 und P 2 (Fig. 6), der dem den höchsten Stellenwert aufweisenden Elementadressenbit entspricht, bei welchem ein Konflikt existiert und das durch die Eingänge eines der acht UND-Glieder 161 bis 168 bestimmt ist. Der Konfliktmultiplexer 160 empfängt diesen 3-Bit-Kode und untersucht die Bits seiner mit 159 bezeichneten Elementadresse E 0 bis E 7. Falls das durch den 3-Bit-Kode des Prioritätskodierers 158 gekennzeichnete spezielle Bit auf einer der acht Adressenbitleitungen gleich Null ist, erzeugt der Konfliktmultiplexer 160 ein mit bezeichnetes Signal, welches bedeutet, daß dieses Element das Zuteilungsverfahren "verloren" hat. Das -Signal wird dem Register für die Elementadresse und dem Zuteilungskode-Generator 150 zugeführt und veranlaßt, daß der Zuteilungskode des betreffenden Elementes von dem Bus abgeschaltet wird. Dies geschieht in allen Elementen, bei denen der gleiche Adressenbitkonflikt festgestellt wird. Das Verfahren zur Ermittlung der Adressenbitkonflikte unter Verwendung des Elementen-Zuteilungskodes wird wiederholt, bis nur noch das Element mit der höchsten Priorität an dem Bus verbleibt. Das Element mit der höchsten Adressennummer besitzt immer Priorität bei der Belegung des Busses.
In Fig. 7 ist ein anderes Beispiel einer verteilten Buszuteilungsschaltung dargestellt. Diese Schaltung befindet sich wieder in jedem einzelnen Element eines verteilten Signalverarbeitungssystems. Während die in Fig. 6 gezeigte Schaltung zur Durchführung einer verteilten Buszuteilung für ein System mit bis zu 256 Adressen geeignet ist, ist die Schaltung gemäß Fig. 7 auf die Beurteilung von Elementen mit bis zu 64 Adressen beschränkt. Sie arbeitet zudem langsamer und eignet sich daher insbesondere für Systeme, bei denen eine kleinere Anzahl von Elementen für die Buszuteilung beurteilt werden muß.
Vor der die Buszuteilung begleitenden Beurteilung wird eine 6-Bit-Elementadresse in ein Elementadressenregister 192 geladen. Bei Beginn der Buszuteilung werden die mit AU bezeichneten drei höchstwertigen Bits 191 des Elementadressenregisters durch einen 3-aus-8-Leitungsdekoder 188 dekodiert und es wird an eine der acht höchstwertigen Leitungen E 8 bis E 15 für den Element-Zuteilungskode eine logische Null gelegt. In ähnlicher Weise werden die die niedrigsten Stellenwerte aufweisenden drei Bits 193 der Elementadresse, die mit AL bezeichnet sind, durch einen 3-aus-8-Leitungsdekoder 190 dekodiert und es wird eine logische Null an eine der acht niedrigstwertigen Leitungen E 0 bis E 7 des Element-Zuteilungskodes gelegt. Der sich ergebende 16-Bit-Zuteilungskode 196 des betreffenden Elementes wird an den Bus gelegt.
Die acht Leitungen C 8 bis C 15 des Busses, die den acht höchstwertigen Stellen des zusammengesetzten Zuteilungskodes 172 des Elementes entsprechen, werden durch den Prioritätskodierer 174 dekodiert und liefern eine mit CU bezeichnete 3-Bit-Zahl 179, die die höchstnummerierte Leitung des Zuteilungskodes des Elementes repräsentiert, welche eine logische Null führt. Ein 0-Detektor 175 liefert eine Anzeige, wenn nur eine einzige Leitung eine logische Null führt. In gleicher Weise werden die Kodierleitungen C 0 bis C 7 des zusammengesetzten Zuteilungskodes des betreffenden Elementes, welche den niedrigsten Stellenwert haben, durch einen Prioritätskodierer 176 dekodiert, der eine mit CL bezeichnete 3-Bit-Zahl 181 erzeugt, während der 0-Detektor 177 eine Anzeige liefert, wenn nur eine einzige Leitung eine logische Null führt.
Die drei höchstwertigen Bits des in 174 kodierten zusammengesetzten Zuteilungscodes CU 179 des Elementes und die Elementadresse AU 191 werden in einem Komparator 178 miteinander verglichen, um festzustellen, ob CU 179 und AU 191 gleich sind oder ob CU größer ist als AU. Falls CU größer ist als AU, hat ein anderes Element das Zuteilungsverfahren "gewonnen", und ein -Signal wird von einem NOR-Glied 186 erzeugt, welches das Abschalten des Zuteilungskodes 196 des Elementes von dem Bus bewirkt.
Falls nur eine einzige der Leitungen C 8 bis C 15 eine logische Null führt und CU 179 gleich AU 191 ist, aktiviert ein UND-Glied 182 einen Komparator 180, der die den niedrigsten Stellenwert aufweisenden kodierten drei Bits CL 181 des zusammengesetzten Zuteilungskodes des Elementes, die von dem Prioritätskodierer 176 geliefert werden, mit den drei niedrigstwertigen Bits AL 193 des Elementadressenregisters 192 vergleicht. Falls CL größer ist als AL, hat ein anderes Element das Zuteilungsverfahren gewonnen. Das NOR-Glied 186 erzeugt ein -Signal, durch welches der Zuteilungskode 196 des betreffenden Elementes von dem Bus entfernt wird.
Falls nur eine einzige der Leitungen C 0 bis V 7 eine logische Null führt und CL 181 gleich AL 193 ist, hat das befreffende Element das Zuteilungsverfahren "gewonnen". Daraufhin erzeugt ein UND-Glied 184 das WIN-Signal, welches dem Element die Belegung des Busses erlaubt.
Anstelle von Lesepeichers (ROMS) in der Speichereinheit 54 und der Steuereinheit 56 des Signalprozessors 12 können auch programmierbare Lesespeicher (PROMS) verwendet werden. In der in Fig. 2 dargestellten Netzkonfiguration kann jedes System eine Vielzahl jeder Elementenart umfassen, und das System 37 kann direkt mit dem System 32 in Verbindung stehen, statt mittelbar über das System 36 mit ihm verbunden zu sein.
Tabelle 1
System-Nachrichtenformat
Tabelle 2
I/O-Statuswort-Format
Tabelle 3
Makrobefehlsformat
Datenverarbeitungsbefehle
Mnemo
Befehl
STS
Speichere Einzelwort
STD Speichere Doppelwort
LDS Lade Einzelwort
LDD Lade Doppelwort
LDC Lade Komplement
LDN Lade Negativ
SWP Tausche aus
ADD Addiere mit einfacher Genauigkeit
ADP Addiere mit doppelter Genauigkeit
SUB Subtrahiere mit einfacher Genauigkeit
SDP Subtrahiere mit doppelter Genauigkeit
AND Logisches UND
IOR Logisches INKLUSIV-ODER
XOR Logisches EXKLUSIV-ODER
MPY Multipliziere
DIV Dividiere
JUMP Unbedingter Sprung
JPZ Springe, wenn positiv oder Null
ING Springe, wenn negativ
JEZ Springe, wenn gleich oder Null
JNZ Springe, wenn nicht gleich oder Null
JOVF Springe, wenn Überlauf
JSUB Springe zu Unterprogramm
SAD Schiebe arithmetisches Doppel
ISEZ Erhöhe und überspringe, wenn Null
DSEZ Erniedrige und überspringe, wenn Null
CSL Vergleiche und überspringe, wenn weniger als
CSE Vergleiche und überspringe, wenn gleich
ASZ UND mit Maske und überspringe, wenn Null
OSF ODER mit Maske und überspringe, wenn voll
RSP Rotiere mit einfacher Genauigkeit
Tabelle 5
OPERATE-Befehle
Service-Funktion DOS-0
Anforderung Nummer
durchgeführter Service
0
Schreiben einer Nachricht
1 Anforderung einer Nachricht
2 Anforderung Protokoll
3 Aktualisierung freilaufende Eingabensteuerung
4 Aktualisierung Taktsteuerung
5 DOS-1 Anforderung Aufgabensteuerung
6 Register Benutzerfehler
7 Anforderung Datenaufzeichnung
8 Aktualisierung Aufzeichnungssteuerung-Information
9 Änderung virtuelle Adresse CE
10 Lösche eine Schreibanforderung
11 Lösche eine Leseanforderung
12 Einschalten wartender Ausgabeanforderung
13 Freigabe wartender Eingabeanforderung
14 Anforderung direkter Ausgabe
15 Lese Echtzeit (Doppelwort)
Tabelle 7
Programm-Statuswort
Tabelle 8
IOC Steuerwort von Exekutivsystem (DOS-1)

Claims (8)

1. Signalverarbeitungseinrichtung mit einer Mehrzahl von über eine Leitungsanordnung (22, 24, 40, 43) verbindbaren, aus jeweils mindestens einer Eingabe/Ausgabesteuerung (10, 42, 46; 50, 51), mindestens einem Signalprozessor (12, 13) und einem Massenspeicher (14) gebildeten, verteilten Signalverarbeitungssystemen (32, 35, 36, 37), deren Bestandteile jeweils über eine Sammelleitungsanordnung (16, 18; 31, 33; 44, 45; 47, 48) verbunden sind, wobei einer der Signalprozessoren (12, 13) Mittel zur Fehlerüberwachung im zugehörigen Signalverarbeitungssystem (32) und in der gesamten Signalverarbeitungseinrichtung sowie Mittel zur Erzeugung von Steuersignalen für die Schaltungsneukonfiguration enthält, dadurch gekennzeichnet, daß die Sammelleitungsanordnungen (16, 18; 31, 33; 44, 45; 47, 48) jeweils aus zwei redundanten Sammelleitungen bestehen und daß zwischen einem steuernden Signalverarbeitungssystem und jedem weiteren Signalverarbeitungssystem mindestens zwei redundante Leistungsverbindungen bestehen, die zwischen einer der Eingangs-/Ausgangssteuerungen des steuernden Signalverarbeitungssystem und einer der beiden Sammelleitungen eines weiteren Signalverarbeitungssystems geführt sind.
2. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß Verbindungsmittel (38, 41) vorgesehen sind, durch die wenigstens eine der Eingabe-Ausgabe-Steuerung (z. B. 42) mit Dateneingabe- Ausgabegeräten (26, 28) verbindbar ist.
3. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß in einem oder mehreren der Elemente (10, 12, 14) der Signalverarbeitungssysteme (32) Einrichtungen (20) vorgesehen sind, mittels derer bestimmbar ist, welchem Element (10, 12 oder 14) die Belegung der Sammelleitungsanordnungen (z. B. 16, 18) zugewiesen wird, falls mehr als ein Element gleichzeitig eine Belegung dieser Sammelleitungsanordnungen versuchen.
4. Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Einrichtung (20) zur Entscheidung über die Zuteilung der Sammelleitungsanordnungen (z. B. 16 oder 18) eine verteilt angeordnete Buszuteilungseinrichtung (20; Fig. 6; Fig. 7) ist.
5. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß wenigstens einer der Signalprozessoren (13, 14) eine Einrichtung zur Neukonfiguration der Mehrzahl von Elementen und Mittel (63) zur Änderung der Adressen der Elemente beinhaltet.
6. Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß ein in einem oder mehreren Signalprozessoren (12, 13) vorgesehenes verteiltes Betriebssystem zur Steuerung, Verwaltung und Neukonfiguration der Mehrzahl von Elementen einen für die lokale Ebene zuständigen Abschnitt (DOS-0) für die Verwaltung und Fehlerüberwachung des jeweiligen Signalprozessors (z. B. 12) sowie einen für die Systemebene zuständigen Abschnitt (DOS-1) für die Verwaltung von Systemaufgaben, zur Überwachung von Systemfehlern und zur Neukonfiguration der Einrichtung beinhaltet.
7. Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß mittels der Buszuteilungseinrichtung (20) die Priorität eines Elementes relativ zu einem anderen Element bestimmbar ist, wenn gleichzeitig von mehreren Elementen Versuche zur Belegung einer gemeinsamen Sammelleitungsanordnung ausgehen, und daß sie ferner eine Dekodiereinrichtung (158) umfaßt, mittels derer eine aus einer Mehrzahl von gleichzeitig an der Sammelleitungsanordnung anstehenden Zuteilungskodes der Elemente zusammengesetzte Information zur Bestimmung desjenigen Elementes dekodierbar ist, welches die höchste Priorität für die Belegung der Sammelleitungsanordnung besitzt.
8. Einrichtung nach Anspruch 7, dadurch gekennzeichnet, daß der Dekodiereinrichtung (158) eine Logik (150) zur Erzeugung von Signalen nachgeschaltet ist, welche angeben, ob einem Element die Sammelleitungsanordnung zugeteilt wird oder nicht.
DE19813127349 1980-07-11 1981-07-10 Signalverarbeitungssystem mit verteilten elementen Granted DE3127349A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/168,899 US4412281A (en) 1980-07-11 1980-07-11 Distributed signal processing system

Publications (2)

Publication Number Publication Date
DE3127349A1 DE3127349A1 (de) 1982-09-16
DE3127349C2 true DE3127349C2 (de) 1990-07-19

Family

ID=22613415

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19813127349 Granted DE3127349A1 (de) 1980-07-11 1981-07-10 Signalverarbeitungssystem mit verteilten elementen

Country Status (7)

Country Link
US (1) US4412281A (de)
JP (1) JPS5750064A (de)
CA (1) CA1176337A (de)
DE (1) DE3127349A1 (de)
FR (1) FR2486682B1 (de)
GB (2) GB2079997B (de)
NL (1) NL8103136A (de)

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2482331B1 (fr) * 1980-05-06 1986-03-21 Thomson Csf Mat Tel Procede d'arbitration centralisee, et arbitreur centralise pour systeme multiprocesseur
US4468738A (en) * 1980-07-16 1984-08-28 Ford Aerospace & Communications Corporation Bus access arbitration using unitary arithmetic resolution logic and unique logical addresses of competing processors
FR2494010B1 (fr) * 1980-11-07 1986-09-19 Thomson Csf Mat Tel Dispositif d'arbitration decentralisee de plusieurs unites de traitement d'un systeme multiprocesseur
JPS57139861A (en) * 1981-02-25 1982-08-30 Nissan Motor Co Ltd Multicomputer system
US4507727A (en) * 1982-02-11 1985-03-26 Texas Instruments Incorporated Microcomputer with ROM test mode of operation
US4577282A (en) 1982-02-22 1986-03-18 Texas Instruments Incorporated Microcomputer system for digital signal processing
US4490785A (en) * 1982-05-07 1984-12-25 Digital Equipment Corporation Dual path bus structure for computer interconnection
US4503534A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for redundant operation of modules in a multiprocessing system
US4503535A (en) * 1982-06-30 1985-03-05 Intel Corporation Apparatus for recovery from failures in a multiprocessing system
US5023779A (en) * 1982-09-21 1991-06-11 Xerox Corporation Distributed processing environment fault isolation
ZA837618B (en) * 1982-10-15 1984-08-29 Gen Electric Co Plc Data processing systems
US4488228A (en) * 1982-12-03 1984-12-11 Motorola, Inc. Virtual memory data processor
US4527235A (en) * 1983-03-15 1985-07-02 Base Ten Systems, Inc. Subscriber terminal polling unit
JPS59212930A (ja) * 1983-05-18 1984-12-01 Hitachi Ltd 端末主導型電源投入制御方法および制御装置
JPS59212902A (ja) * 1983-05-18 1984-12-01 Hitachi Ltd 多重化制御装置
US4591976A (en) * 1983-06-17 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Multiple task oriented processor
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
JPH0618377B2 (ja) * 1983-09-08 1994-03-09 株式会社日立製作所 伝送系
JPS6069130A (ja) * 1983-09-27 1985-04-19 Toshiba Corp 樹脂封止型半導体装置
JPS60143718A (ja) * 1983-12-30 1985-07-30 Dainippon Screen Mfg Co Ltd 工程看視方法
JPH0776932B2 (ja) * 1984-12-07 1995-08-16 日本電気株式会社 デ−タ伝送方式
US4672530A (en) * 1984-12-17 1987-06-09 Combustion Engineering, Inc. Distributed control with universal program
US4665520A (en) * 1985-02-01 1987-05-12 International Business Machines Corporation Optimistic recovery in a distributed processing system
JPH0727509B2 (ja) * 1985-04-06 1995-03-29 ソニー株式会社 機器内バスを利用した動作制御方法
US4718002A (en) * 1985-06-05 1988-01-05 Tandem Computers Incorporated Method for multiprocessor communications
JP2516906B2 (ja) * 1985-09-20 1996-07-24 カシオ計算機株式会社 デ−タ伝送装置
US4722084A (en) * 1985-10-02 1988-01-26 Itt Corporation Array reconfiguration apparatus and methods particularly adapted for use with very large scale integrated circuits
US4729124A (en) * 1985-12-19 1988-03-01 Concurrent Computer Corporation Diagnostic system
US4710926A (en) * 1985-12-27 1987-12-01 American Telephone And Telegraph Company, At&T Bell Laboratories Fault recovery in a distributed processing system
US4751702A (en) * 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities
US4837739A (en) * 1986-07-25 1989-06-06 Ford Aerospace & Communications Corporation Telemetry data processor
JPH0827738B2 (ja) * 1986-08-15 1996-03-21 株式会社日立製作所 オンラインテスト方法
US4792955A (en) * 1986-08-21 1988-12-20 Intel Corporation Apparatus for on-line checking and reconfiguration of integrated circuit chips
US5146559A (en) * 1986-09-29 1992-09-08 Hitachi, Ltd. System for recognizing program constitution within a distributed processing system by collecting constitution messages generated by different processors
FR2606184B1 (fr) * 1986-10-31 1991-11-29 Thomson Csf Dispositif de calcul reconfigurable
US4799155A (en) * 1986-12-31 1989-01-17 Amdahl Corporation Data processing system having a hierarchy of service computers including a state display
US4970644A (en) * 1987-01-02 1990-11-13 Schlumberger Technology Corporation Reconfigurable well logging system
JPS63284660A (ja) * 1987-05-16 1988-11-21 Nec Corp プロセッサ間通信方式
HUT52263A (en) * 1987-07-10 1990-06-28 Formulab Int Ltd Recognition system
EP0306855A3 (de) * 1987-09-08 1990-08-22 Siemens Aktiengesellschaft Anordnung zum Laden von Parametern in aktiven Modulen eines Rechnersystems
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
EP0317828A3 (de) * 1987-11-23 1990-10-31 Siemens Aktiengesellschaft Serieller Bus in einem Rechnersystem für interne Übertragungen
US5084816A (en) * 1987-11-25 1992-01-28 Bell Communications Research, Inc. Real time fault tolerant transaction processing system
US4872172A (en) * 1987-11-30 1989-10-03 Tandem Computers Incorporated Parity regeneration self-checking
JPH01175056A (ja) * 1987-12-28 1989-07-11 Toshiba Corp プログラム転送方式
US4937741A (en) * 1988-04-28 1990-06-26 The Charles Stark Draper Laboratory, Inc. Synchronization of fault-tolerant parallel processing systems
JP2608593B2 (ja) * 1988-08-26 1997-05-07 ファナック株式会社 故障診断方法
US5247659A (en) * 1988-10-06 1993-09-21 International Computers Limited Method for bootstrap loading in a data processing system comprising searching a plurality of program source devices for a bootstrap program if initial data indicating a bootstrap program source device fails a validity check
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4970724A (en) * 1988-12-22 1990-11-13 Hughes Aircraft Company Redundancy and testing techniques for IC wafers
US5283868A (en) * 1989-05-17 1994-02-01 International Business Machines Corp. Providing additional system characteristics to a data processing system through operations of an application program, transparently to the operating system
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
US5369749A (en) * 1989-05-17 1994-11-29 Ibm Corporation Method and apparatus for the direct transfer of information between application programs running on distinct processors without utilizing the services of one or both operating systems
US5325517A (en) * 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5369767A (en) * 1989-05-17 1994-11-29 International Business Machines Corp. Servicing interrupt requests in a data processing system without using the services of an operating system
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US5144692A (en) * 1989-05-17 1992-09-01 International Business Machines Corporation System for controlling access by first system to portion of main memory dedicated exclusively to second system to facilitate input/output processing via first system
US5202980A (en) * 1989-06-30 1993-04-13 Nec Corporation Information processing system capable of readily taking over processing of a faulty processor
US5283900A (en) * 1989-10-02 1994-02-01 Spectron Microsystems, Inc. Real-time operating system and virtual digital signal processor for the control of a digital signal processor
JP2839590B2 (ja) * 1989-11-10 1998-12-16 株式会社東芝 命令割り当て装置及び命令割り当て方法
US5095444A (en) * 1989-12-21 1992-03-10 Legent Corporation System and method for measuring inter-nodal transmission delays in a communications network
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
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
US6941481B2 (en) * 1990-03-23 2005-09-06 Matsushita Electric Industrial Co., Ltd. Data processing apparatus
KR920005798A (ko) * 1990-04-18 1992-04-03 미타 가쓰시게 반도체 집적회로
US5289589A (en) * 1990-09-10 1994-02-22 International Business Machines Corporation Automated storage library having redundant SCSI bus system
JPH0648477B2 (ja) * 1990-09-17 1994-06-22 日通工株式会社 マルチプロセッサシステムにおけるバス獲得方法
US5255388A (en) * 1990-09-26 1993-10-19 Honeywell Inc. Synchronizing slave processors through eavesdrop by one on a write request message directed to another followed by comparison of individual status request replies
US5471623A (en) * 1991-02-26 1995-11-28 Napolitano, Jr.; Leonard M. Lambda network having 2m-1 nodes in each of m stages with each node coupled to four other nodes for bidirectional routing of data packets between nodes
US5825773A (en) * 1991-03-20 1998-10-20 Hitachi, Ltd. Switching system for transferring broadcast packet held in broadcast buffer received from input port to output ports according to the state of each output port
GB9109595D0 (en) * 1991-05-02 1991-06-26 Thomson Consumer Electronics Polling for detection of power supply or other failures of a digital circuit
CA2068048A1 (en) * 1991-05-06 1992-11-07 Douglas D. Cheung Fault tolerant processing section with dynamically reconfigurable voting
JP3189903B2 (ja) * 1991-06-03 2001-07-16 富士通株式会社 ケーパビリティの退避・復元機構を持つ装置
JP3679813B2 (ja) * 1991-07-22 2005-08-03 株式会社日立製作所 並列計算機
US5421002A (en) * 1991-08-09 1995-05-30 Westinghouse Electric Corporation Method for switching between redundant buses in a distributed processing system
JPH05298134A (ja) * 1991-12-16 1993-11-12 Internatl Business Mach Corp <Ibm> コンピュータシステムにおける処理誤りの処理機構及び方法
US5313628A (en) * 1991-12-30 1994-05-17 International Business Machines Corporation Component replacement control for fault-tolerant data processing system
US5428769A (en) * 1992-03-31 1995-06-27 The Dow Chemical Company Process control interface system having triply redundant remote field units
JPH05314075A (ja) * 1992-05-07 1993-11-26 Nec Corp オンラインコンピュータ装置
GB2268373A (en) * 1992-06-20 1994-01-05 Ibm Error recovery in an information communication system
US5758053A (en) * 1992-07-22 1998-05-26 Hitachi, Ltd. Fault handling and recovery for system having plural processors
US5430848A (en) * 1992-08-14 1995-07-04 Loral Fairchild Corporation Distributed arbitration with programmable priorities
JPH06214969A (ja) * 1992-09-30 1994-08-05 Internatl Business Mach Corp <Ibm> 情報通信方法および装置
SE500940C2 (sv) * 1993-02-10 1994-10-03 Ellemtel Utvecklings Ab Sätt och system för att i ett distribuerat operativsystem demontera en kedja av sammanlänkade processer
JPH06243064A (ja) * 1993-02-12 1994-09-02 Honda Motor Co Ltd コンピュータネットワークの障害検出システム
US5919266A (en) * 1993-04-02 1999-07-06 Centigram Communications Corporation Apparatus and method for fault tolerant operation of a multiprocessor data processing system
JPH0793273A (ja) * 1993-09-20 1995-04-07 Fujitsu Ltd 障害監視機構を具備したマルチcpuシステム
EP0653708B1 (de) * 1993-10-15 2000-08-16 Hitachi, Ltd. Logischer Schaltkreis mit Fehlernachweisfunktion, Verfahren zum Verwalten von Betriebsmitteln und fehlertolerantes System zu seiner Anwendung
US5561759A (en) * 1993-12-27 1996-10-01 Sybase, Inc. Fault tolerant computer parallel data processing ring architecture and work rebalancing method under node failure conditions
DE4420425B4 (de) * 1994-06-10 2006-06-01 Bayerische Motoren Werke Ag Elektronisches Verbundsystem in Kraftfahrzeugen mit identisch aufgebauten elektrischen Unterverteilungseinrichtungen
US5644700A (en) * 1994-10-05 1997-07-01 Unisys Corporation Method for operating redundant master I/O controllers
SE517194C2 (sv) * 1994-12-29 2002-05-07 Ericsson Telefon Ab L M Magasinrelaterat bussarrangemang
DE19509558A1 (de) * 1995-03-16 1996-09-19 Abb Patent Gmbh Verfahren zur fehlertoleranten Kommunikation unter hohen Echtzeitbedingungen
US5842014A (en) * 1995-06-14 1998-11-24 Digidesign, Inc. System and method for distributing processing among one or more processors
US6009507A (en) * 1995-06-14 1999-12-28 Avid Technology, Inc. System and method for distributing processing among one or more processors
US5974562A (en) * 1995-12-05 1999-10-26 Ncr Corporation Network management system extension
GB9606833D0 (en) * 1996-03-30 1996-06-05 Int Computers Ltd Multi-processor system
US6005920A (en) * 1997-01-03 1999-12-21 Ncr Corporation Call center with fault resilient server-switch link
US6266342B1 (en) * 1998-04-08 2001-07-24 Nortel Networks Limited Adaption resource module and operating method therefor
JP3687373B2 (ja) * 1998-12-04 2005-08-24 株式会社日立製作所 高信頼分散システム
US6535520B1 (en) * 1998-08-14 2003-03-18 Cisco Technology, Inc. System and method of operation for managing data communication between physical layer devices and ATM layer devices
DE19915253A1 (de) * 1999-04-03 2000-10-05 Bosch Gmbh Robert Verfahren und Vorrichtung zum Betreiben eines verteilten Steuersystems in einem Fahrzeug
US7017861B1 (en) 2000-05-22 2006-03-28 Saab Ab Control system for actuators in an aircraft
US20020029384A1 (en) 2000-07-20 2002-03-07 Griggs Theodore L. Mechanism for distributing content data
US20020053081A1 (en) * 2000-10-31 2002-05-02 Digitaldeck, Inc. Adaptable programming guide for networked devices
US20060259926A1 (en) 2000-07-20 2006-11-16 Digital Deck, Inc. Adaptable programming guide for networked devices
US6854072B1 (en) 2000-10-17 2005-02-08 Continuous Computing Corporation High availability file server for providing transparent access to all data before and after component failover
US20030014465A1 (en) * 2001-07-16 2003-01-16 Antonio Mugica True distributed control
DE10152235B4 (de) * 2001-10-20 2015-01-08 Robert Bosch Gmbh Verfahren zum Erkennen von Fehlern bei der Datenübertragung innerhalb eines CAN-Controllers und ein CAN-Controller zur Durchführung dieses Verfahrens
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US20080222234A1 (en) * 2002-05-23 2008-09-11 Benoit Marchand Deployment and Scaling of Virtual Environments
US7505486B2 (en) * 2002-11-19 2009-03-17 Hewlett-Packard Development Company, L.P. Degradable network data path transmission scheme
DE10323369A1 (de) * 2003-05-21 2004-12-16 Vodafone Holding Gmbh Überwachungs- und Koordinierungseinrichtung in einem Computernetzwerk
US8775997B2 (en) 2003-09-15 2014-07-08 Nvidia Corporation System and method for testing and configuring semiconductor functional circuits
US8872833B2 (en) * 2003-09-15 2014-10-28 Nvidia Corporation Integrated circuit configuration system and method
US8732644B1 (en) 2003-09-15 2014-05-20 Nvidia Corporation Micro electro mechanical switch system and method for testing and configuring semiconductor functional circuits
US7251753B2 (en) * 2003-09-17 2007-07-31 International Business Machines Corporation Apparatus, system, and method for identifying a faulty communication module
DE10345981B4 (de) * 2003-10-02 2007-10-18 Qimonda Ag Schaltungsvorrichtung zur Datenverarbeitung und Verfahren zum Verbinden eines Schaltungskernmoduls mit einem externen Schaltungsmodul
US8711161B1 (en) 2003-12-18 2014-04-29 Nvidia Corporation Functional component compensation reconfiguration system and method
US7584420B2 (en) * 2004-02-12 2009-09-01 Lockheed Martin Corporation Graphical authoring and editing of mark-up language sequences
US7801702B2 (en) 2004-02-12 2010-09-21 Lockheed Martin Corporation Enhanced diagnostic fault detection and isolation
US8723231B1 (en) * 2004-09-15 2014-05-13 Nvidia Corporation Semiconductor die micro electro-mechanical switch management system and method
US20060120181A1 (en) * 2004-10-05 2006-06-08 Lockheed Martin Corp. Fault detection and isolation with analysis of built-in-test results
US20060085692A1 (en) * 2004-10-06 2006-04-20 Lockheed Martin Corp. Bus fault detection and isolation
JP4182948B2 (ja) * 2004-12-21 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
US20080052281A1 (en) 2006-08-23 2008-02-28 Lockheed Martin Corporation Database insertion and retrieval system and method
US7427025B2 (en) * 2005-07-08 2008-09-23 Lockheed Marlin Corp. Automated postal voting system and method
TW200745873A (en) * 2006-06-05 2007-12-16 Dmp Electronics Inc Dual computers for backup and being fault-tolerant system architecture
US8724483B2 (en) * 2007-10-22 2014-05-13 Nvidia Corporation Loopback configuration for bi-directional interfaces
US20090186344A1 (en) * 2008-01-23 2009-07-23 Caliper Life Sciences, Inc. Devices and methods for detecting and quantitating nucleic acids using size separation of amplicons
US8811497B2 (en) * 2009-06-24 2014-08-19 Vixs Systems, Inc Processing system with register arbitration and methods for use therewith
US9832939B2 (en) 2010-01-21 2017-12-05 Austin Russell Systems and methods for water harvesting and recycling
US9331869B2 (en) 2010-03-04 2016-05-03 Nvidia Corporation Input/output request packet handling techniques by a device specific kernel mode driver
US20140156120A1 (en) * 2012-11-30 2014-06-05 Electro-Motive Diesel, Inc. Monitoring and failover operation within locomotive distributed control system
US8996953B2 (en) 2013-03-01 2015-03-31 International Business Machines Corporation Self monitoring and self repairing ECC
US9230687B2 (en) 2013-04-22 2016-01-05 International Business Machines Corporation Implementing ECC redundancy using reconfigurable logic blocks
US9760420B1 (en) * 2014-09-03 2017-09-12 Amazon Technologies, Inc. Fleet host rebuild service implementing vetting, diagnostics, and provisioning pools
US10481963B1 (en) * 2016-06-29 2019-11-19 Amazon Technologies, Inc. Load-balancing for achieving transaction fault tolerance
US20210397454A1 (en) * 2020-06-18 2021-12-23 Intel Corporation Instruction to vectorize loops with backward cross-iteration dependencies

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3905023A (en) * 1973-08-15 1975-09-09 Burroughs Corp Large scale multi-level information processing system employing improved failsaft techniques
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4209838A (en) * 1976-12-20 1980-06-24 Sperry Rand Corporation Asynchronous bidirectional interface with priority bus monitoring among contending controllers and echo from a terminator
DE2741379A1 (de) * 1977-09-14 1979-03-15 Siemens Ag Rechnersystem
IT1111606B (it) * 1978-03-03 1986-01-13 Cselt Centro Studi Lab Telecom Sistema elaborativo modulare multiconfigurabile integrato con un sistema di preelaborazione
DE2824557C2 (de) * 1978-06-05 1983-01-20 Siemens AG, 1000 Berlin und 8000 München Anordnung in Mikroprozessoren für den Aufbau von Multiprozessor-Systemen
JPS5947908B2 (ja) * 1978-09-08 1984-11-22 富士通株式会社 障害処理方式
JPS605028B2 (ja) * 1978-11-09 1985-02-07 富士通株式会社 複合デ−タ処理ユニツト・デ−タ処理装置

Also Published As

Publication number Publication date
GB8333623D0 (en) 1984-01-25
GB2166271B (en) 1986-08-28
NL8103136A (nl) 1982-02-01
JPS5750064A (en) 1982-03-24
FR2486682A1 (fr) 1982-01-15
JPS636894B2 (de) 1988-02-12
FR2486682B1 (fr) 1988-08-12
GB2079997B (en) 1985-06-26
DE3127349A1 (de) 1982-09-16
GB2079997A (en) 1982-01-27
GB2166271A (en) 1986-04-30
US4412281A (en) 1983-10-25
CA1176337A (en) 1984-10-16

Similar Documents

Publication Publication Date Title
DE3127349C2 (de)
DE2908316C2 (de) Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage
DE3114961C2 (de)
EP0048767B1 (de) Prioritätsstufengesteuerte Unterbrechungseinrichtung
DE2847216C2 (de) Datenverarbeitungsanlage mit Mehrprogrammbetrieb
DE2657848C2 (de)
DE3606211A1 (de) Multiprozessor-computersystem
DE2755952C2 (de)
DE2750721A1 (de) Ein/ausgabe-system
EP0952520B1 (de) Vorrichtung zur fehlertoleranten Ausführung von Programmen
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE4208924A1 (de) Verfahren zur kommunikation zwischen prozessoren und parallelverarbeitungscomputer hierfuer
DE2612139A1 (de) Ein/ausgang-steuerungssystem
DE2751106C2 (de)
DE3114934A1 (de) Zentrales subsystem fuer eine datenverarbeitungsanlage
DE2755371A1 (de) Ein/ausgabe-verarbeitungssystem
DE2611907A1 (de) Dv-system mit einer prioritaets- unterbrechungs-anordnung
DE2243956A1 (de) Speicherprogrammierte datenverarbeitungsanlage
DE3741850A1 (de) Ausfuehrungseinheit fuer einen i/o-prozessor
DE2523372B2 (de) Eingabe-ZAusgabe-Anschlußsteuereinrichtung
DE1929010B2 (de) Modular aufgebaute datenverarbeitungsanlage
DE2461592B2 (de) Anordnung zur Durchführung von Wartungsoperationen bei einem Datenverarbeitungssystem
DE19780639C2 (de) Arbeitsübernahmesystem
DE69817852T2 (de) Speicherschutzsystem für ein multitaskingsystem
DE3138989A1 (de) Zusaetzliche funktionseinheit in einem mikroprozessor, mikroprozessorsystem und verfahren zu seinem betrieb

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
D2 Grant after examination
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee