DE3508291A1 - Realzeit-datenverarbeitungssystem - Google Patents

Realzeit-datenverarbeitungssystem

Info

Publication number
DE3508291A1
DE3508291A1 DE19853508291 DE3508291A DE3508291A1 DE 3508291 A1 DE3508291 A1 DE 3508291A1 DE 19853508291 DE19853508291 DE 19853508291 DE 3508291 A DE3508291 A DE 3508291A DE 3508291 A1 DE3508291 A1 DE 3508291A1
Authority
DE
Germany
Prior art keywords
data
node
address
nodes
memory
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.)
Granted
Application number
DE19853508291
Other languages
English (en)
Other versions
DE3508291C2 (de
Inventor
James Colin Caterham Surrey Dann
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.)
Sun Microsystems Inc
Original Assignee
Rediffusion Simulation Ltd Crawley Sussex
Thales Training and Simulation Ltd
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
Priority claimed from GB848406322A external-priority patent/GB8406322D0/en
Priority claimed from GB848420617A external-priority patent/GB8420617D0/en
Application filed by Rediffusion Simulation Ltd Crawley Sussex, Thales Training and Simulation Ltd filed Critical Rediffusion Simulation Ltd Crawley Sussex
Publication of DE3508291A1 publication Critical patent/DE3508291A1/de
Application granted granted Critical
Publication of DE3508291C2 publication Critical patent/DE3508291C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Description

