DE3508291C2 - Datenverarbeitungssystem - Google Patents
DatenverarbeitungssystemInfo
- Publication number
- DE3508291C2 DE3508291C2 DE3508291A DE3508291A DE3508291C2 DE 3508291 C2 DE3508291 C2 DE 3508291C2 DE 3508291 A DE3508291 A DE 3508291A DE 3508291 A DE3508291 A DE 3508291A DE 3508291 C2 DE3508291 C2 DE 3508291C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- node
- memory
- nodes
- bus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
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
Die Erfindung bezieht sich auf ein Datenverarbeitungssy
stem, das zwei oder mehr Datenverarbeitungs-Einheiten um
faßt, welche zu den gleichen Daten Zugriff haben. Jede
Datenverarbeitungs-Einheit kann ein im wesentlichen unabhän
giger Rechner sein oder mit einem oder mehreren anderer
Datenverarbeitungs-Einheiten zusammenwirken. Im folgenden
werden Datenverarbeitungs-Einheiten beider Arten als "Kno
ten" und Daten, zu denen zwei oder mehr Knoten Zugriff
haben, als "gemeinsame Daten" bezeichnet.
Bei einem bekannten System, das beispielsweise für Flugsimu
latoren 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 Wettbe
werb 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 ma
chen, zum gleichen Teil der gemeinsamen Daten in dem gemein
samen Speicher zuzugreifen. Weiterhin entstehen beträchtli
che Ü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 889 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 Ver
such machen, zu dem gleichen Teil der gemeinsamen Daten
gleichzeitig zuzugreifen, und es muß jeder Knoten abwarten,
bis alle Schreibvorgänge bezüglich der gemeinsamen Daten
teile 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 0 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 Schreibda
ten dazu, in ihren lokalen Speichern die Daten an den ange
gebenen 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 zeit
lich 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 übereinstim
mend. Um ein solches Geschehen zu verhindern, wird der
Prozessor des zweiten Knotens angehalten, bis eine Freigabe
bezüglich der ausstehenden Nachricht oder Nachrichten er
folgt. Das Anhalten des Prozessors verlangsamt offensicht
lich die Operationsgeschwindigkeit des Systems. Hierin
besteht ein erhebliches Problem, wenn ein starker Austausch
von Nachrichten erforderlich ist.
Bei Realreit-Datenverarbeitungssystemen, wie sie bei Trai
nings-Flugsimulatoren benutzt werden, ist die Geschwindig
keit, mit der das System arbeitet, von grundlegender Bedeu
tung. 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 Spei
cher und ein Auslesen der Daten für die lokalen Speicher.
Durch diese beiden Verarbeitungsschritte wird die Arbeitsge
schwindigkeit 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 Anord
nung 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 Real
zeit-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 Arbeitsge
schwindigkeit und die Flexibilität solcher Systeme.
Der Erfindung liegt die Aufgabe zugrunde, ein Datenverarbeitungssystem
mit einer Vielzahl von Knoten anzugeben,
bei dem das Beschreiben eines bestimmten Speicherbereichs
innerhalb eines Knotens das Beschreiben entsprechender
Speicherbereiche in anderen Knoten zur Folge hat und bei
dem die Datenverarbeitung in jedem Knoten durch das entsprechende
Weiterleiten und Empfangen gemeinsamer Daten wenig beeinflußt wird.
Diese Aufgabe wird durch den Gegenstand des
Patentanspruchs 1 gelöst.
Vorzugsweise wird für jeden Knoten ein Adressen-Komparator
zum Vergleich der Adresse einer von dem jeweiligen Knoten
erzeugten Schreibnachricht mit einem vorgegebenen Adreßbe
reich vorgesehen, welcher Adressen-Komparator die Daten-
Schreibnachricht auf die Datenstrecke nur dann überträgt,
wenn sich die verglichene Adresse in dem vorgegebenem Adreß
bereich befindet. Auf diese Weise findet mittels des Adres
sen-Komparators eine effektive Bestimmung statt, an welchen
Adressen der gemeinsamen Daten in den entsprechenden Knoten
eingeschrieben werden kann. Für jeden Knoten kann ein weite
rer 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ßbe
reiches befindet. Demgemäß bestimmt der weitere Adressen-
Komparator die Adresse innerhalb eines lokalen Speichers, an
denen 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 Systemstrukturen
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 gemeinsa
men 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ührungsformen der Erfindung als Beispiele beschrieben.
Es zeigen:
Fig. 1 das Blockschaltbild eines bekannten Datenverar
beitungssystems,
Fig. 2 das Blockschaltbild einer Ausführungsform der
Erfindung,
Fig. 3 eine schematische Darstellung der von dem Daten
bus des Datenverarbeitungssystems nach Fig. 2
gebildeten Leitungen,
Fig. 4 das Blockschaltbiid der Lese/Schreib-Abtastein
richtung des Datenverarbeitungssystems nach Fig.
2 und
Fig. 5 bis 9 alternative Strukturen für Datenverarbeitungs
systeme 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 Kommuni
kationsbus handelt. Ein Datenspeicher in Form eines inte
grierten Speichermoduls (IMM) 3 bildet einen Speicher mit
einer Kapazität von 1 MB und der zugeordneten Speicher-Steu
erlogik. 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 (HSDI) 8 sind an den Sellbus
2 angeschlossen. Langsame Peripheriegeräte wie beispielswei
se 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, IOP,
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 Zentral
einheiten treiben keine periferen Geräte an, sondern sind
mit einer weiteren CPU 13 verbunden, die mit einer vollstän
digen 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 bei
spielsweise den Schub, eine andere Zentraleinheit 11 die
Parameter des Autopiloten berechnen usw. Jede der Zentral
einheiten 11, 13 und das ihr zugeordnete Zubehör, wie bei
spielsweise Datenspeicher, bilden einen Knoten des Systems.
Da die Rechenknoten bildenden Zentraleinheiten 11 keine
peripheren Geräte antreiben, ist die Eingabe/Ausgabe-Kapazi
tä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 Initialis
ierungs- und Steuerfunktionen sowie auch eine Fehlerdiagnose
beim Ausfall des Systems.
Jede CPU 11 wird unterstützt durch eine Anzahl gleicher
paralleler Prozessoreinheiten (PPU) 14. Jede Prozessorein
heit 14 ist gleich der GOULD Internal Processor Unit (IPU),
die sich in den GOULD-Rechnern 32/27, 32/67 und 32/87 fin
det, 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 Steuerkoneole
(unattended operatore aoneole 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 perip
here Geräte zu betreiben sind.
Der SELBUS 12 jeder CPU 11, 13 ist über ein als Speicher dienendes DPIMM 16 (doppelte-IMM)
und eine Datenübertragungseinrichtung (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 Speicher
systems besteht darin, daß jeder DPIMM-Datenspeicher 16 mit
einer Speicherkapazität von 2 NB 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 (Datenübertragungseinrichtung) 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 eine Datenleitung bzw. einen 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.
DPIMM-BUS 18 mit anderen Einheiten 11, 13 geteilt werden. Die Lese/Schreib-Abtastlogik (Datenübertragungseinrichtung) 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 eine Datenleitung bzw. einen 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 gleich
zeitig 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 einzu
schreiben, sind die einzigen Transaktionen, die tatsächlich
solches vollbringen, diejenigen, deren Adressen für ein
zuschreibende Daten sich innerhalb des Speicherabschnittes
befinden, über welche dieses System "Herr" (Muster) ist. Beispiels
weise kann bei einem Flugsimulator mit einem Flugprozessor
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 Be
richtigen gemeinsamer Daten in den verschiedenen Datenspei
chern 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 gerich
tet 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/Aus
gabe-Einrichtung hoher Geschwindigkeit des Benutzers verbun
den ist, beispielsweise mit der Eingabe/Ausgabe-Strecke
eines Flugsimulators. Hierdurch wird eine schnelle Aufnahme
von Daten möglich. Das DPIMM 16 wurde schon für Eingabe/Aus
gabe-Funktionen 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 Speicher
bus 18 wird nunmehr im einzelnen anhand der Fig. 3 und 4
beschrieben.
Der Bus 12 und die Datenleitung 18 führen parallele Daten sowie
Adreß-, Bus-Organisations- und Bus-Steuersignale mit einer
Geschwindigkeit von 26,6 MB/sec. Diese Datengeschwindigkeit
kann für eine Buslänge bis zu 12 m 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
24 m Länge. Fig. 3 veranschaulicht schematisch den Bus 18,
der 32 Datenleitungen, 24 Adreßleitungen, 9 Bus-Anforderungs
leitungen, 9 Bus-Freigabeleitungen, 4 Knoten-Identifizie
rungsleitungen 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-Anforde
rungs- und Bus-Freigabeleitung zugeordnet ist. Einer der
Knoten umfaßt die CPU 13, während die anderen jeweils eine
CPU 11 enthalten.
Fig. 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 Fig. 4 zugeordnete Datenprozessor in den Datenspei
cher 16 einschreibt, werden die einzuschreibenden 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 Kompara
tor 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 Ausgangssignal 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-Regi
ster 24 kann eine Schlange bilden, die bis zu 64 zu übertra
gende Nachrichten umfaßt, obwohl normalerweise nur ein oder
zwei Nachrichten in der Warteschlange sind. Wenn sich trotz
dem einmal eine Schlange von 60 und mehr Nachrichten ange
sammelt hat, wird ein Signal "besetzt" an das System gelie
fert, um die Priorität des entsprechenden Knotens bei der
BUS-Anforderung zu erhöhen. Eine nicht dargestellte, geeig
nete 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-Anforderungslo
gik 25 festgestellt, die ein Bus-Anforderungssignal auf die
entsprechende Leitung des Bus 18 ausgibt. Das Bus-Anforde
rungssignal 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, nach
einander 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
FIFO-Register 24 enthaltene Nachricht von einem Sender 26
auf den Bus 18 ausgegeben wird.
Nunmehr sei angenommen, daß die Anordnung nach Fig. 4 dieje
nige eines Knotens ist, der die übertragene Nachricht em
pfä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, beispiels
weise 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 Nach
richt von den Taktsignalen und dem Signal "Daten gültig"
eingeklammert.
Die übertragenen Daten mit Adresse werden von einem Empfän
ger 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 denje
nigen 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 vorgege
benen Bereiches befindet und das Signal "Daten gültig"
festgestellt wurde, überträgt das UND-Glied 31 die im Hal
teglied 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 einzu
schreibende Nachricht enthält, wird einer Speicher-Anforde
rungslogik 33 eine Speicherübertragungs-Anforderung zuge
fü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 Nach
richt der im FIFO-Register 32 enthaltenen Schlange freigege
ben, 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 über
schrieben werden kann und die von diesem Knoten erzeugten
Nachrichten in dem FIFO-Register 24 gesammelt sind und in
chronologischer Ordnung übertragen werden, wird jede Spei
cheradresse in der korrekten Folge berichtigt. Zwar können
die Daten an verschiedenen Adressen chronologisch etwas
außer Tritt geraten, jedoch ist in interaktiven Realzeitsy
stemen die Änderungsrate gespeicherter Parameter im Ver
gleich 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ög
licht. Fig. 5 veranschaulicht die Konfiguration nach An
spruch 2, d. h. eine Folge von Knoten N, die durch einen
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 norma
lerweise unter Verwendung des Busses RM1 arbeiten, während
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örungs
sichere/selbstheilende Anordnung geschaffen werden. Weitere
Systemsicherheit könnte durch Duplizieren der Verarbei
tungsknoten 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 reflek
tierende Speicherbus mit jedem Knoten verbunden, so daß die
beiden am weitesten entfernten Knoten nicht weiter voneinan
der entfernt sein dürfen, als es die Reichweite des 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 veran
schaulicht eine Anordnung nach der Erfindung, die es ermög
licht, den Abstand zwischen den am dichtesten benachbarten
Knoten gleich der maximalen Übertragungslänge des reflektie
renden Speicherbusses zu machen.
In der Anordnung nach Fig. 7 ist eine Anzahl von sechs
Knoten N1 bis N6 in fünf Paaren N1 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 Knoten
paare sind durch entsprechende reflektierende Speicherbusse
RM1 bis RM 5 miteinander verbunden. Bei jedem Knoten ist ein
Speicher in einen lokalen und einen gemeinsamen Datenab
schnitt unterteilt, jedoch ist der Abschnitt für die gemein
samen 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 Kno
tens N2 in drei Teilabschnitte, wogegen derjenige des Kno
tens N4 nicht unterteilt ist. Jeder Teilabschnitt des ge
meinsamen 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 ge
meinsamen Speichers einzuschreiben und ist nur dann erfolg
reich, 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 Übertra
gung der in den eigenen gemeinsamen Speicher eingeschriebe
nen 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üh
rungsbeispiel 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 gestri
chelte Linie zwischen den Knoten N4 und N5 dargestellt ist.
Wenn vom Knoten N1 stammende Daten in den gemeinsamen Spei
cher des Knotens 5 einzuschreiben sind, könnte das Programm
dazu eingerichtet sein, die Daten über RM1 und RM4 zu über
tragen oder, wenn diese Verbindung versagt, statt dessen den
Weg über RM3 und RM6 auszuwählen. Alles was hierzu erforder
lich ist, ist eine Programmroutine, welche die Teilabschnit
te 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 entspre
chende reflektierende Speicherbusse einzelne Knoten paarwei
se miteinander verbunden sind, die Knoten zu jeweils neun
Knoten umfassende Gruppen zusammengefaßt sind, und diese
Gruppen ihrerseits durch weitere reflektierende Speicherbus
se 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 weite
ren Knoten N1 bis N8 verbunden ist, welche den Knoten nach
Fig. 2 entsprechen, die die Prozessoreinheit 11 enthalten.
Die Knoten N8 sind paarweise durch reflektierende Speicher
busse RM1 bis RMn verbunden und arbeiten als "Software-Wech
selstellen" in der gleichen Weise wie der Knoten N2 in der
Anordnung nach Fig. 7.
Sie "Software-Wechselstellen" zwischen verschiedenen reflek
tierenden Speicherbussen führen gewisse Verzögerungen bei
der Datenübertragung zwischen den Bussen ein. Fig. 9 veran
schaulicht eine "Wiederholungs-Einheit", die als Ersatz für
eine "Software-Wechselstelle" konzipiert ist und eine auto
matische 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 RN2 und RM3 und
besteht aus drei Sätzen von Lese/Schreib-Abtasteinrichtun
gen, 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 Spei
cherbus übertragenen Daten in genau der gleichen Weise
behandelt wie Daten, die von einem anderen Knoten auf diesem
Bus erzeugt wurden. Daten werden auch in der Wiederholungs-
Einheit durch FIFO-Register gepuffert, um die Bus-Anforde
rung ebenso zu steuern wie bei einem normalen Knoten. Es
wird für die Datenübertragung zwischen Bussen kein Softwa
re-Overhead benötigt und es ist der Verkehr auf den Bussen
auf denjenigen begrenzt, der für die Auswahl des Adressenbe
reiches, 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 Stand
by-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.
Claims (6)
1. Datenverarbeitungssystem mit:
Vielzahl von Verarbeitungsknoten (11, 13), wobei jeder
Verarbeitungsknoten jeweils eine Prozessoreinrichtung (11),
eine Speichereinrichtung (16) und eine Datenübertragungsein richtung (17) aufweist, wobei jede Prozessoreinrichtung über einen Datenbus (12) mit seiner jeweiligen Speichereinrichtung (16) und seiner jeweiligen Datenübertragungseinrichtung verbun den ist,
einer Datenleitung (18), über die die einzelnen Datenübertra gungseinrichtungen (17) miteinander verbunden sind,
wobei jede Speichereinrichtung (16) einen gemeinsamen Speicher bereich aufweist und wobei jede Datenübertragungseinrichtung (17) eine Einrichtung aufweist, die erkennt, wenn die Prozes soreinrichtung des entsprechenden Knotens Daten in den gemein samen Speicherbereich der entsprechenden Speichereinrichtung (16) einschreibt und veranlaßt, daß die entsprechenden Daten über die Datenleitung (18) den übrigen Datenübertragungsein richtungen (17) zugeführt werden, um von diesen empfangen und jeweils in den gemeinsamen Speicherbereich der entsprechenden Speichereinrichtung (16) eingeschrieben zu werden,
wobei die Übertragung von Daten an die übrigen Datenübertra gungseinrichtungen (17) unabhängig von Schreib- oder Leseopera tionen der Prozessoreinrichtung des entsprechenden Verarbei tungsknotens erfolgt und wobei das Empfangen der Daten an den übrigen Datenübertragungseinrichtungen unabhängig von Schreib- oder Leseoperationen der entsprechenden übrigen Prozessorein richtungen erfolgt.
eine Speichereinrichtung (16) und eine Datenübertragungsein richtung (17) aufweist, wobei jede Prozessoreinrichtung über einen Datenbus (12) mit seiner jeweiligen Speichereinrichtung (16) und seiner jeweiligen Datenübertragungseinrichtung verbun den ist,
einer Datenleitung (18), über die die einzelnen Datenübertra gungseinrichtungen (17) miteinander verbunden sind,
wobei jede Speichereinrichtung (16) einen gemeinsamen Speicher bereich aufweist und wobei jede Datenübertragungseinrichtung (17) eine Einrichtung aufweist, die erkennt, wenn die Prozes soreinrichtung des entsprechenden Knotens Daten in den gemein samen Speicherbereich der entsprechenden Speichereinrichtung (16) einschreibt und veranlaßt, daß die entsprechenden Daten über die Datenleitung (18) den übrigen Datenübertragungsein richtungen (17) zugeführt werden, um von diesen empfangen und jeweils in den gemeinsamen Speicherbereich der entsprechenden Speichereinrichtung (16) eingeschrieben zu werden,
wobei die Übertragung von Daten an die übrigen Datenübertra gungseinrichtungen (17) unabhängig von Schreib- oder Leseopera tionen der Prozessoreinrichtung des entsprechenden Verarbei tungsknotens erfolgt und wobei das Empfangen der Daten an den übrigen Datenübertragungseinrichtungen unabhängig von Schreib- oder Leseoperationen der entsprechenden übrigen Prozessorein richtungen erfolgt.
2. Datenverarbeitungssystem nach Anspruch 1, bei dem die Daten
übertragungseinrichtung aufweist:
einen Schreibsensor (22), der feststellt, daß Daten von dem zu geordneten Verarbeitungsknoten in die Speichereinrichtung ge schrieben worden sind,
eine Vergleichseinrichtung (21) zum Bestimmen, ob die entspre chenden Daten innerhalb eines vorgegebenen Adreßbereichs der Speichereinrichtung eingeschrieben worden sind,
eine Warteschlangeneinrichtung (24) zum Zwischenspeichern der in dem vorgegebenen Adreßbereich gespeicherten Daten in einer Warteschlange, und
einer Einrichtung (26) zum Übertragen der zwischengespeicherten Daten über die Datenleitung (18).
einen Schreibsensor (22), der feststellt, daß Daten von dem zu geordneten Verarbeitungsknoten in die Speichereinrichtung ge schrieben worden sind,
eine Vergleichseinrichtung (21) zum Bestimmen, ob die entspre chenden Daten innerhalb eines vorgegebenen Adreßbereichs der Speichereinrichtung eingeschrieben worden sind,
eine Warteschlangeneinrichtung (24) zum Zwischenspeichern der in dem vorgegebenen Adreßbereich gespeicherten Daten in einer Warteschlange, und
einer Einrichtung (26) zum Übertragen der zwischengespeicherten Daten über die Datenleitung (18).
3. Datenverarbeitungssystem nach Anspruch 2, bei dem jede Da
tenübertragungseinrichtung weiterhin aufweist:
einen Empfänger (28) zum Erkennen von Daten, die auf der Daten leitung (18) übertragen worden sind, und
eine weitere Warteschlangeneinrichtung (32) zum Empfangen der übertragenen Daten von dem Empfänger zum Zwischenspeichern der empfangenen Daten in einer Warteschlange und zum Einschreiben der empfangenen Daten in den gemeinsamen Speicherbereich der entsprechenden Speichereinrichtung (16).
einen Empfänger (28) zum Erkennen von Daten, die auf der Daten leitung (18) übertragen worden sind, und
eine weitere Warteschlangeneinrichtung (32) zum Empfangen der übertragenen Daten von dem Empfänger zum Zwischenspeichern der empfangenen Daten in einer Warteschlange und zum Einschreiben der empfangenen Daten in den gemeinsamen Speicherbereich der entsprechenden Speichereinrichtung (16).
4. Datenverarbeitungssystem nach Anspruch 3, bei der der Emp
fänger (28) jeder Datenübertragungseinrichtung weiterhin auf
weist:
eine Vergleichseinrichtung (29) zum Feststellen, ob die über tragenen Daten eine Adresse aufweisen, die innerhalb eines wei teren vorgegebenen Adreßbereichs liegt und eine weitere Warte schlangeneinrichtung (32), welche so ausgelegt ist, daß sie le diglich die Daten zwischenspeichert, deren Adresse sich inner halb des weiteren vorgegebenen Adreßbereichs befindet und diese Daten in den gemeinsamen Speicherbereich der Speichereinrich tung einschreibt.
eine Vergleichseinrichtung (29) zum Feststellen, ob die über tragenen Daten eine Adresse aufweisen, die innerhalb eines wei teren vorgegebenen Adreßbereichs liegt und eine weitere Warte schlangeneinrichtung (32), welche so ausgelegt ist, daß sie le diglich die Daten zwischenspeichert, deren Adresse sich inner halb des weiteren vorgegebenen Adreßbereichs befindet und diese Daten in den gemeinsamen Speicherbereich der Speichereinrich tung einschreibt.
5. Datenverarbeitungssystem nach einem der vorhergehenden An
sprüche, bei dem eine Prozessoreinrichtung der Master für einen
vorgegebenen Adreßbereich in dem gemeinsamen Speicherbereich
jeder Speichereinrichtung ist, so daß andere Prozessoreinrich
tungen keine Daten innerhalb dieses vorgegebenen Adreßbereichs
einschreiben können.
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 DE3508291A1 (de) | 1985-09-12 |
DE3508291C2 true 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 |
SG49752A1 (en) * | 1990-01-05 | 1998-06-15 | 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 |
DE69230093T2 (de) * | 1991-11-19 | 2000-04-13 | Ibm | Multiprozessorsystem |
AU3936693A (en) * | 1992-03-25 | 1993-10-21 | Encore Computer U.S., Inc. | Fiber optic memory coupling system |
EP0632912B1 (de) * | 1992-03-25 | 2001-01-31 | Sun Microsystems, Inc. | Echtzeitverarbeitungssystem |
CA2137157A1 (en) * | 1992-06-12 | 1993-12-23 | Edward R. Sederlund | 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 |
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 |
US5581703A (en) * | 1993-06-29 | 1996-12-03 | International Business Machines Corporation | Method and apparatus for reserving system resources to assure quality of service |
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. |
US5503559A (en) * | 1993-09-30 | 1996-04-02 | Cedars-Sinai Medical Center | Fiber-optic endodontic apparatus and method |
US5456252A (en) * | 1993-09-30 | 1995-10-10 | Cedars-Sinai Medical Center | Induced fluorescence spectroscopy blood perfusion and pH monitor 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 |
US5754877A (en) * | 1996-07-02 | 1998-05-19 | Sun Microsystems, Inc. | Extended symmetrical multiprocessor architecture |
DE69716170T2 (de) * | 1996-07-02 | 2003-04-30 | Sun Microsystems Inc | Ein Computersystem mit geteiltem SMP |
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 |
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 |
US7028147B2 (en) * | 2002-12-13 | 2006-04-11 | Sun Microsystems, Inc. | System and method for efficiently and reliably performing write cache mirroring |
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 |
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 |
Family Cites Families (22)
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 |
US3889237A (en) * | 1973-11-16 | 1975-06-10 | Sperry Rand Corp | Common storage controller for dual processor system |
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 |
EP0092895B1 (de) * | 1982-04-28 | 1988-05-11 | International Computers Limited | Datenverarbeitungsanlage |
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. |
-
1985
- 1985-03-07 GB GB08505967A patent/GB2156554B/en not_active Expired
- 1985-03-08 DE DE3508291A patent/DE3508291C2/de not_active Expired - Fee Related
- 1985-03-08 CA CA000476086A patent/CA1221463A/en not_active Expired
- 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
Also Published As
Publication number | Publication date |
---|---|
GB8505967D0 (en) | 1985-04-11 |
FR2561009A1 (fr) | 1985-09-13 |
DE3508291A1 (de) | 1985-09-12 |
FR2561009B1 (fr) | 1991-03-29 |
CA1221463A (en) | 1987-05-05 |
GB2156554B (en) | 1987-07-29 |
US4991079A (en) | 1991-02-05 |
US5072373A (en) | 1991-12-10 |
GB2156554A (en) | 1985-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3508291C2 (de) | Datenverarbeitungssystem | |
DE69724846T2 (de) | Mehrweg-Ein/Ausgabespeichersysteme mit Mehrweg-Ein/Ausgabeanforderungsmechanismus | |
DE2523414C3 (de) | Hierarchische Speicheranordnung mit mehr als zwei Speicherstufen | |
EP0010194B1 (de) | Wartungsschnittstelleneinrichtung für eine datenverarbeitende Anlage mit einer zentralen Verarbeitungseinheit und mit einem Dienstprozessor und Verfahren zu ihrem Betrieb | |
DE2645537C2 (de) | ||
DE2908316C2 (de) | Modular aufgebaute Multiprozessor-Datenverarbeitungsanlage | |
DE3932474C2 (de) | Plattenzugriff-Steuerverfahren | |
CH522921A (de) | Rechneranlage | |
DE3015992A1 (de) | Programmierbare logische anordnung | |
DE1279980B (de) | Aus mehreren miteinander gekoppelten Datenverarbeitungseinheiten bestehendes Datenverarbeitungssystem | |
DE2741886A1 (de) | Datenuebertragungseinrichtung | |
DE2244402A1 (de) | Datenverarbeitungsanlage | |
DE2225841C3 (de) | Verfahren und Anordnung zur systematischen Fehlerprüfung eines monolithischen Halbleiterspeichers | |
DE1901036A1 (de) | Anordnung fuer die wiederholte Ausfuehrung fehlerhaft ausgefuehrter Funktionen | |
DE1499194A1 (de) | Speichersystem | |
DE2237672A1 (de) | Fehlerpruef- und fehlerdiagnoseeinrichtung in einer elektronischen datenverarbeitungsanlage und verfahren zu deren betrieb | |
DE69816714T2 (de) | Instrumentationsanordnung für eine Maschine mit nichtuniformen Speicherzugriffen | |
DE60015720T2 (de) | Verfahren und Anordnung zum Arbitrieren des Zugriffes eines Zeitmutiplex-verteilten Speichers von mehreren Prozessoren in einem Echtzeitsystem | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
DE3048414A1 (de) | "schaltungsanordnung fuer eine datenverarbeitungsanlage" | |
DE3037475A1 (de) | Schnittstellenschaltungsanordnung fuer eine datenverarbeitungsanlage | |
DE4406258A1 (de) | Informationsverarbeitungsvorrichtung | |
DE3733278A1 (de) | Messverfahren zur stoerungsanalyse digitaler uebertragungswege und messeinrichtung zur durchfuehrung des messverfahrens | |
EP0350016A1 (de) | Verfahren und Einrichtung zum Duplizieren des Inhalts von Datenträgern | |
DE2647367A1 (de) | Redundante prozessteueranordnung |
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 |