DE3508291A1 - Realzeit-datenverarbeitungssystem - Google Patents
Realzeit-datenverarbeitungssystemInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/161—Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General 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
Patentanwälte
Kohler-Schwindling-Späth
Hohentwielstraße 41
7000 Stuttgart 1
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)
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.
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)
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 |
DE69033954T2 (de) * | 1990-01-05 | 2002-11-28 | Sun Microsystems Inc | Aktiver hochgeschwindigkeitsbus |
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 |
JP2677454B2 (ja) * | 1992-03-25 | 1997-11-17 | エンコアー コンピューター ユーエス インコーポレイテッド | リアルタイム処理システム |
EP0632913B1 (de) * | 1992-03-25 | 2001-10-31 | Sun Microsystems, Inc. | Faseroptisches speicherkupplungsystem. |
AU4400893A (en) * | 1992-06-12 | 1994-01-04 | Dow Chemical Company, The | Stealth interface for process control computers |
US5444714A (en) * | 1992-11-30 | 1995-08-22 | Samsung Electronics Co., Ltd. | Communication and exchange processing system |
EP0600623B1 (de) * | 1992-12-03 | 1998-01-21 | 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 |
US5388097A (en) * | 1993-06-29 | 1995-02-07 | International Business Machines Corporation | System and method for bandwidth reservation for multimedia traffic in communication networks |
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 |
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 | 遠隔的に複製されかつ動的に再構成可能なメモリを有するコンピュータシステム |
US6049889A (en) * | 1995-06-07 | 2000-04-11 | Digital Equipment Corporation | High performance recoverable communication method and apparatus for write-only networks |
US6295585B1 (en) | 1995-06-07 | 2001-09-25 | Compaq Computer Corporation | High-performance communication method and apparatus for write-only networks |
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 |
DE69716170T2 (de) * | 1996-07-02 | 2003-04-30 | Sun Microsystems Inc | Ein Computersystem mit geteiltem SMP |
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 |
US7028147B2 (en) * | 2002-12-13 | 2006-04-11 | Sun Microsystems, Inc. | System and method for efficiently and reliably performing write cache mirroring |
US6795850B2 (en) * | 2002-12-13 | 2004-09-21 | Sun Microsystems, Inc. | System and method for sharing memory among multiple storage device controllers |
US6917967B2 (en) * | 2002-12-13 | 2005-07-12 | Sun Microsystems, Inc. | System and method for implementing shared memory regions in distributed shared memory systems |
US6898687B2 (en) * | 2002-12-13 | 2005-05-24 | Sun Microsystems, Inc. | System and method for synchronizing access to shared resources |
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 |
CA2556143A1 (en) * | 2005-08-15 | 2007-02-15 | Thales Canada Inc. | Data acquisition & 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)
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)
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 |
US3845474A (en) * | 1973-11-05 | 1974-10-29 | Honeywell Inf Systems | Cache store clearing operation for multiprocessor mode |
US3940743A (en) * | 1973-11-05 | 1976-02-24 | Digital Equipment Corporation | Interconnecting unit for independently operable data processing systems |
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 |
EP0251686B1 (de) * | 1986-06-30 | 1994-01-19 | Encore Computer Corporation | Verfahren und Vorrichtung zur gemeinsamen Informationsbenutzung zwischen einer Mehrzahl von Verarbeitungseinheiten |
-
1985
- 1985-03-07 GB GB08505967A patent/GB2156554B/en not_active Expired
- 1985-03-08 CA CA000476086A patent/CA1221463A/en not_active Expired
- 1985-03-08 DE DE3508291A patent/DE3508291C2/de not_active Expired - Fee Related
- 1985-03-11 FR FR858503539A patent/FR2561009B1/fr not_active Expired - Lifetime
-
1989
- 1989-08-30 US US07/401,511 patent/US4991079A/en not_active Expired - Lifetime
-
1991
- 1991-01-17 US US07/642,457 patent/US5072373A/en not_active Expired - Lifetime
Patent Citations (2)
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 |
DE3508291C2 (de) | 1997-01-16 |
US4991079A (en) | 1991-02-05 |
FR2561009B1 (fr) | 1991-03-29 |
GB2156554A (en) | 1985-10-09 |
GB8505967D0 (en) | 1985-04-11 |
FR2561009A1 (fr) | 1985-09-13 |
US5072373A (en) | 1991-12-10 |
CA1221463A (en) | 1987-05-05 |
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 | |
DE2635592A1 (de) | Multiprozessor-abrufsystem | |
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" | |
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 |