Anmelder; Stuttgart, den 7.3-1985
REDIFFUSION SIMULATION Ltd. P 4661 S/Ho
Gatwick Road
Crawley, Sussex, RH1O 2RL
England
Vertreter:
Patentanwälte
Kohler-Schwindling-Späth
Hohentwielstraße 41
7000 Stuttgart 1
Realzeit-Datenverarbeitungssystem
Die Erfindung bezieht sich auf ein Datenverarbeitungs-System, das zwei oder mehr Datenverarbeitungs-Einheiten umfaßt, welche zu den gleichen Daten Zugriff haben. Jede
""/ ·■■··■ ■■■-■
Datenverarbeitungs-Einheit kann ein im wesentlichen unabhängiger Rechner sein oder mit einem oder mehreren anderer Datenverarbeitungs-Einheiten zusammenwirken. Im folgenden werden Datenverarbeitungs-Einheiten beider Arten als "Knoten" und Daten, zu denen zwei oder mehr Knoten Zugriff haben, als "gemeinsame Daten" bezeichnet.
Bei einem bekannten System, das beispielsweise für Plugsimulatoren benutzt wird, befinden sich gemeinsame Daten in einem gemeinsamen Datenspeicher, der für zwei oder mehr Knoten zugänglich ist. Jeder Knoten kann auch seinen eigenen lokalen Speicher haben, in dem sich Daten befinden, zu denen nur der jeweilige Knoten Zugriff hat. Bei einem solchen System besteht ein Problem darin, daß die Knoten im Wettbewerb stehen, um Zugriff zu dem gemeinsamen Speicher zu erhalten, und es kann daher zu einem Konflikt zwischen zwei oder mehr Knoten kommen, die gleichzeitig den Versuch machen, zum gleichen Teil der gemeinsamen Daten in dem gemeinsamen Speicher zuzugreifen. Weiterhin entstehen beträchtliche Übertragungsverzögerungen zwischen dem gemeinsamen Speicher und davon relativ weit entfernten Knoten. Als Ergebnis kann der Zugriff zu den gemeinsamen Daten sehr langsam sein.
Die US-PS 3 Ö89 237 beschreibt ein System mit zwei Knoten, in dem jeder Knoten in seinem eigenen lokalen Speicher eine Kopie der gemeinsamen Daten aufnimmt. Um zu gewährleisten, daß beide Kopien in Übereinstimmung bleiben, hat jeder Knoten direkten Zugriff zum lokalen Speicher des anderen Knotens, so daß ein neuer Wert der gemeinsamen Daten in beide Speicher gleichzeitig eingeschrieben werden kann. Bei diesem bekannten System besteht ein Problem darin, daß ein
Konflikt zwischen den Knoten entsteht, wenn beide den Versuch machen, zu dem gleichen Teil der gemeinsamen Daten gleichzeitig zuzugreifen, und es muß jeder Knoten abwarten, bis alle Schreibvorgänge bezüglich der gemeinsamen Datenteile in den lokalen Speichern abgeschlossen sind, bevor er seine Datenverarbeitung fortsetzen kann. Hierdurch wird die Effizienz des Systems erheblich beeinträchtigt. Hierin liegt auch ein Grund, daß es schwierig ist, das bekannte System auf mehr als zwei Knoten auszudehnen.
Die EP-OS O 092 895 beschreibt ein anderes System, in dem jeder Knoten einen eigenen lokalen Speicher aufweist, in welchem die gemeinsamen Daten gespeichert sind. Die Knoten sind durch eine Datenstrecke miteinander verbunden, und es erzeugt jeder Knoten, wenn er Daten an einer Adresse seines lokalen Speichers einschreibt, an der sich gemeinsame Daten befinden, auch eine Nachricht, welche die Schreibdaten und diese Adressen enthält. Die Nachricht wird der Datenstrecke zugeführt, und es benutzen die anderen Knoten die Schreibdaten dazu, in ihren lokalen Speichern die Daten an den angegebenen Adressen zu berichtigen. Jeder Knoten setzt die Datenverarbeitung fort, nachdem die gemeinsamen Daten an einer Adresse eingeschrieben worden sind, und braucht nicht abzuwarten, daß die Schreibdatennachricht die anderen Knoten erreicht. Die Datenstrecke ist als Ring mit umlaufender Marke (Token-Ring) organisiert, der mit nur einer Marke arbeitet, so daß sich zu jeder Zeit auch nur eine Marke auf dem Ring befinden kann. Demgemäß empfängt jeder Knoten Nachrichten in der gleichen Folge, wodurch eine zeitliche Ordnung für die Nachrichten hergestellt wird, selbst wenn die einzelnen Knoten asynchron arbeiten. Wenn jedoch ein erster Knoten eine Schreibdatennachricht von einem zweiten
Knoten empfängt, während der erste Knoten noch immer eine offenstehende Schreibdatennachricht zu übertragen hat, kann die empfangene Nachricht die Datenadresse überschreiben, an der bereits Daten von dem zweiten Knoten eingeschrieben worden sind. Die Datenadresse würde dann durch einen zeitlich früher liegenden Wert überschrieben und es wären die Daten, welche sich in den Speichern für die gemeinsamen Daten der verschiedenen Knoten befinden, nicht übereinstimmend. Um ein solches Geschehen zu verhindern, wird der Prozessor des zweiten Knotens angehalten, bis eine Freigabe bezüglich der ausstehenden Nachricht oder Nachrichten erfolgt. Das Anhalten des Prozessors verlangsamt offensichtlich die Operationsgeschwindigkeit des Systems. Hierin besteht ein erhebliches Problem, wenn ein starker Austausch von Nachrichten erforderlich ist.
Bei Realzeit-Datenverarbeitungssystemen, wie sie bei Trainings-Flugsimulatoren benutzt werden, ist die Geschwindigkeit, mit der das System arbeitet, von grundlegender Bedeutung. Es sind Realzeit-Datenverarbeitungssysteme bekannt, bei denen jeder von mehreren Knoten eine bestimmte Funktion ausübt, jedoch innerhalb eines Zeitrahmens, der dem System von einem Steuerrechner aufgezwungen wird. Beispiele für solche Systeme sind in den US-PSen 4 414 624 und 4 351 025 beschrieben.
Bei dem System nach der US-PS 4 414 624 wird die zeitliche Folge der Knotenoperationen von dem Steuerrechner gemäß der erforderlichen Datenverarbeitung bestimmt. Zu Beginn jedes Programmabschnittes, beispielsweise der Erzeugung eines Bildes oder Halbbildes, wird jedem Knoten ein Zeitsteuerwort zugeführt, um die für die Verarbeitung zur Verfügung stehen-
■■/Τ ■·■■·■■ ■■····-■
de Zeit festzulegen. Jeder Knoten besitzt einen lokalen Speicher für gemeinsame Daten und kann sowohl in jeden beliebigen einzelnen und auch gleichzeitig in alle lokalen Speicher der anderen Knoten einschreiben. Zunächst werden alle Daten in einen gemeinsamen Speicher eingeschrieben und dann die erforderlichen Daten von dem gemeinsamen Speicher auf die lokalen Speicher übertragen. Demnach erfordert die Erneuerung jedes Datensatzes in einem lokalen Speicher sowohl ein Einschreiben der Daten in den gemeinsamen Speicher und ein Auslesen der Daten für die lokalen Speicher. Durch diese beiden Verarbeitungsschritte wird die Arbeitsgeschwindigkeit des Systems stark vermindert.
Bei dem System nach der US-PS 4 351 025 sind die Realzeit-Operationen der Knoten und des System-Steuerrechners ohne Überlappung miteinander verschachtelt. Die Schreibdaten von den Knoten werden während des Zeitabschnittes verteilt, während dem der System-Steuerrechner arbeitet. Diese Anordnung ist relativ einfach zu verwirklichen, jedoch relativ langsam beim Arbeiten, da zwei Teile des Systems abwechselnd und infolgedessen nicht fortlaufend arbeiten.
Demgemäß ist in bekannten Systemen, einschließlich Realzeit-Systemen, ein strenges Operationsschema vorgesehen, um die Übereinstimmung der gemeinsamen Daten in getrennten lokalen Speichern zu gewährleisten. Ein solches starres Operationsschema beschränkt notwendigerweise die Arbeitsgeschwindigkeit und die Flexibilität solcher Systeme.
Der Erfindung liegt die Aufgabe zugrunde, die oben angegebenen Probleme zu vermeiden oder wenigstens zu mildern.
Nach der vorliegenden Erfindung erfolgt die Lösung dieser Aufgabe durch ein Realzeit-Datenverarbeitungssystem mit wenigstens zwei Verarbeitungs-Knoten, mit einem Datenspeicher für jeden der beiden Knoten, von denen jeder Datenspeicher in Abschnitte unterteilt ist, von denen ein erster zum Speichern der dem Knoten zugeordneten Daten und ein zweiter zum Speichern von zwischen den Knoten auszutauschenden Daten reserviert ist, mit einer die Knoten verbindenden Datenstrecke, mit einer Einrichtung an jedem Knoten, die immer dann, wenn der Knoten an einer Adresse im zweiten Abschnitt eines Datenspeichers einschreibt, eine Schreibnachricht erzeugt, die eine Adresse und an dieser Adresse einzuschreibende Daten umfaßt, mit einer Einrichtung zur Übertragung jeder erzeugten Nachricht über die Datenstrecke zu jedem der Knoten, mit einer Einrichtung zum Zuordnen eines Knotens als Hauptknoten zu allen in den zweiten Abschnitten der Datenspeicher enthaltenen Adressen und mit einer Einrichtung, die verhindert, daß Daten an irgendeine Adresse des zweiten Abschnittes eines Datenspeichers auf andere Weise als von dem zugeordneten Knoten eingeschrieben werden.
Da an allen Adressen der Datenspeicher, die für die Knoten gemeinsame Daten enthalten, nur von einem Knotenprozessor eingeschrieben werden kann, ist es nicht erforderlich, eine starre Steuerung bezüglich der Priorität von Schreibnachrichten einzuführen, um zu gewährleisten, daß die gemeinsamen Daten nicht verfälscht werden. Auf diese Weise kann die Operationsgeschwindigkeit des Systems erhöht werden. Zusätzlich erlaubt es den Parallelbetrieb einer großen Anzahl von Knoten unter Verwendung üblicher Verarbeitungseinheiten ohne komplizierte Betriebsverfahren. Daher können Realzeit-Systeme, die unterschiedlichen Forderungen in einem weiten Be-
reich genügen, relativ leicht erstellt werden. Beispielsweise erstreckt sich die Anwendung der vorliegenden Erfindung auf Plug- und andere Simulatoren, Prozeßsteuersysteme und Feuerleitsysteme.
Vorzugsweise wird für jeden Knoten ein Adressen-Komparator zum Vergleich der Adresse einer von dem jeweiligen Knoten erzeugten Schreibnachricht mit einem vorgegebenen Adreßbereich vorgesehen, welcher Adressen-Komparator die Daten-Schreibnachricht auf die Datenstrecke nur dann überträgt, wenn sich die verglichene Adresse in dem vorgegebenen Adreßbereich befindet. Auf diese Weise findet mittels des Adressen-Komparators eine effektive Bestimmung statt, an welchen Adressen der gemeinsamen Daten in den entsprechenden Knoten eingeschrieben werden kann. Für jeden Knoten kann ein weiterer Adressen-Komparator vorgesehen sein, der dazu dient, die Adresse einer von der Datenstrecke empfangenen Daten-Schreibnachricht mit einem vorgegebenen Adreßbereich zu vergleichen, und der die empfangene Daten-Schreibnachricht auf den lokalen Datenspeicher nur dann überträgt, wenn sich die verglichene Adresse innerhalb des vorgegebenen Adreßbereiches befindet. Demgemäß bestimmt der weitere Adressen-Komparator die Adresse innerhalb eines lokalen Speichers, an deren von der Datenstrecke zugeführte Daten eingeschrieben werden können.
Die Knoten können mittels einer einzigen Datenstrecke oder auch mittels mehrerer Datenstrecken parallel geschaltet sein. Es können auch weiterhin komplexere Systerastrukturen geschaffen werden. Beispielsweise können die Knoten in eine Anzahl Gruppen unterteilt sein, wobei die Knoten jeder Gruppe durch eine entsprechende Datenstrecke parallel ge-
schaltet sind und wenigstens einer der Knoten zwei Gruppen angehört. Bei einer solchen Anordnung ist der die gemeinsamen Daten aufnehmende Abschnitt des Datenspeichers, der zu dem zwei Gruppen zugeordneten Knoten gehört, in eine Anzahl Teilabschnitte unterteilt, von denen jeder Daten aufnimmt, die den Knoten einer jeweiligen Knotengruppe gemeinsam sind. Ein entsprechendes Programm steuert die Übertragung von Daten von einem Teilabschnitt zum anderen, wenn Daten zwei Knotengruppen gemeinsam sind.
Vorzugsweise wird ein weiterer Speicher mit der Datenstrecke verbunden, in den Eingangs/Ausgangs-Daten von den Knoten eingeschrieben werden können. Diesem Zweck zugeordnete Adressen würden dann in den lokalen Datenspeichern der Knoten gebildet, aus denen Daten ausgelesen und denen Daten über die Datenstrecke zugeschrieben werden können.
Unter Bezugnahme auf die beigefügte Zeichnung werden nun Ausführungsforraen der Erfindung als Beispiele beschrieben. Jis zeigen:
Fig. 1 das Blockschaltbild eines bekannten Datenverarbeitungssystems,
Fig. 2 das Blockschaltbild einer Ausführungsform der Erfindung,
Fig. 3 eine schematische Darstellung der von dem Datenbus des Datenverarbeitungssystems nach Fig. 2 gebildeten Leitungen,
Pig. 4 das Blockschaltbild der Lese/Schreib-Abtasteinrichtung des Datenverarbeitungssystems nach Fig. 2 und
Fig. 5 bis 9 alternative Strukturen für Datenverarbeitungssysteme nach der Erfindung.
Das in Fig. 1 dargestellte Datenverarbeitungssystem ist handelsüblich und beruht auf dem Rechner 32/27 der Firma GOULD Computer Systems Division. Eine Zentraleinheit (CPU) 1 liegt an einem 26,6 MB/sec-Rechnerbus 2, der als "SELBUS" bekannt ist und bei dem es sich um einen schnellen Koramunikationsbus handelt. Ein Datenspeicher in Form eines integrierten Speichermoduls (IMM) 3 bildet einen Speicher mit einer Kapazität von 1 MB und der zugeordneten Speicher-Steuerlogik. Eine IOP-Einheit 4 bildet eine Steuerung, welche eine Systemkonsole 5 trägt und bildet die Hauptsteuerung für einen 1 MB/sec Mehrzweckbus (MPBUS) 6.
Schnelle Geräte wie Platten- oder Bandsteuerungen 7 und Interfaces für schnelle Geräte (HSDl) 8 sind an den Seilbus 2 angeschlossen. Langsame Peripheriegeräte wie beispielsweise eine 8-bit-Asynchronsteuerung 9» wie sie beispielsweise zum Betreiben eines Bildschirmes erforderlich ist, sowie eine Drucker- und/oder Diskettensteuerung 10 sind an den MPBUS 6 angeschlossen. Die Ausdrücke SELBUS, IMM, TOP, MPBUS, IPU und HSDI sind die gleichen, welche vom Hersteller benutzt werden, um die Elemente des bekannten Rechnersystems GOULD 32/27 zu beschreiben, und es können für entsprechende Komponenten von anderen Herstellern anderer Ausdrücke be-
nutzt werden. Die GOULD-Nomenklatur wird hier lediglich um der Einfachheit willen benutzt.
Ein nach der Erfindung ausgebildetes System ist in Fig. 2 dargestellt. Das dargestellte System umfaßt wiederum eine Anzahl Zentraleinheiten 11, die auf einem GOULD-Rechner 32/-27 basieren. Jede Zentraleinheit hat ihren eigenen SELBUS 12 und arbeitet bezüglich der anderen asynchron. Die Zentraleinheiten treiben keine periferen Geräte an, sondern sind mit einer weiteren CPU 13 verbunden, die mit einer vollständigen Ausrüstung periferer Geräte versehen ist. Jede der Zentraleinheiten 11 behandelt die Verarbeitung, welche zu einem speziellen Aspekt des Systems gehört. Beispielsweise würde in einem Flugsimulator eine Zentraleinheit 11 die Flugparameter berechnen, beispielsweise die Höhe, eine andere Einheit 11 würde die Triebwerksparameter, wie beispielsweise den Schub, eine andere Zentraleinheit 11 die Parameter des Autopiloten berechnen usw. Jede der Zentraleinheiten 11, 13 und das ihr zugeordnete Zubehör, wie beispielsweise Datenspeicher, bilden einen Knoten des Systems.
Da die Rechenknoten bildenden Zentraleinheiten 11 keine peripheren Geräte antreiben, ist die Eingabe/Ausgabe-Kapazität dieser Knoten begrenzt. Alle langsamen Eingabe/Ausgabe-Operationen werden durch die Zentraleinheit 13 am vorderen Ende des Systems ausgeführt. Hierdurch wird die in der Realzeit zur Verfügung stehende Rechenleistung jedes Rechenknotens maximiert. Ein sekundärer RS 232 Kanal, der eine Anzahl RS 232 Leitungen umfaßt, ermöglicht Initialisierungs- und Steuerfunktionen sowie auch eine Fehlerdiagnose beim Ausfall des·Systems.
Jede GPU 11 wird unterstützt durch eine Anzahl gleicher paralleler Prozessoreinheiten (PPU) 14. Jede Prozessoreinheit 14 ist gleich der GOULD Internal Processor Unit (IPU), die sich in den GOULD-Rechnern 32/27, 32/67 und 32/87 findet, jedoch nach üblichen Methoden erweitert, damit mehr als zwei 32/27-Prozessoren an einen SELBUS 12 angeschlossen werden können.
Jeder Zentraleinheit 11 ist eine unbesetzte Steuerkonsole (unattended operators console UOC) 15 zugeordnet. Die Steuerkonsole 15 ist im wesentlichen eine IOP (Fig. 1) mit zusätzlicher Logik, um die Notwendigkeit für einen MPBUS zu vermeiden, wie er normalerweise vorgesehen wird, wenn periphere Geräte zu betreiben sind.
Der SELBUS 12 jeder CPU 11, 13 ist über ein DPIMM 16 (doppelte-IMM) und eine Lese/Schreib-Abtastlogik 17 mit einer 26,6 MB/sec Datenstrecke 18 als reflektierendem Speicherbus verbunden. Das DPIMM 16 ist von der Firma GOULD erhältlich und normalerweise so angeordnet, daß das zweite Tor mit peripheren Einrichtungen verbunden ist, beispielsweise zu Eingabe/Ausgabe-Zwecken. Bei dem dargestellten System ist jedoch das DPIMM 16 dazu benutzt, das Herstellen eines "reflektierenden Speichersystems" nach der Erfindung zu schaffen.
Das Prinzip des dargestellten reflektierenden Speichersystems besteht darin, daß jeder DPIMM-Datenspeicher 16 mit einer Speicherkapazität von 2 MB an einer vorgegebenen Stelle logisch unterteilt ist. Alle Daten und Programme, die zu einer Seite der vorgegebenen Stelle angeordnet sind, gehören lokal zum SELBUS 12 der Einheit 11 oder 13, an
welche das DPIMM 16 angeschlossen ist, während alle Daten und Programme an der anderen Seite dieser Stelle über den DPIMM-BUS 18 mit anderen Einheiten 11, 13 geteilt werden. Die Lese/Schreib-Abtastlogik 17 wandelt die Verwendung des DPIMM 16 in ein lokales/gemeinsames System um. Die Lese/-Schreib-Abtastlogik 17 ist mit dem zweiten Anschluß jedes DPIMM 16 verbunden. Wenn eine CPU 13, 11 (oder PPU 14) an einer Adresse im gemeinsamen Teil des zugeordneten DPIMM 16 einschreibt, wird dieser Vorgang von der Lese/Schreib-Abtastlogik 17 festgestellt und es werden die Adresse und Daten auf den reflektierenden Speicherbus 18 gegeben. Dann nehmen automatisch alle DPIMMs 16 diese Daten an und geben sie in ihren eigenen Speicher ein. Es haben dann alle DPIMMs 16 eine Kopie aller gemeinsamen Daten in ihren eigenen Speichern. Jede Prozessoreinheit hat dann zu den benötigten Daten direkt in ihrem jeweiligen Datenspeicher (DPIMM 16) Zugriff. Der Zugriff wird niemals dadurch verzögert, daß andere Prozessoren zu dem gleichen Datenspeicher Zugriff nehmen.
Es ist von grundsätzlicher Bedeutung, daß "Kollisionen" vermieden werden, die darauf zurückzuführen sind, daß zwei oder mehr Prozessoren versuchen, die gleichen Daten gleichzeitig zu verarbeiten. Hierzu dient die Lese/Schreib-Logik 17, die, wie oben beschrieben, dazu verwendet wird, einen einzigen Schreibbefehl allen anderen Knoten des Systems zuzuführen. Jeder Knoten hat seine eigene, einzigartige Adreßunterteilung, so daß nur ein Knoten in der Lage ist, Daten an jede Adresse in den gemeinsamen Abschnitten der Datenspeicher einzuschreiben. Die Adresse für ein Datenwort in einem Datenspeicher 16 ist die gleiche wie die Adresse
für das gleiche Datenwort in allen anderen Datenspeichern 16. Obwohl also alle Knoten in der Lage sein können, in die gemeinsamen Datenabschnitte aller Datenspeicher 16 einzuschreiben, sind die einzigen Transaktionen, die tatsächlich solches vollbringen, diejenigen, deren Adressen für einzuschreibende Daten sich innerhalb des Speicherabschnittes befinden, über welche dieses System "Herr" ist. Beispielsweise kann bei einem Plugsimulator mit einem Plugprozessor nur derjenige Prozessor tatsächlich den gespeicherten Wert für die Höhe ändern, in dessen begrenzten Adressenbereich die Höhendaten liegen, welche Adresse außerhalb der Bereiche aller anderen Prozessoren liegt. Die anderen Prozessoren können den gespeicherten Höhenwert lesen, jedoch nicht ändern. Auf diese Weise werden numerische Unstimmigkeiten vermieden, ohne daß es erforderlich ist, komplexe Prozeduren zu schaffen, um die gleich chronologische Ordnung zum Berichtigen gemeinsamer Daten in den verschiedenen Datenspeichern aufrecht zu erhalten.
Als zusätzliche Eigenschaft ist die Lese/Schreib-Abtastlogik 17 in der Lage, Eingangs/Ausgangs-Lesebefehle sowie auch solche Schreibbefehle festzustellen, die an Adressen gerichtet sind, die Eingangs/Ausgangs-Daten in den DPIMM Speichern 16 zugeordnet sind. Die Adresse ist für einen Ort in einem RAM-Speicher 19 charakteristisch, der mit einer Eingabe/Ausgabe-Einrichtung hoher Geschwindigkeit des Benutzers verbunden ist, beispielsweise mit der Eingabe/Ausgabe-Strecke eines Plugsimulators. Hierdurch wird eine schnelle Aufnahme von Daten möglich. Das DPIMM 16 wurde schon für Eingabe/Ausgabe-Punkt ionen benutzt, jedoch für die Übertragung im Blockbetrieb und nicht für die Übertragung individueller Datenelemente. Diese Art der Eingabe/Ausgabe kann als Einga-
be/Ausgabe mit Speicheraufzeichnung (Memory Mapped input/-output) bezeichnet werden.
Die Behandlung der Kommunikationen zwischen dem SELBUS 12 jedes beliebigen Knotens und dem reflektierenden Speicherbus 18 wird nunmehr im einzelnen anhand der Pig. 3 und 4 beschrieben.
Jeder der Busse 12 und 18 führt parallele Daten sowie Adress-, Bus-Organisations- und Bus-Steuersignale mit einer Geschwindigkeit von 26,6 MB/sec. Diese Datengeschwindigkeit kann für eine Buslänge bis zu 12m beibehalten werden, muß jedoch verringert' werden, wenn der Bus eine größere Länge aufweist, beispielsweise auf 13,3 MB/sec für einen Bus von 24m Länge. Pig. 3 veranschaulicht schematisch den Bus 18, der 32 Datenleitungen, 24 Adreßleitungen, 9 Bus-Anforderungsleitungen, 9 Bus-Preigabeleitungen, 4 Knoten-Identifizierungsleitungen sowie Steuerleitungen enthält, von denen nur zwei gezeigt sind, die für die Übertragung von Daten über den Bus 18 von Bedeutung sind. Es sind insgesamt 9 Knoten vorgesehen, denen jeweils eine entsprechende Bus-Anforderungs- und Bus-Freigabeleitung zugeordnet ist. Einer der Knoten umfaßt die CPU 13, während die anderen jeweils eine CPU 11 enthalten.
b'ig. 4 zeigt mehr im einzelnen als Fig. 2 die Anordnung der DPIMM 16 und der Lese/Schreib-Abtastlogik 17, die zwischen die Busse 12 und 18 geschaltet ist. Wenn der der Anordnung nach Pig. 4 zugeordnete Datenprozessor in den Datenspeicher 16 einschreibt, werden die einzuschreitenden Daten und deren Adresse in das Halteglied 20 geladen, während die
Adresse, an der sie einzuschreiben sind, in einen Adressen-Komparator 21 geladen wird. Wenn das Einschreiben der Daten in den Speicher 16 mit Erfolg stattgefunden hat, wird ein Signal "erfolgreiches Einschreiben" an einen Detektor 22 geliefert. Das Signal "erfolgreiches Einschreiben" wird dann über eine der Steuerleitungen des Busses 12 in üblicher Weise übertragen. Wenn sich die Adresse nicht innerhalb eines vorgegebenen Bereiches befindet, der von dem Komparator 21 gesetzt wird, gehört sie zu lokalen Daten und wird nicht mit anderen Knoten geteilt. Wenn andererseits sie sich innerhalb des vorgegebenen Bereiches befindet, liefert der Komparator ein Ausgangssignal an ein UND-Glied 23· Ebenso führt auch der Detektor 22 ein Ausgangesignal dem UND-Glied 23 zu, welches das Halteglied 20 steuert, so daß die im Halteglied 20 enthaltene Adresse mit den zugeordneten Daten in ein FIFO-Register 24 nur dann geladen wird, wenn sich die Adresse innerhalb des bestimmten Bereiches befindet und ein erfolgreiches Einschreiben stattgefunden hat. Das FIFO-Register 24 kann eine Schlange bilden, die bis zu 64 zu übertragende Nachrichten umfaßt, obwohl normalerweise nur ein oder zwei Nachrichten in der Warteschlange sind. Wenn sich trotzdem einmal eine Schlange von 60 und mehr Nachrichten angesammelt hat, wird ein Signal "besetzt" an das System geliefert, um die Priorität des entsprechenden Knotens bei der BUS-Anforderung zu erhöhen. Eine nicht dargestellte, geeignete Schaltungsanordnung ist vorgesehen, um den zugeordneten Knotenprozessor still zu setzen, wenn das FIFO-Register 24 mit auf eine Übertragung wartenden Nachrichten angefüllt ist.
Wenn das FIFO-Register 24 eine zu übertragende Nachricht speichert, wird diese Tatsache von einer Bus-Anforderungslogik 25 festgestellt, die ein Bus-Anforderungssignal auf die entsprechende Leitung des Bus 18 ausgibt. Das Bus-Anforderungssignal wird der CPU 13 (Fig. 2) zugeführt, welche die Operation des Bus 18 steuert. Die CPU 13 gibt den Zugriff zu den Knoten, welche Nachrichten zu übertragen haben, nacheinander in vorgegebener Ordnung frei, so daß die erste Nachricht in der Schlange eines jeden Knotens während eines Arbeitszyklus des Bus 18 übertragen wird, usw. So wird zu gegebener Zeit die Bus-Anforderungslogik 25 vom Bus 18 ein Signal "Bus frei" empfangen und dann bewirken, daß die im PIFO-Register 24 ' enthaltene Nachricht von einem Sender 26 auf den Bus 18 ausgegeben wird.
Nunmehr 3ei angenommen, daß die Anordnung nach Fig. 4 diejenige eines Knotens ist, der die übertragene Nachricht empfängt, und es wird nun die Behandlung dieser Nachricht beschrieben. Wenn die CPU 13 eine Bus-Anforderung freigibt, wird auf einer der Steuerleitungen des Bus 18 ein Taktsignal übertragen. Dieses Taktsignal wird dazu benutzt, einen Nachrichten-Sende- und -Empfangs-Zyklus einzuleiten. Wenn die Nachricht gesendet worden ist, wird sie mittels üblicher Routinen von der CPU 13 auf Gültigkeit geprüft, beispielsweise mittels einer Paritätsprüfung, und es wird, wenn die Daten auf der Leitung als gültig erkannt worden sind, ein Signal "Daten gültig" auf der anderen Steuerleitung des Bus 18 übertragen. Auf diese Weise wird die übertragene Nachricht von den Taktsignalen und dem Signal "Daten gültig" eingeklammert.
Z/, 35Ö8291
Die übertragenen Daten mit Adresse werden von einem Empfänger 28 einem Halteglied 27 zugeführt, während die Adresse in einen Adressen-Komparator 29 geladen wird. Das Signal "Daten gültig" wird von einem Gültigkeits-Detektor 30 festgestellt. Die Eingänge eines UND-Gliedes 31 sind mit dem Komparator 29 und dem Detektor 30 verbunden. In dem Komparator 29 ist ein vorgegebener Bereich an Adressen eingestellt, welche denjenigen Teilen des Datenspeichers 16 entsprechen, in den von anderen Knoten her eingeschrieben werden kann, nicht aber von dem Knoten, für den der Speicher 16 der lokale Speicher ist. Wenn sich die empfangene Adresse innerhalb des vorgegebenen Bereiches befindet und das Signal "Daten gültig" festgestellt wurde, überträgt das UND-Glied 31 die im Halteglied 27 gespeicherten Daten zu einem FIFO-Register 32, das in der Lage ist, eine Schlange bis zu 64 Nachrichten zu speichern, welche die in den Speicher 16 einzuschreibenden Daten enthalten.
Wenn das FIFO-Register 32 eine in den Speicher 16 einzuschreibende Nachricht enthält, wird einer Speicher-Anforderungslogik 33 eine Speicherübertragungs-Anforderung zugeführt. Die Speicher-Anforderungslogik 33 steht mit dem Speicher 16 in Verbindung und empfängt zu gegebener Zeit ein Freigabesignal vom Speicher 16. Dann wird die erste Nachricht der im FIFO-Register 32 enthaltenen Schlange freigegeben, um die Daten an der entsprechenden Stelle im Speicher 16 zu berichtigen.
Es kann vorkommen, daß sich in den FIFO-Registern 24 und 32 eine beträchtliche Anzahl von Nachrichten ansammelt, die zu gegebener Zeit in die Speicher in einer Folge eingeschrieben werden, die von der zeitlichen Ordnung ihrer Erzeugung abweicht. Da jedoch jede Adresse für gemeinsame Daten nur
von einem einzigen, ihr zugeordneten Master-Knoten überschrieben werden kann und die von diesem Knoten erzeugten Nachrichten in dem FIFO-Register 24 gesammelt sind und in chronologischer Ordnung übertragen werden, wird jede Speicheradresse in der korrekten Folge berichtigt. Zwar können die Daten an verschiedenen Adressen chronologisch etwas außer Tritt geraten, jedoch ist in interaktiven Realzeitsystemen die Änderungsrate gespeicherter Parameter im Vergleich zu der Iterationsrate des Systems relativ klein, so daß hieraus kein Problem entsteht. Es besteht daher für den Systemkonstrukteur keine Notwendigkeit, strenge Prozeduren vorzusehen, um die Zeitfolge aufrecht zu erhalten, sondern es ist lediglich erforderlich, die Adressen-Komperatoren 21 und 29 korrekt einzustellen. Das System ist daher sehr flexibel und relativ leicht zu verwirklichen, selbst wenn sehr komplexe Realzeit-Aufgaben zu lösen sind, wie bei einer Flugsimulation.
Die vier Knoten-Identifizierungsleitungen (Fig. 3) des Bus 18 identifizieren den Knoten, von dem eine auf den Bus gegebene Nachricht stammt. Diese Information wird nicht benötigt, um Daten für die Behandlung durch die Lese/-Schreib-Abtastlogik 17 (Fig. 4) freizugeben, sondern ist vorgesehen, um eine Überwachung des Verkehrs auf dem Bus 18 zu ermöglichen. Fehler und "Flaschenhälse" auf dem Bus 18 können leichter festgestellt und behandelt werden, wenn diese zusätzliche Information verfügbar ist.
Die Fig. 5 bis 7 veranschaulichen schematisch drei System-Konfigurationen, welche die vorliegende Erfindung ermöglicht. Fig. 5 veranschaulicht die Konfiguration nach Anspruch 2, d.h. eine Folge von Knoten N, die durch einen
35Ö8291
einzigen reflektierenden Speicherbus RM1 verbunden sind. Fig. 6 zeigt eine Fig. 5 ähnliche Konfiguration, die jedoch zwei parallele reflektierende Speicherbusse RM1 und RM2 umfaßt. Bei solche einer Anordnung würde das System normalerweise unter Verwendung des Busses RM1 arbeiten, währed der Bus RM2 still liegt, jedoch würde im Falle einer Beschädigung des Busses RM1 das System im wesentlichen sofort auf den Bus RM2 umschalten. Durch Überwachung des Zustandes und separate Führung der Busse RM1 und RM2 könnte eine störungssichere/selbstheilende Anordnung geschaffen werden. Weitere Systemsicherheit könnte durch Duplizieren der Verarbeitungsknoten selbst geschaffen werden, wobei neben einem normalerweise arbeitenden Knoten ein anderer betriebsbereit gehaltener Knoten vorhanden und jedes Knotenpaar an die beiden Busse RM1 und RM2 angeschlossen ist.
Bei den Anordnungen nach den Fig. 5 und 6 ist jeder reflektierende Speicherbus mit jedem Knoten verbunden, so daß die beiden am weitesten entfernten Knoten nicht weiter voneinander entfernt sein dürfen, als es die Reichweite de3 Busses zuläßt. Ein typischer Wert ist 12 Meter bei 26,6 MB/sec. In manchen Fällen ist es sehr erwünscht, die Knoten mit einer größeren Entfernung voneinander anordnen zu können, wie beispielsweise bei Feuerleitanlagen auf Schiffen, wo die Betriebsfähigkeit des Systems erhalten bleiben soll, selbst wenn ein Knoten vollkommen zerstört wird, und die anderen Knoten möglichst weit verteilt sein sollen, damit eine örtlich begrenzte Beschädigung nicht eine beträchtliche Anzahl von Knoten außer Betrieb setzen kann. Fig. 7 veranschaulicht eine Anordnung nach der Erfindung, die es ermöglicht, den Abstand zwischen den am dichtesten benachbarten Knoten gleich der maximalen Übertragungslänge des reflektierenden Speicherbusses zu machen.
In der Anordnung nach Fig. 7 ist eine Anzahl von sechs Knoten N1 bis N6 in fünf Paaren NI N2, N2 N3, N1 N4, N2 N5 und N3 N6 angeordnet, von denen jedes Paar gemäß den oben anhand Fig. 2 beschriebenen Verfahren arbeitet. Die Knotenpaare sind durch entsprechende reflektierende Speicherbusse RM1 bis RM 5 miteinander verbunden. Bei jedem Knoten ist ein Speicher in einen lokalen und einen gemeinsamen Datenabschnitt unterteilt, jedoch ist der Abschnitt für die gemeinsamen Daten weiter unterteilt in Teilabschnitte, von denen jeder einem entsprechenden reflektierenden Speicherbus zugeordnet ist. Demgemäß hat jeder Knoten einen gemeinsamen Datenabschnitt, jedoch ist der Datenabschnitt des Knotens N1 in zwei Teilabschnitte unterteilt und derjenige des Knotens N2 in drei Teilabschnitte, wogegen derjenige des Knotens N4 nicht unterteilt ist. Jeder Teilabschnitt des gemeinsamen Speichers hat seinen eigenen Lese-Abtastkreis, der den Komponenten 27 bis 33 nach Fig. 4 äquivalent ist.
Wenn der Knoten N1 gemeinsame Daten erzeugt, dann haben diese Daten eine für das ganze System gleiche Adresse, in welche nur der Knoten N1 einschreiben kann. Der Knoten N1 versucht, diese Daten in jeden der Teilabschnitte des gemeinsamen Speichers einzuschreiben und ist nur dann erfolgreich, wenn die den Daten zugeordnete Adresse sich innerhalb des Bereiches befindet, der von dem Adressenkomparator der Lese-Abtastlogik eingestellt ist. Wenn die Daten in alle Teilabschnitte eingeschrieben sind, werden diese auf die Knoten N2 und N4 übertragen. Vom Knoten N2 wird die Übertragung der in den eigenen gemeinsamen Speicher eingeschriebonen Daten zu den Knoten N3 und N5 bewirkt, indem die Daten von dem dem Speicherbus RM1 zugeordneten Teilabschnitt des
Speichers in die den Speicherbussen RM2 und RM4 zugeordneten Teilabschnitte übertragen werden. Eine weitere Übertragung findet vom Knoten N3 auf N6 statt. Da das Einschreiben in jeden Speicherplatz nur von einem Knoten her erfolgen kann, kann die Datenübertragung zwischen den Knoten nach relativ einfachen Verfahren folgen. Bei dem dargestellten Ausführungsbeispiel gibt es nur einen möglichen Weg für Daten zwischen zwei beliebigen Knoten. Dies braucht jedoch nicht unbedingt der Fall zu sein. Beispielsweise kann ein weiterer Speicherbus RM6 vorgesehen werden, wie er durch eine gestrichelte Linie zwischen den Knoten N4 und N5 dargestellt ist. Wenn vom Knoten N1 stammende Daten in den gemeinsamen Speicher des Knotens 5' einzuschreiben sind, könnte das Programm dazu eingerichtet sein, die Daten über RM1 und RM4 zu übertragen oder, wenn diese Verbindung versagt, stattdessen den Weg über RM3 und RM6 auszuwählen. Alles was hierzu erforderlich ist, ist eine Programmroutine, welche die Teilabschnitte der Speicher für gemeinsame Daten bestimmt, in welche die Daten einzuschreiben sind.
Die Anordnung nach Fig. 8 ist ebenso ausgebildet wie die Anordnung nach Fig. 7, abgesehen davon, daß durch entsprechende reflektierende Speicherbusse einzelne Knoten paarweise miteinander verbunden sind, die Knoten zu jeweils neun Knoten umfassende Gruppen zusammengefaßt sind, und diese Gruppen ihrerseits durch weitere reflektierende Speicherbutsse verbunden sind, die jeweils nur an einen Knoten jeder Gruppe angeschlossen sind. Wie in Fig. 8 dargestellt, umfaßt jede Gruppe einen vorderen Prozessor-Knoten FEN, der dem die Prozessoreinheit 13 in Fig. 2 enthaltenden Knoten entspricht und über einen reflektierenden Speicherbus RMG mit 8 weiteren Knoten N1 bis N8 verbunden ist, welche den Knoten nach
35D8291
Pig. 2 entsprechen, die die Prozessoreinheit 11 enthalten. Die Knoten N8 sind paarweise durch reflektierende Speicherbusse RM1 bis RMn verbunden und arbeiten als "Software-Wechselstellen" in der gleichen Weise wie der Knoten N2 in der Anordnung nach Fig. 7·
Die "Software-Wechselstellen" zwischen verschiedenen reflektierenden Speicherbussen führen gewisse Verzögerungen bei der Datenübertragung zwischen den Bussen ein. Fig. 9 veranschaulicht eine "Wiederholungs-Einheit", die als Ersatz für eine "Software-Wechselstelle" konzipiert ist und eine automatische Hardware-Verbindung bildet, durch welche die Datenübertragung beschleunigt wird.
Wie Fig. 9 zeigt, ersetzt die dargestellte Wiederholungs-Einheit den Knoten N8 zwischen den Bussen RM2 und RM3 und besteht aus drei Sätzen von Lese/Schreib-Abtasteinrichtungen, die den Lese/Schreib-Abtasteinheiten 17 nach den Fig. 2 und 4 gleich sind. Jeder Satz dieser Einrichtungen umfaßt einen Lese-Abtastkreis RSC und einen Schreib-Abtastkreis WSC für jeden Anschluß, mit dem ein reflektierender Speicherbus verbunden ist. Jeder Lese-Abtastkreis überträgt Daten zu den Schreib-Abtastkreisen der anderen beiden Anschlüsse. Jeder Anschluß hat seine eigenen unterteilten Adressen, deren Bereich so eingestellt ist, daß die Übertragung von Daten zwischen den Bussen auf diejenigen beschränkt ist, die benötigt werden. Demgemäß wirkt die Wiederholungs-Einheit in genau der gleichen Weise wie die anderen Knoten an den Bussen, an die sie angeschlossen ist, und es werden die von einer Wiederholungs-Einheit auf einen reflektierenden Speicherbus übertragenen Daten in genau der gleichen Weise behandelt wie Daten, die von einem anderen Knoten auf diesem
IL ""* ""35IJ8291
Bus erzeugt wurden. Daten werden auch in der Wiederholungs-Einheit durch FIFO-Register gepuffert, um die Bus-Anforderung ebenso zu steueren wir bei einem normalen Knoten. Es wird für die Datenübertragung zwischen Bussen kein Software-Overhead benötigt und es ist der Verkehr auf den Bussen auf denjenigen begrenzt, der für die Auswahl des Adressenbereiches, in dem Daten von jedem Lese/Schreib-Abtastkreis übertragen werden können, erforderlich ist. Daher arbeitet das System mit hoher Geschwindigkeit und macht es leichter, Datenbusse mit relativ geringer Datenrate jedoch mit großer Übertragungsweite zu benutzen.
Die Wiederholungs-Einheit erleichtert es, ein heißes Standby-System vorzusehen, das stets auf dem neuesten Stand gehalten wird und im Falle einer Betriebsstörung sofort eingeschaltet werden kann. Auch die Wiederholungs-Einheit selbst könnte dupliziert werden.
- Leerseite -

Claims (8)

Patentansprüche
1. Realzeit-Datenverarbeitungssystem mit wenigstens zwei Verarbeitungs-Knoten, mit einem Datenspeicher für jeden der beiden Knoten, von denen jeder Datenspeicher in Abschnitte unterteilt ist, von denen ein erster zum Speichern der dem Knoten zugeordneten Daten und ein zweiter zum Speichern von zwischen den Knoten auszutauschenden Daten reserviert ist, mit einer die Knoten verbindenden Datenstrecke, mit einer Einrichtung an jedem Knoten, die immer dann, wenn der Knoten an einer Adresse im zweiten Abschnitt eines Datenspeichers einschreibt, eine Schreibnachricht erzeugt, die eine Adresse und an dieser Adresse einzuschreibende Daten umfaßt, mit einer Einrichtung zur Übertragung jeder erzeugten Nachricht über die Datenstrecke zu jedem der Knoten, mit einer Einrichtung zum Zuordnen einen Knotens als Hauptknoten zu allen in den zweiten Abschnitten der Datenspeicher enthaltenen Adressen und mit einer Einrichtung, die verhindert, daß Daten an irgendeiner Adresse des zweiten Abschnittes eines Datenspeichers auf andere Weise als von dem zugeordneten Knoten eingeschrieben werden.
2. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß die Zuordnungs- und Verhinderungseinrichtungen für jeden Knoten einen Adressen-Komparator zum Vergleich der Adresse einer von dem jeweiligen Knoten erzeugten Schreibnachricht mit einem vorgegebenen Adreßbereich umfaßt, der die Daten-Schreibnachricht nur dann auf die Datenstrecke überträgt, wenn sich die verglichene Adresse in dem vorgognbenen Adreßbereich befindet.
Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß für jeden Knoten ein Halteglied vorhanden ist, in welches jede Daten-Schreibnachricht geladen wird, daß an den Ausgang des Haltegliedes ein FIFO-Register angeschlossen ist, daß ein Detektor auf das erfolgreiche Einschreiben von Daten in den dem Knoten zugeordneten Datenspeicher anspricht, daß mit dem Detektor und dem Komparator ein UND-Glied verbunden ist, welches das Halteglied in der Weise steuert, daß der Inhalt des Haltegliedes auf das FIFO-Register übertragen wird, wenn sich die verglichene Adresse innerhalb des Bereiches befindet und das erfolgreiche Schreiben von Daten festgestellt wird, und daß mit dem Register ein Sender zum Übertragen der im Register gespeicherten Nachrichten über die Datenstrecke verbunden ist.
Datenverarbeitungssystem nach Anspruch 2, dadurch gekennzeichnet, daß die Zuordnungs- und Verhinderungseinrichtungen weiterhin für jeden Knoten einen Adressen-Komparator zum Vergleich der Adresse einer von der Datenstrecke empfangenen Daten-Schreibnachricht mit einem vorgegebenen Adreßbereich umfaßt, der die empfangene Daten-Schreibnachricht auf den lokalen Datenspeicher nur dann überträgt, wenn sich die verglichene Adresse innerhalb des vorgegebenen Adreßbereiches befindet.
5. Datenverarbeitungssystem nach Anspruch 4, dadurch gekennzeichnet, daß einer der Knoten den Verkehr auf der Datenstrecke steuert und jeder zweite Knoten eine Anforderungslogik umfaßt, daß der eine Knoten eine Einrichtung, welche den anderen Knoten einzeln nacheinander in Abhängigkeit von Zugriff-Anforderungen der Anforderungslogik den Zugriff zur Datenstrecke freigibt, eine Einrichtung, die der Datenstrecke jedesmal, wenn einem Knoten der Zugriff zur Datenstrecke freigegeben wird, ein Taktsignal zuführt, eine Einrichtung, welche die Gültigkeit der auf der Datenstrecke übertragenen Nachrichten prüft und eine Einrichtung zum Zuführen eines Signals "Daten gültig" zur Datenstrecke bei Vorliegen gültiger Daten umfaßt, und daß in jedem Knoten eine Einrichtung zum Verhindern der Übertragung von Daten, die in übertragenen Nachrichten enthalten sind, auf den lokalen Datenspeicher bis zum Empfang des Signales "Daten gültig" umfaßt.
6. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß mit den Knoten zwei parallele Datenstrecken verbunden sind.
7· Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß es mehrere Knoten-Gruppen umfaßt, die Knoten jeder Gruppe durch eine entsprechende Datenstrecke miteinander verbunden sind und wenigstens einer der Knoten zwei Gruppen angehört, wobei der zweite Abschnitt des Datenspeichers des wenigstens einen Knotens in eine Anzahl Teilabschnitte unterteilt ist, von denen jeder Daten aufnimmt, die den Knoten
einer jeweiligen Knotengruppe gemeinsam sind, und daß eine Einrichtung zur Steuerung der Übertragung von Daten, die wenigstens zwei Knotengruppen gemeinsam sind, von einem Teilabschnitt zum anderen vorgesehen ist.
8. Datenverarbeitungssystem nach Anspruch 1, dadurch gekennzeichnet, daß es zwei Knoten-Gruppen umfaßt, die jeweils durch eine entsprechende Datenstrecke miteinander verbunden sind, und an jede Datenstrecke eine Wiederholungs-Einheit angeschlossen ist, die jeweils einen Lese/Schreib-Sensor zur Übertragung von Nachrichten mit einem ersten ausgewählten Bereich von Adressen von der ersten Datenstrecke zur zweiten Datenstrecke und von Nachrichten mit einem zweiten ausgewählten Bereich von Adressen von der zweiten Datenstrecke zur ersten Datenstrecke umfaßt.
DE3508291A 1984-03-10 1985-03-08 Datenverarbeitungssystem Expired - Fee Related DE3508291C2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB848406322A GB8406322D0 (en) 1984-03-10 1984-03-10 Data processing system
GB848420617A GB8420617D0 (en) 1984-08-14 1984-08-14 Data processing system

Publications (2)

Publication Number Publication Date
DE3508291A1 true DE3508291A1 (de) 1985-09-12
DE3508291C2 DE3508291C2 (de) 1997-01-16

Family

ID=26287440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3508291A Expired - Fee Related DE3508291C2 (de) 1984-03-10 1985-03-08 Datenverarbeitungssystem

Country Status (5)

Country Link
US (2) US4991079A (de)
CA (1) CA1221463A (de)
DE (1) DE3508291C2 (de)
FR (1) FR2561009B1 (de)
GB (1) GB2156554B (de)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5581732A (en) * 1984-03-10 1996-12-03 Encore Computer, U.S., Inc. Multiprocessor system with reflective memory data transfer device
US5146607A (en) * 1986-06-30 1992-09-08 Encore Computer Corporation Method and apparatus for sharing information between a plurality of processing units
US4951193A (en) * 1986-09-05 1990-08-21 Hitachi, Ltd. Parallel computer with distributed shared memories and distributed task activating circuits
FR2604003B1 (fr) * 1986-09-15 1992-05-22 France Etat Systeme d'interconnexion d'ordinateurs identiques ou compatibles
AU598101B2 (en) * 1987-02-27 1990-06-14 Honeywell Bull Inc. Shared memory controller arrangement
NL8801116A (nl) * 1988-04-29 1989-11-16 Oce Nederland Bv Werkwijze en inrichting voor het converteren van omtrekgegevens naar rastergegevens.
US5124943A (en) * 1988-08-22 1992-06-23 Pacific Bell Digital network utilizing telephone lines
US5276806A (en) * 1988-09-19 1994-01-04 Princeton University Oblivious memory computer networking
US5594866A (en) * 1989-01-18 1997-01-14 Intel Corporation Message routing in a multi-processor computer system with alternate edge strobe regeneration
WO1991010195A1 (en) * 1990-01-05 1991-07-11 Sun Microsystems, Inc. High speed active bus
US5301340A (en) * 1990-10-31 1994-04-05 International Business Machines Corporation IC chips including ALUs and identical register files whereby a number of ALUs directly and concurrently write results to every register file per cycle
EP0543512B1 (de) * 1991-11-19 1999-10-06 International Business Machines Corporation Multiprozessorsystem
DE69329904T2 (de) * 1992-03-25 2001-06-13 Sun Microsystems Inc Echtzeitverarbeitungssystem
ES2170066T3 (es) * 1992-03-25 2002-08-01 Sun Microsystems Inc Sistema de acoplamiento de memoria de fibra optica.
WO1993025945A1 (en) * 1992-06-12 1993-12-23 The Dow Chemical Company Stealth interface for process control computers
US5444714A (en) * 1992-11-30 1995-08-22 Samsung Electronics Co., Ltd. Communication and exchange processing system
DE69316559T2 (de) * 1992-12-03 1998-09-10 Advanced Micro Devices Inc Servoregelkreissteuerung
JP2826028B2 (ja) * 1993-01-28 1998-11-18 富士通株式会社 分散メモリ型プロセッサシステム
US5515537A (en) * 1993-06-01 1996-05-07 The United States Of America As Represented By The Secretary Of The Navy Real-time distributed data base locking manager
US5581703A (en) * 1993-06-29 1996-12-03 International Business Machines Corporation Method and apparatus for reserving system resources to assure quality of service
US5694548A (en) * 1993-06-29 1997-12-02 International Business Machines Corporation System and method for providing multimedia quality of service sessions in a communications network
US5388097A (en) * 1993-06-29 1995-02-07 International Business Machines Corporation System and method for bandwidth reservation for multimedia traffic in communication networks
US5530907A (en) * 1993-08-23 1996-06-25 Tcsi Corporation Modular networked image processing system and method therefor
EP0640929A3 (de) * 1993-08-30 1995-11-29 Advanced Micro Devices Inc Zwischenprozessorkommunikation durch RAM-Postamt.
US5456252A (en) * 1993-09-30 1995-10-10 Cedars-Sinai Medical Center Induced fluorescence spectroscopy blood perfusion and pH monitor and method
US5503559A (en) * 1993-09-30 1996-04-02 Cedars-Sinai Medical Center Fiber-optic endodontic apparatus and method
JPH07225727A (ja) * 1994-02-14 1995-08-22 Fujitsu Ltd 計算機システム
US5606666A (en) * 1994-07-19 1997-02-25 International Business Machines Corporation Method and apparatus for distributing control messages between interconnected processing elements by mapping control messages of a shared memory addressable by the receiving processing element
US5588132A (en) * 1994-10-20 1996-12-24 Digital Equipment Corporation Method and apparatus for synchronizing data queues in asymmetric reflective memories
US5574863A (en) * 1994-10-25 1996-11-12 Hewlett-Packard Company System for using mirrored memory as a robust communication path between dual disk storage controllers
US5550973A (en) * 1995-03-15 1996-08-27 International Business Machines Corporation System and method for failure recovery in a shared resource system having a moving write lock
JPH0926892A (ja) * 1995-04-27 1997-01-28 Tandem Comput Inc 遠隔的に複製されかつ動的に再構成可能なメモリを有するコンピュータシステム
US6295585B1 (en) 1995-06-07 2001-09-25 Compaq Computer Corporation High-performance communication method and apparatus for write-only networks
US6049889A (en) * 1995-06-07 2000-04-11 Digital Equipment Corporation High performance recoverable communication method and apparatus for write-only networks
EP0817094B1 (de) * 1996-07-02 2002-10-09 Sun Microsystems, Inc. Ein Computersystem mit geteiltem SMP
US5754877A (en) * 1996-07-02 1998-05-19 Sun Microsystems, Inc. Extended symmetrical multiprocessor architecture
US5923847A (en) * 1996-07-02 1999-07-13 Sun Microsystems, Inc. Split-SMP computer system configured to operate in a protected mode having repeater which inhibits transaction to local address partiton
US5758183A (en) * 1996-07-17 1998-05-26 Digital Equipment Corporation Method of reducing the number of overhead instructions by modifying the program to locate instructions that access shared data stored at target addresses before program execution
US5887184A (en) * 1997-07-17 1999-03-23 International Business Machines Corporation Method and apparatus for partitioning an interconnection medium in a partitioned multiprocessor computer system
US6961801B1 (en) 1998-04-03 2005-11-01 Avid Technology, Inc. Method and apparatus for accessing video data in memory across flow-controlled interconnects
US7836329B1 (en) * 2000-12-29 2010-11-16 3Par, Inc. Communication link protocol optimized for storage architectures
US7831974B2 (en) * 2002-11-12 2010-11-09 Intel Corporation Method and apparatus for serialized mutual exclusion
US6898687B2 (en) * 2002-12-13 2005-05-24 Sun Microsystems, Inc. System and method for synchronizing access to shared resources
US6917967B2 (en) * 2002-12-13 2005-07-12 Sun Microsystems, Inc. System and method for implementing shared memory regions in distributed shared memory systems
US6795850B2 (en) * 2002-12-13 2004-09-21 Sun Microsystems, Inc. System and method for sharing memory among multiple storage device controllers
US7028147B2 (en) * 2002-12-13 2006-04-11 Sun Microsystems, Inc. System and method for efficiently and reliably performing write cache mirroring
US7185223B2 (en) * 2003-09-29 2007-02-27 International Business Machines Corporation Logical partitioning in redundant systems
US20060039949A1 (en) * 2004-08-20 2006-02-23 Nycz Jeffrey H Acetabular cup with controlled release of an osteoinductive formulation
US20070038432A1 (en) * 2005-08-15 2007-02-15 Maurice De Grandmont Data acquisition and simulation architecture
US9578054B1 (en) 2015-08-31 2017-02-21 Newman H-R Computer Design, LLC Hacking-resistant computer design
US10949289B1 (en) * 2018-12-28 2021-03-16 Virtuozzo International Gmbh System and method for maintaining data integrity of data on a storage device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
EP0092895A2 (de) * 1982-04-28 1983-11-02 International Computers Limited Datenverarbeitungsanlage

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3618045A (en) * 1969-05-05 1971-11-02 Honeywell Inf Systems Management control subsystem for multiprogrammed data processing system
US3940743A (en) * 1973-11-05 1976-02-24 Digital Equipment Corporation Interconnecting unit for independently operable data processing systems
US3845474A (en) * 1973-11-05 1974-10-29 Honeywell Inf Systems Cache store clearing operation for multiprocessor mode
US3873819A (en) * 1973-12-10 1975-03-25 Honeywell Inf Systems Apparatus and method for fault-condition signal processing
JPS5440182B2 (de) * 1974-02-26 1979-12-01
US4007450A (en) * 1975-06-30 1977-02-08 International Business Machines Corporation Data sharing computer network
US4212057A (en) * 1976-04-22 1980-07-08 General Electric Company Shared memory multi-microprocessor computer system
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4209839A (en) * 1978-06-16 1980-06-24 International Business Machines Corporation Shared synchronous memory multiprocessing arrangement
US4253146A (en) * 1978-12-21 1981-02-24 Burroughs Corporation Module for coupling computer-processors
US4351025A (en) * 1979-07-06 1982-09-21 Hall Jr William B Parallel digital computer architecture
US4335426A (en) * 1980-03-10 1982-06-15 International Business Machines Corporation Remote processor initialization in a multi-station peer-to-peer intercommunication system
US4394731A (en) * 1980-11-10 1983-07-19 International Business Machines Corporation Cache storage line shareability control for a multiprocessor system
US4414624A (en) * 1980-11-19 1983-11-08 The United States Of America As Represented By The Secretary Of The Navy Multiple-microcomputer processing
US4442487A (en) * 1981-12-31 1984-04-10 International Business Machines Corporation Three level memory hierarchy using write and share flags
US4539637A (en) * 1982-08-26 1985-09-03 At&T Bell Laboratories Method and apparatus for handling interprocessor calls in a multiprocessor system
US4527238A (en) * 1983-02-28 1985-07-02 Honeywell Information Systems Inc. Cache with independent addressable data and directory arrays
US4642755A (en) * 1983-03-31 1987-02-10 At&T Bell Laboratories Shared memory with two distinct addressing structures
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
DE3788826T2 (de) * 1986-06-30 1994-05-19 Encore Computer Corp Verfahren und Vorrichtung zur gemeinsamen Informationsbenutzung zwischen einer Mehrzahl von Verarbeitungseinheiten.

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889237A (en) * 1973-11-16 1975-06-10 Sperry Rand Corp Common storage controller for dual processor system
EP0092895A2 (de) * 1982-04-28 1983-11-02 International Computers Limited Datenverarbeitungsanlage

Also Published As

Publication number Publication date
GB2156554B (en) 1987-07-29
US4991079A (en) 1991-02-05
GB8505967D0 (en) 1985-04-11
CA1221463A (en) 1987-05-05
GB2156554A (en) 1985-10-09
US5072373A (en) 1991-12-10
FR2561009A1 (fr) 1985-09-13
FR2561009B1 (fr) 1991-03-29
DE3508291C2 (de) 1997-01-16

Similar Documents

Publication Publication Date Title
DE3508291A1 (de) Realzeit-datenverarbeitungssystem
DE2856483C2 (de)
DE2350884C2 (de) Adreßumsetzungseinheit
DE3300260C2 (de)
DE2628363C2 (de) Datenverarbeitungs-Netzwerk
DE2657848C2 (de)
DE2328058C2 (de) Fehlerdiagnoseeinrichtung in einer digitalen Datenverarbeitungsanordnung
EP0107026B1 (de) Speicherprogrammierbare Steuerung
DE2401995A1 (de) Pruefsystem mit einem feinprogrammierbaren steuerspeicher
EP0010194A1 (de) Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb
CH522921A (de) Rechneranlage
DE3606650A1 (de) Hardware logik-simulator
DE2646296A1 (de) Assoziative elektronische schaltungsanordnung aus digitalen prozessoren
DE2244402A1 (de) Datenverarbeitungsanlage
DE3727017C2 (de)
DE2237672A1 (de) Fehlerpruef- und fehlerdiagnoseeinrichtung in einer elektronischen datenverarbeitungsanlage und verfahren zu deren betrieb
DE1549437A1 (de) Datenverarbeitendes System aus mehreren miteinander verbundenen Datenverarbeitungsanlagen
EP0062141B1 (de) Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem
DE2844295A1 (de) Verfahren und vorrichtung zur steuerung der datentransferrichtung auf einem datenbus
DE3142504A1 (de) Mehrfachplattenspeicher-uebertragungssystem
DE3048414A1 (de) "schaltungsanordnung fuer eine datenverarbeitungsanlage"
DE1237812B (de) Datenverarbeitungsgeraet mit mehreren Speichern
DE4406258A1 (de) Informationsverarbeitungsvorrichtung
DE2142374A1 (de) Datenverarbeitungseinnchtung
DE2842603A1 (de) Schnittstelle zwischen einem wartungsprozessor und einer mehrzahl einzeln zu pruefender funktionseinheiten eines datenverarbeitenden systems

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: GOULD INC., ROLLING MEADOWS, ILL., US

8128 New person/name/address of the agent

Representative=s name: KOHLER, R., DIPL.-PHYS. SCHWINDLING, H., DIPL.-PHY

8127 New person/name/address of the applicant

Owner name: ENCORE COMPUTER CORP., MARLBOROUGH, MASS., US

8128 New person/name/address of the agent

Representative=s name: KOHLER, R., DIPL.-PHYS. RUEDEL, D., DIPL.-ING. DIP

8110 Request for examination paragraph 44
8125 Change of the main classification

Ipc: G06F 15/16

D2 Grant after examination
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SUN MICROSYSTEMS, INC. (N.D.GES.D. STAATES DELAWAR

8339 Ceased/non-payment of the annual fee