DE2760322C2 - - Google Patents
Info
- Publication number
- DE2760322C2 DE2760322C2 DE2760322A DE2760322A DE2760322C2 DE 2760322 C2 DE2760322 C2 DE 2760322C2 DE 2760322 A DE2760322 A DE 2760322A DE 2760322 A DE2760322 A DE 2760322A DE 2760322 C2 DE2760322 C2 DE 2760322C2
- Authority
- DE
- Germany
- Prior art keywords
- memory
- processor
- channel
- processors
- address
- 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
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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Description
Die Erfindung betrifft ein Mehrprozessor-Mikrorechnersystem
nach dem Oberbegriff des Patentanspruchs 1.
Mikrorechner werden bei einer großen Vielzahl von
Anwendungsgebieten zunehmend wichtig. Da die Wirtschaftlichkeit
bei der Herstellung der Mikroprozessoren
und Mikrorechner zunimmt und die Herstellungskosten sich
reduzieren, werden sie in mehr und mehr Anwendungsgebieten
eingesetzt. Es kann oftmals erwünscht sein, in
Verbindung mit einem einzigen Speicher oder einem Teil
des Speichers mehr als eine Prozessoreinheit zu verwenden.
Dies kann wünschenswert sein, um die von einem
Mikrorechner durchgeführten Funktionen auf zwei oder
mehr Prozessoren zu verteilen, um die Kapazität des
Mikrorechners zu erhöhen. Ein weiterer Vorteil eines
Mehrprozessorsystems besteht darin, daß geringere Kosten
dadurch erzielbar sind, daß ein komplexes System
mit zwei oder mehreren relativ billigen Prozessoren
im Gegensatz zu einem komplizierteren und folglich
teureren Prozessor verwirklicht wird. Ein weiterer
erzielbarer Vorteil besteht darin, daß sich ein System
ausbilden läßt, bei dem im Falle der Störung eines einzelnen
Prozessors ein zweiter Prozessor die Funktionen
des gestörten Prozessors ausführt, so daß auf diese
Weise ein bei Einzelprozessorsystemen nicht vorhandener
Grad an Redundanz vorhanden ist. Ein weiterer Vorteil
eines Mehrprozessor-Mikrorechnersystems besteht darin,
daß der Informationsaustausch zwischen zwei oder mehreren
Prozessoren über einen gemeinsam genutzten Speicher
erfolgen kann, zu dem jeder Prozessor direkten Zugriff
besitzt. Ein derartiges System besitzt die Kapazität
zur gemeinsamen Nutzung nicht nur von Daten,
sondern auch von Programminformation, und besitzt
den weiteren Vorteil, daß es einem Prozessor ermöglicht
ist, die Programmierung eines anderen Prozessors
durch Veränderung der in einem einzigen Speicher gespeicherten
Befehle durchzuführen.
Viele augenblicklich in Verwendung befindliche
Mikroprozessoren sind entsprechend einer Sammelkanal-
Verbindungsstruktur organisiert, die für den Informationsaustausch
zwischen dem Mikroprozessor und anderen
Komponenten des Mikrorechnersystems, wie z. B. dem
Speicher und Eingabe/Ausgabeeinrichtungen vorgesehen
ist. Eine Sammelkanal-Verbindungsstruktur ermöglicht
eine rasche Veränderung des Mikrorechnersystems durch
Substitution von Komponenten, ohne daß eine physikalische
Änderung des Hardware-Grundsystems erforderlich
wäre. Es ist daher wünschenswert, daß ein gemeinsam
genutzter Speicher zur Verwendung in Verbindung mit
einem Mehrprozessor-Mikrorechnersystem mit einer Sammelkanal-
Verbindungsstruktur kompatibel ist.
Mikroprozessoren, die in Verbindung mit einem gemeinsam
genutzten Speicher betrieben werden, arbeiten
oft in einer Betriebsart, bei der der zugeordnete
Speicher lediglich für einen Teil der Zeit aktiv verwendet
wird, wobei dies typischerweise in Übereinstimmung
mit einem Taktsignal erfolgt, und wobei die tatsächliche
Verbindung zu Speicher nur während einer
bestimmten Phase des Taktsignals erforderlich ist.
Ein Merkmal gewisser gemeinsam genutzter Speicher
besteht darin, daß sie auf Bedienungsaufrufe von einem
Mikroprozessor schneller antworten können als es dem
Prozessor möglich ist, die Bedienung zu verwenden. So
können z. B. in einen Speicher Daten schneller eingeschrieben
bzw. von einem Speicher schneller ausgelesen
werden als bestimmte Mikroprozessoren in der Lage sind,
die Lese- oder Schreiboperationen durchzuführen. Es besteht
somit ein allgemeines Bedürfnis, den Wirkungsgrad
der gemeinsamen Nutzung eines einzigen Speichers
durch zwei oder noch mehr Prozessoren zu erhöhen.
Dadurch soll vor allem die Zeit, während der der Speicher
nicht aktiv ist, vermindert werden.
Aus der Zeitschrift "IBM-Nachrichten", Februar 1969,
Seiten 549 bis 564 (insbesondere Seite 551, letzter
Absatz und Seite 552, erster Absatz) ist es bekannt,
bei der Zusammenarbeit zweier Prozessoren mit einem
gemeinsamen Hauptspeicher eine die Speicherbenutzung
regelnde Zusatzeinrichtung vorzusehen. Diese Zusatzeinrichtung
regelt dort den Zugriff zu einem Hauptspeichermodul
für den Fall, daß gleichzeitig von beiden
Prozessoren konkurrierende Hauptspeicher-Zugriffsanforderungen
für denselben Modul anstehen. Tritt dieser Fall
kontinuierlich auf, so werden beide Prozessoren abwechselnd
bedient. Eine dieser Zuteilungsregel entsprechende
Methode ist auch aus der Druckschrift
"IEEE Transactions on Computers", September 1975, Seiten
931 und 932, bekannt, wonach bei ständiger gleichzeitiger
Anforderung des Zugriffs zu einer gemeinsamen Funktionseinheit
durch zwei konkurrierende Einheiten der
Zugriff abwechselnd gewährt wird.
Ausgehend von einem Mehrprozessor-Mikrorechnersystem
nach dem Oberbegriff des Patentanspruchs 1 liegt der Erfindung
die Aufgabe zugrunde, bei gleichzeitiger Speicherzugriffsanforderung
durch die Prozessoren für eine automatische
Speicherzugriffszuteilung in einer solchen Weise
zu sorgen, daß der gemeinsame Speicher möglichst optimal
genutzt wird.
Diese Aufgabe wird durch die Merkmale im Kennzeichen
des Patentanspruchs 1 gelöst. Gemäß der beanspruchten
Lösung wird vorgeschlagen, bei gleichzeitig
anliegenden Speicherzugriffsanforderungen zur Lösung
der Zugriffskonfliktsituation auch Statussignale oder
Zustandssignale, die Auskunft über den jeweiligen Betriebszustand
der Prozessoren geben, heranzuziehen. Die
Erfindung bietet den Vorteil einer höheren Arbeitsgeschwindigkeit
des Systems durch zeitlich bessere Nutzung
des gemeinsamen Speichers.
Im folgenden werden Ausführungsbeispiele der
Erfindung an Hand der Zeichnung näher erläutert.
In den Figuren zeigt
Fig. 1 ein Blockschaltbild eines Mehrprozessor-
Mikrorechners, bei dem der Speicher von zwei oder mehr
Prozessoren gemeinsam genutzt ist;
Fig. 2 einen Schaltplan eines gemeinsam genutzten
Speichers zur Benutzung mit zwei Prozessoren;
Fig. 3 einen Schaltplan eines ersten Ausführungsbeispiels
der Erfindung; und
Fig. 4 einen Schaltplan eines zweiten Ausführungsbeispiels
der Erfindung.
Ein Mikrorechner mit zwei Prozessoren ist in
Form eines Blockschaltbildes in Fig. 1 dargestellt und enthält
einen gemeinsam genutzten Speicher. Der Rechner ist allgemein
mit dem Bezugszeichen 10 bezeichnet und enthält einen ersten Prozessor
12 und einen zweiten Prozessor 14. Es sei darauf hingewiesen,
daß die Erfindung zwar in Verbindung mit Fig. 1 an Hand
eines zwei Prozessoren enthaltenden Mehrprozessoren-Mikrorechners
erläutert wird, daß es jedoch für den Fachmann ohne weiteres möglich
ist, zwei, drei oder mehr Prozessoren gemäß den Angaben der
Erfindung mit einem einzigen gemeinsam genutzten Speicher zu verbinden.
Mit dem Prozessor 12 ist eine erste Sammelkanalanordnung
16 verbunden, die einen Adressen-Sammelkanal 18, einen Datenausgabe-
Sammmelkanal 20, einen Dateneingabe-Sammelkanal 22, einen
Lese/Schreibsteuerkanal 24 und einen Wartekanal 26 aufweist. Obwohl
der Lese-Schreibsteuerkanal und der Wartekanal als einzelne
Leitung dargestellt sind und die Adressen- und Datenkanäle als
drei Leitungen dargestellt sind, kann der genaue Aufbau der Kanäle
je nach der Art und der Anzahl der längs der Kanäle zu übertragenden
Signale verändert sein. So ist es z. B. oftmals angenehm,
parallele Adressendateneingänge und -Ausgänge mit bis zu 16 Bits
vorzusehen. Es sei bemerkt, daß der Adressenkanal eine ausreichende
Anzahl verschiedener elektrischer Verbindungen enthält, um die
erforderliche Anzahl an Bits zu liefern. In ähnlicher Weise können
die Datenausgabe- und Dateneingabe-Kanäle je 8 Bits von Parallelformatinformation
enthalten, es sind daher acht Leitkanäle für
den Dateneingabe- und den Datenausgabekanal erforderlich. Beim
Lese/Schreib- und beim Wartekanal kann jeweils nur eine elektrische
Referenzleitung nach Masse, oder es können alternativ zwei
oder mehr Leiter vorgesehen sein, sofern dies erwünscht ist. Die
spezielle Form der verschiedenen Sammelleiter hängt von der Organisation
des Prozessors und der zugeordneten Hilfseinrichtungen
ab, die gemäß der Erfindung verwendet werden. Obwohl nicht dargestellt,
lassen sich zusätzliche Kanäle gemäß den einzelnen
Ausführungsformen dieser Erfindung vorsehen. So sollen z. B., obwohl
nicht dargestellt, Leistungsversorgungskanäle in dem Mikrorechnersystem
10 der Fig. 1 enthalten sein.
Eine zweite Gruppe von Kanälen, die im wesentlichen mit den
Kanälen 18 bis 26 identisch ist, ist mit dem zweiten Prozessor 14
verbunden. Diese Kanäle 18′, 20′, 22′, 24′ und 26′ entsprechen
den im Prozessor 12 zugeordneten Kanälen 18 bis 26. Beide Prozessoren
12 und 14 und die zugehörige Kanalordnung ist mit
bestimmten peripheren Komponenten versehen. Der Prozessor 12 ist
über die Kanalanordnung 16 mit der Eingabe/Ausgabeeinrichtung 30
und dem lokalen Speicher 32 verbunden. Der Prozessor 14 und die
zugehörige Kanalanordnung 16′ ist mit der Eingabe/Ausgabeeinrichtung
34, der Eingabe/Ausgabeanordnung 36 und dem lokalen Speicher
38 verbunden. Die Verbindungen zwischen den Prozessoren und den
angegebenen zugeordneten Einrichtungen sind herkömmlicher Art und
werden daher nicht in großer Breite beschrieben. Die Adressenkanäle
18 und 18′ werden von den Prozessoren 12 und 14 mit Adresseninformation
versorgt, die jeder Einrichtung zugeführt wird,
die an die Kanalanordnung angeschlossen ist. Die in einem beliebigen
Zeitpunkt auf einem Adressenkanal vorhandene Adresse
entspricht einer speziellen Adresse in einer speziellen Einrichtung,
wobei Zugriff zu dieser Einrichtung und zu einem speziellen
Platz in dieser Einrichtung gewonnen wird, der, bzw. dem die Adresse
entspricht. Zum Beispiel möge eine spezielle 16-Bitadresse
irgendeinem Speicherplatz im Speicher entsprechen. Wenn diese
spezielle Bit-Kombination auf der Adressenleitung erscheint, ist
dieser Speicherplatz für den Prozessor verfügbar. Die Kanäle 20
und 22 stellen zusammen mit den entsprechenden Kanälen 20′ und
22′ Dateneingabe- und Datenausgabekanäle dar. Diese Kanäle stellen
Pfade zwischen Einrichtungen für Daten dar, die von einer Einrichtung
zu einer anderen übertragen werden sollen. Die Dateneingabe-
und Ausgabekanäle führen die aktuellen Daten zwischen den Einrichtungen.
So lassen sich z. B. Daten in dem Speicher einschreiben
bzw. aus dem Speicher auslesen, indem eine Speicheradresse auf
dem Adressenkanal und Daten vom Prozessor auf denjenigen Datenausgabekanal
vorhanden sind, von dem die Daten durch die adressierte
Einrichtung empfangen werden. Es sei bemerkt, daß es erforderlich
sein kann, dem Speicher weitere Signale zuzuführen,
so z. B. Signale von dem Typ, der auf den Lese/Schreibkanälen 24
und 24′ geführt wird, bevor Daten in den Speicher oder eine andere
Einrichtung eingegeben bzw. entnommen werden können.
Wartekanäle 26 und 26′ liefern Signale vom Einrichtungsaufrufdienst,
wenn die Einrichtung, deren Dienst aufgerufen ist, einen
Aufruf nicht erfüllen kann. Wenn z. B. Daten von einem Prozessor
einer Eingabe/Ausgabeeinrichtung zugeführt werden, so ist oftmals
der Prozessor in der Lage, die Daten mit einer größeren
Geschwindigkeit zu liefern, als es die Eingabe/Ausgabeeinrichtung
brauchen kann. Um zu verhindern, daß Daten verloren gehen,
wird ein Wartesignal dem Prozessor zugeführt, um die Geschwindigkeit
des Datenflusses vom Prozessor zur Eingabe/Ausgabeeinrichtung
in dem Umfang zu ermäßigen, daß die Daten mit einer
Geschwindigkeit geliefert werden, die für die Eingabe/Ausgabeeinrichtung
passend ist. Dieselbe Beziehung kann zwischen beliebigen
zwei Einrichtungen auftreten, wenn die Geschwindigkeit,
mit der diese Einrichtungen verschiedene Operationen ausführen,
verschieden sind.
Zusätzlich zu den oben angegebenen Einrichtungen enthält der
Mikrorechner 10 einen gemeinsam genutzten Speicher 40. Der gemeinsam
genutzte Speicher 40 ist mit den beiden Prozessoren 12
und 14 zugeordneten Kanalanordnungen verbunden. Gemäß einer bevorzugten
Ausführungsform der Erfindung enthält der gemeinsam
genutzte Speicher einen einzigen Speicher, zu dem beide Prozessoren
12 und 14 Zugriff besitzen. Der gemeinsam genutzte Speicher
40 erscheint den einzelnen Prozessoren gegenüber als
ein Teil des gesamten, jedem Prozessor zugänglichen Speichers.
Eine bevorzugte Ausführungsform des erfindungsgemäßen gemeinsam
genutzten Speichers ist in Fig. 2 dargestellt. Ein Speicher 50,
der bevorzugt als Direktzugriffsspeicher (Speicher mit wahlfreiem
Zugriff) ausgebildet ist, besitzt einen Adresseneingang
52, einen Dateneingabe-Eingang 54, einen Datenausgabe-Eingang 56,
einen Lese/Schreibsteuer-Eingang 58 und einen Speicheransteuereingang
60. Wie in Verbindung mit der Fig. 1 erläutert wurde,
können die Adressen-, Dateneingabe-, Datenausgabe-, Lese/Schreib-
und Speicheransteuereingänge eine oder mehrere physikalische Verbindungsanschlüsse
besitzen. Der Adresseneingang 52 des Speichers
50 ist mit Pufferspeichern 62 und 64 mit drei Zuständen verbunden.
Die Pufferspeicher 62 und 64 stellen eine selektive Verbindung
zwischen dem Adresseneingang 52 des Speichers 50 und
geeigneten Adressenkanälen dar, die den beiden Prozessoren zugeordnet
sind, die Zugriff zum Speicher besitzen. Gemäß der Erfindung
kann der gemeinsam genutzte Speicher nach
Fig. 2 in Verbindung mit einer Mikrorechnerstruktur gemäß Fig. 1
verwendet werden, und die anschließende Erläuterung wird ergeben,
daß der gemeinsam genutzte Speicher nach Fig. 2 dem
gemeinsam genutzten Speicher 40 in Fig. 1 entspricht. Die Pufferspeicher
62 und 64 mit drei Zuständen sind folglich mit den
Adressenkanälen 18 und 18′ nach Fig. 1 verbunden. Während die
Pufferspeicher 62 und 64 mit drei Zuständen als einzelne Blöcke
dargestellt sind, können, falls erforderlich, Mehrfachblöcke
verwendet werden, um Vielfach-Adressenverbindungen zu verwirklichen.
Die Pufferspeicher 62 und 64 mit drei Zuständen besitzen
die Eingangsanschlüsse 66 und 68 und die Ausgangsanschlüsse 70
bzw. 72. Der Pufferspeicher 62 ist mit einem Toreingangsanschluß
74 versehen, der in dieser speziellen Ausführungsform der Erfindung
ein invertierender Eingangsanschluß ist, d. h. ein Anschluß,
der den Pufferspeicher 62 aktiviert, wenn ein Masse- oder logisches
Nullsignal an diesem Anschluß anliegt. Ein entsprechender
Toreingangsanschluß 76 ist am Pufferspeicher 64 vorgesehen. Die
Pufferspeicher 62 und 64 mit drei Zuständen stellen eine selektive
Verbindung zwischen den Eingängen 66 und 68 und den Ausgängen
70 und 72 dar. Wenn ein logisches Signal mit Nullpegel an
Toreingangsanschluß 74 anliegt, so wird z. B. eine elektrische
Verbindung mit kleiner Impedanz zwischen dem Eingang 66 und dem
Ausgang 70 hergestellt. Wenn der Toranschluß 74 mit einer positiven
Spannung, einer logischen "Eins", versehen wird, wird zwischen
dem Eingang 66 und dem Ausgang 70 keine Verbindung hergestellt,
der Ausgang 70 besitzt kein festes Potential (er floatet),
d. h. er ist weder mit einem Null- oder einem Plussignal verbunden,
sondern er verweilt in einem im wesentlichen unvollendetem Zustand.
Die Betriebsweise des Pufferspeichers 64 ist identisch.
Die Funktion der Pufferspeicher 62 und 64 mit drei Zuständen
läßt sich einfach durch Analogie mit einem elektrischen Relais
mit einem einzigen Pol und einem einzigen Kippelement verdeutlichen,
wobei die Eingangs- und Ausgangsanschlüsse 66 und 70
die Kontakte des Relais darstellen, und der Toranschluß 74
eine Verbindung zur Spule des Relais darstellt.
Weitere Pufferspeicher 78 und 80 mit drei Zuständen liefern eine
selektive Verbindung von den Lese/Schreibeingängen 82 und 84 zu
den Lese/Schreibeingängen 58 des Speichers 50. Pufferspeicher
86 und 88 mit drei Zuständen liefern in ähnlicher Weise eine
Verbindung von den Eingängen 90 und 92 zu dem Dateneingabeeingang
54, während Pufferspeicher 94 und 96 eine Verbindung vom
Datenausgabe-Anschluß 56 des Speichers 50 zu den Ausgangsanschlüssen
98 und 100 liefern. Es sei bemerkt, daß die Pufferspeicher
78, 80, 86, 88, 94 und 96 ebenso wie die Puffer 62 und
64 mehr als eine elektrische Verbindung zu den entsprechenden
Kanälen herstellen können. Die Natur der Pufferspeicher gestattet
eine direkte Verbindung zu entsprechenden Kanälen des Mikrorechnersystems.
So ist z. B. der Pufferspeicher 62 mit dem Kanal
18, der Pufferspeicher 64 mit dem Kanal 18′, der Pufferspeicher
78 mit dem Kanal 24, der Pufferspeicher 80 mit dem Kanal 24′,
der Pufferspeicher 86 mit dem Kanal 20, der Pufferspeicher 88
mit dem Kanal 20′, der Pufferspeicher 94 mit dem Kanal 22 und
der Pufferspeicher 96 mit dem Kanal 22′ verbunden. Der in Fig.
2 dargestellte gemeinsam genutzte Speicher enthält UND-Tore 102
und 104, die gemäß der Erfindung mit demjenigen Teil der Kanäle
18 und 18′ verbunden sind, der die Adressenbits hoher Ordnung
führt. Der Adressenkanal führt, wie an sich bekannt ist, mehrere
Adressenbits in binärer Form. Verdeutlicht man sich die Adressendaten
in paralleler Form, so werden die Adressenbits höherer
Ordnung nicht benötigt, um lediglich eindeutig eine Adresse im
Speicher 50 zu spezifizieren, wenn die im Speicher 50 enthaltene
Anzahl von Adressen kleiner als die Gesamtzahl der adressierbaren
Adressen ist. Die Adressenbits höherer Ordnung sind jedoch erforderlich,
um den Block der vom Speicher 50 repräsentierten
Speicheradressen von den restlichen Speicheradressen zu unterscheiden,
die vom Prozessor erreichbar sind. Die Adressenbits
höherer Ordnung werden folglich den UND-Toren 102 und 104 zugeführt,
die an den Ausgängen 106 und 108 Signale abgeben, wenn
der Speicher 50 adressiert wird. Beide UND-Tore 102 und 104 enthalten
mehrere Eingänge 110 und 112, deren genaue Zahl je nach
der relativen Größe des Speichers 50 und der Adressierkapazität
des Prozessors unterschiedlich ist. Da die UND-Tore 102 und 104
Ausgangssignale abgeben, wenn ihr Eingangsanschluß auf einem
hohen logischen Pegel liegt, erfolgt ein Zugriff zum Speicher 50,
wenn der betreffende Prozessor den Teil des Speichers mit den
höchsten Adressenplätzen adressiert. Wenn z. B. 16 Bits vom Prozessor
an den Adressenkanal abgegeben werden, und wenn ferner
der Speicher 50 z. B. 8000 Adressen enthält, und wenn ferner die
8000 Adressen die höchsten 8000 vom Prozessor adressierbaren
Adressen darstellen, und wenn ferner die 8000 Adressen ein Achtel
der Gesamtzahl der vom Prozessor adressierbaren Adressen darstellen,
dann werden drei binäre Bits benötigt, um eindeutig zu bestimmen,
welcher der acht Blöcke des Speichers adressiert wird.
In der in Fig. 2 dargestellten Ausführungsform der Erfindung
werden daher die drei Adressenbits der höchsten Ordnung den Eingängen
110 des UND-Tors 102 zugeführt, und es wird ein Ausgangssignal
am Ausgang 106 erzeugt, wenn alle Eingänge 110 hoch liegen.
Es sei bemerkt, daß jeder beliebige der anderen sieben Blöcke
des Speichers am Eingang 110 des UND-Tors 102 mindestens ein
Bit erzeugt, das null ist oder einen niedrigen Pegel besitzt, wodurch
am Ausgang 106 kein Ausgangssignal erzeugt wird. Sofern es
gemäß der Erfindung erwünscht ist, eine andere als die höchste
Gruppe der Speicheradressen zu adressieren, lassen sich Inverter
zwischen dem Teil hoher Ordnung des Adressenkanals und dem UND-
Tor 102 einfügen, um am Eingang 110 ein Eingangssignal zur Verfügung
zu stellen, das drei logische "Eins"-Werte aufweist. Der
Speicher 50 erscheint daher dem Prozessor als irgendein Block
aus einer Anzahl von Blöcken von Speicherplätzen. Die Tore 102
und 104 lassen sich so ausbilden, daß der Speicher 50 gegenüber
den beiden Prozessoren 12 und 14 als ein unterschiedlicher Teil des
Speichers erscheint, der von den betreffenden Prozessoren adressierbar
ist. Es wird angenommen, daß z. B. drei Bits der Adressendaten
den beiden Toren 102 und 104 zugeführt werden, und daß ferner
alle dem Tor 104 zugeführten Bits invertiert werden, bevor
sie den Eingang 112 des Tors 104 erreichen. Das Tor 104 liefert
ein Ausgangssignal am Ausgangsanschluß 108, wenn alle die Adressenbits
hoher Ordnung null und nicht eins sind, und der Speicher
50 erscheint gegenüber dem Prozessor 14 als die niedersten 8000
Speicheradressen und dem Prozessor 12 gegenüber als die höchsten
8000 Speicheradressen.
Die UND-Tore 116 und 118 liefern die Endverbindung zur Kanalanordnung
der beiden Prozessoren an den Ausgängen 120 bzw. 122.
Der Ausgang 120 ist mit dem Wartekanal 26, und der Ausgang 122
mit dem Wartekanal 26′ verbunden. Der gemeinsam genutzte Speicher
nach Fig. 2 braucht nur mit den Kanalanordnungen der beiden
Teile des Mehrprozessoren-Mikrorechners nach Fig. 1 verbunden
werden. Es ist keine zusätzliche Steuerung erforderlich, und es
wird auch keine direkte Verbindung zwischen den beiden Kanalanordnungen
hergestellt.
Der Betrieb des gemeinsam genutzten Speichers nach Fig. 2 erfordert,
daß eine Anzahl von Bedingungen erfüllt ist. Der Speicher 50
läßt sich von beiden Prozessoren 12 oder 14 adressieren, aber er
kann nicht gleichzeitig von beiden Prozessoren adressiert werden.
Wenn nur ein Prozessor den Speicher adressiert, ermöglicht der
gemeinsam genutzte Speicher nach Fig. 2 jedem Prozessor den Zugriff.
Wenn beide Prozessoren gleichzeitig Zugriff verlangen, wird
demjenigen Prozessor der Zugriff ermöglicht, der als letzter den
Speicher benutzte. Der Bedienungsaufruf durch einen Prozessor wird
durch eine hohes Ausgangssignal an den Ausgängen 106 oder 108 der
Tore 102 und 104 angezeigt. Zum Zwecke der Dikussion wird von
"hohen" und "niederen" Signalen gesprochen. Es sei jedoch darauf
hingewiesen, daß hiermit hohe und niedere logische Signalpegel
gemeint sind, die nicht notwendigerweise mit den speziellen relativen
Größen übbereinstimmen. Die "hohen" und die "niederen"
Signale betreffen logische "Eins"-Signale bzw. logische "Null"-
Signale. Es wird zuerst angenommen, daß lediglich der Ausgang
106 des UND-Tors 102 erregt ist und ein hohes Signal erzeugt,
das angibt, daß ein Prozessor 12 Zugriff zum Speicher wünscht.
Ein hohes Signal erscheint am Ausgang 106 des UND-Tors 102 und
gleichzeitig am Eingang 130 des NOR-Tors 132, am Eingang 138
des NAND-Tors 140 und am Eingang 142 des NAND-Tors 144. Da vom
Prozessor 14 keine Bedienung angefordert wird, ist der Ausgang
108 des UND-Tors 104 nieder und liefert ein niederes Signal an:
den Eingang 146 des Inverters 148, den Eingang 150 des NAND-Tors
152 und den Eingang 154 des NAND-Tors 156. Der Inverter 136 liefert
ein niederes Signal an den Eingang 172 des NAND-Tors 152,
dessen Ausgang 174 notwendigerweise hoch sein wird. Der Ausgang
174 des NAND-Tors 152 ist mit dem Eingang 164 des NAND-Tors 166
verbunden und liefert diesem Eingang ein hohes Signal. Da der
Eingang 146 des Inverters 148 nieder ist, liefert der Ausgang 158
des Inverters 148 ein hohes Signal an den Eingang 160 des NAND-
Tors 140. Da der Eingang 138 des NAND-Tors 140 ebenso hoch ist,
ist dessen Ausgang 162 nieder und liefert ein niederes Signal an
den Eingang 176 des NAND-Tors 178, das sicherstellt, daß dessen
Ausgang 182 hoch ist. Der Ausgang 182 ist mit dem Eingang 167 des
NAND-Tors 166 verbunden, und da beide Eingänge 164 und 167 hoch
sind, ist der Ausgang 168 des NAND-Tors 166 nieder und liefert
ein niederes Signal an die Drei-Zustands-Pufferspeicher 62 bzw.
78. Niedere logische Signale werden in ähnlicher Weise dem Eingang
190 des Drei-Zustands-Pufferspeichers 86 und dem Eingang 192
des NAND-Tors 116 zugeführt, das ein hohes Signal am Ausgang 120
abgibt. Es sei daran erinnert, daß die NAND-Tore 116 und 118 mit
den den Prozessoren 12 und 14 zugeordneten Wartekanälen verbunden
sind. Ein niedriges Signal veranlaßt den Prozessor,
zu warten, und ein hohes Signal gestattet es dem Prozessor,
weiter zu arbeiten. Der Drei-Zustands-Pufferspeicher 62 liefert
entsprechend eine Verbindung zwischen seinem Eingang 66 und
dem Ausgang 70 und verbindet dadurch den Adressenkanal 18 mit dem
Eingang 52 des Speichers 50. In ähnlicher Weise wird der Eingang
82 des Drei-Zustands-Pufferspeichers 78 mit dem Eingang 58 des
Speichers 50, und der Eingang 90 des Drei-Zustands-Pufferspeichers
86 mit dem Eingang 54 des Speichers 50 verbunden. Auf diese
Weise werden die richtigen Adressen-, Lese/Schreib- und Datenkanäle
mit dem Speicher verbunden. Die selektive Aktivierung
des Speichers entweder zur Datenaufnahme oder zur Datenabgabe
wird nachfolgend erläutert.
Wenn vom Prozessor 14 alleine Bedienung aufgerufen wird, ist der
Betrieb des gemeinsam genutzten Speichers nach Fig. 2 dem oben
geschilderten Betrieb ähnlich. Der Speicher erzeugt ein niederes
Signal am Ausgang 182 des NAND-Tors 178 und aktiviert dabei
die Drei-Zustands-Pufferspeicher 64, 80 und 88, um eine Verbindung
der Eingänge 68, 84 und 92 zum Speicher 50 zu schaffen.
Wenn gleichzeitig beide Prozessoren 12 und 14 Bedienung anfordern,
hängt der Betrieb des gemeinsam genutzten Speichers davon
ab, welcher der Prozessoren zuletzt Zugriff zum Speicher hatte.
Es wird angenommen, daß vor dem gleichzeitigen Bedienungsaufruf
ein Prozessor 12 zuletzt den Speicher adressierte. Der Ausgang
168 des NAND-Tors 166 liefert ein niederes Signal, während der
Ausgang 182 ein hohes Signal abgibt. Es wird nun angenommen, daß
beide NAND-Tore 102 und 104 niedere Signale abgeben, die anzeigen,
daß keiner der Prozessoren Bedienung anfordert. Ein niederes
Signal wird dem NAND-Tor 140 zugeführt, das ein hohes Signal
an den Eingang 164 des NAND-Tors 166 liefert. Da der Eingang 167
des NAND-Tors 166 mit dem Ausgang 182 des NAND-Tors 178 verbunden
ist, der, wie erinnert sei, ein hohes Signal liefert, verbleibt
das NAND-Tor 166 in seinem vorherigen Zustand und erzeugt
ein niederes Signal an seinem Ausgang 168. Dieses niedere Signal
wird dem Eingang 180 des NAND-Tors 178 zugeführt und stellt
sicher, daß an dessen Ausgang 182 weiterhin ein hohes Signal erzeugt
wird. Es wird gezeigt, daß die NAND-Tore 166 und 178 in
einer Flip-Flop-Schaltungsbeziehung zusammengeschaltet sind und
ein niederes bzw. ein hohes Signal in Abwesenheit von Bedienungsaufrufen
der beiden Prozessoren am Ausgang aufrecht erhalten.
Es wird nun angenommen, daß beide Prozessoren Bedienung anfordern.
Die beiden Ausgänge 106 und 108 sind hoch und liefern daher
hohe Signale an die Inverter 136 und 148, die daher niedere
Signale an ihren Ausgängen 158 bzw. 170 erzeugen, wobei diese
niederen Signale sicherstellen, daß an den Ausgängen 162 und
174 hohe Signale erzeugt werden, die an die Eingänge 176 bzw.
164 gekoppelt werden. Es sei daran erinnert, daß sich das NAND-
Tor 166 zuvor in einem "Ein"-Zustand befand und ein niederes
Signal an seinem Ausgang 168 erzeugt, und daß das NAND-Tor 178
ein hohes Signal an seinem Ausgang 182 erzeugte, wobei diese
Bedingungen während eines gleichzeitigen Bedienungsaufrufes
durch beide Prozessoren andauern. Die Eingänge des NAND-Tors 166
bleiben hoch, und die Eingänge 180 und 176 des NAND-Tors 178
sind nieder bzw. hoch und erzeugen daher ein hohes Ausgangssignal
am Ausgang 182 des NAND-Tors 178.
Es wird nun angenommen, daß nur vom Prozessor 14 ein Bedienungsaufruf
erfolgt, und daß daher der Ausgang 106 nieder und der
Ausgang 108 hoch ist. Hohe Signale werden dem Inverter 148 und
dem Eingang 150 des NAND-Tors 152 zugeführt. Niedere Signale
werden dem Inverter 136 und dem Eingang 138 des NAND-Tors 140
zugeführt. Das NAND-Tor 140 erzeugt folglich ein hohes Ausgangssignal
am Ausgang 162, während das NAND-Tor 152 ein niederes Signal
an seinem Ausgang 174 erzeugt. Das niedere Signal am Ausgang
174 des NAND-Tors 152 wird dem Eingang 164 des NAND-Tors 166 zugeführt,
das ein hohes Signal an dessen Ausgang 168 erzeugt, das
dem Eingang 180 des NAND-Tors 178 zugeführt wird. Da der Ausgang
162 des NAND-Tors 140 mit dem Eingang 176 des NAND-Tors 178 verbunden
ist, geht der Ausgang 182 dieses Tors in einen niederen
Zustand über, und der Prozessor 14 erhält Zugriff zum Speicher,
während der Prozessor 12 der Zugriff genommen wird.
Es wurde beschrieben, daß Zugriff dem einen
oder dem anderen anfordernden Prozessor gegeben wird, wenn jeweils
ein Bedienungsaufruf zu einem Zeitpunkt erscheint, und
daß der Zugriff dem zuletzt Zugriff besitzenden Prozessor gegeben
wird, wenn gleichzeitig Bedienungsaufrufe empfangen werden.
Auf diese Weise wird keiner der Prozessoren während eines Zugriffs
zum Speicher durch einen Bedienungsaufruf des anderen
Prozessors unterbrochen.
Es ist wünschenswert, zwei Zugriffsarten zum Speicher vorzusehen,
eine erste Zugriffsart, bei der Daten vom Prozessor oder
einer Einrichtung in den Speicher eingelesen werden, und eine
zweite Zugriffsart, bei der Daten vom Speicher zum Prozessor
oder einer anderen Einrichtung ausgelesen werden. Der gemeinsam
genutzte Speicher nach Fig. 2 liefert die erforderliche
Steuerung, um diese beiden Zugriffsarten zu ermöglichen. Es ist
bekannt, daß die Natur der elektrischen Verbindung zum Speicher
50 zur Durchführung von Lese- und Schreiboperationen in gewisser
Weise verschieden ist. Insbesondere besitzt der Datenausgang 56
Signalquellen mit relativ niederer Impedanz, wobei die logischen
Werte der Signalquellen die dem Speicher 50 zugeführten Daten
bestimmen. Der Datenausgang 56 muß daher von der Kanalordnung
des entsprechenden Prozessors, ausgenommen wenn das Auslesen
von Daten aus dem Speicher erwünscht ist, isoliert bzw. getrennt werden. Der
Dateneingang 54 empfängt Daten von der Kanalordnung und ist
durch eine relativ hohe Impedanz gekennzeichnet. Es ist daher in
der Zeit, in der ein spezieller Prozessor Zugriff zum Speicher
besitzt, nicht nötig, den Eingang 54 zu isolieren, wenn er nicht
tatsächlich benutzt wird. Die Unterscheidung zwischen Dateneingang
54 und Datenausgang 56 läßt sich leichter verstehen, wenn
beachtet wird, daß am Ausgangsanschluß 56 erscheinende Daten im
wesentlichen den mit dem Ausgangsanschluß 56 verbundenen Datenkanal
auf die Datenwerte festlegen (clamp), die in dem speziellen
adressierten Speicherplatz vorhanden sind. Es kann dem Dateneingabe-
Kanal 54 jedoch gestattet werden, ein nicht festgelegtes
Potential zu besitzen (float), da die Daten nur dann in den
Speicher eingegeben werden, wenn dies durch ein an dem Lese/
Schreibeingang 58 anliegendes Signal bestimmt ist. Der Datenausgang
56 ist folglich an die Drei-Zustands-Pufferspeicher 94
und 96 angeschlossen, die von den NAND-Toren 144 bzw. 156 gesteuert
werden. Beispielweise und unter spezieller Bezugnahme
auf das NAND-Tor 144 sei daran erinnert, daß ein hohes Signal
an den Eingang 142 des NAND-Tors 144 angelegt wird, wenn der
Prozessor 12 alleine Zugriff zum Speicher wünscht. Es sei ferner
daran erinnert, daß der Ausgang 168 des NAND-Tors 166 nieder
liegt, und es wird gezeigt, daß dieser Ausgang mit dem Eingang
191 des Inverters 193 verbunden ist, der ein hohes Eingangssignal
an den Eingang 194 des NAND-Tors 144 liefert. Der Ausgang
196 des NAND-Tors 144 ist mit dem Eingang 198 des Drei-Zustands-
Pufferspeichers 94 verbunden, der erregt ist, um den Ausgangsanschluß
98 mit dem Ausgangsanschluß 56 des Speichers 50 zu verbinden.
Der Speicher 50 wird daher mit dem Ausgangsdatenkanal
nur dann verbunden, wenn ein tatsächlicher Bedienungsaufruf vom
NAND-Tor 102 wahrgenommen wird. Die Drei-Zustands-Pufferspeicher
86 und 88 bleiben betätigt, um denjenigen Prozessor, der zuletzt
bedient wurde, mit dem Dateneingang 54 des Speichers 50 selbst
dann zu verbinden, wenn kein tatsächlicher Bedienungsaufruf vorhanden
ist. Dies wird durch die Flip-Flop-Schaltungsanordnung
der NAND-Tore 166 und 178 bewirkt. Das NAND-Tor 156 arbeitet in
ähnlicher Weise mit dem Drei-Zustands-Pufferspeicher 96 zusammen
und liefert ein niederes Ausgangssignal vom Ausgang 200 des
NAND-Tors 156 an den Eingang 202 des Drei-Zustands-Pufferspeichers
96, wenn immer hohe Signale an den Eingängen 204 und 154
des NAND-Tors 156 angelegt werden. Diese Signale sind vorhanden,
wenn das UND-Tor 104 durch einen Bedienungsaufruf vom Prozessor
14 aktiviert ist, und wenn weiterhin das NAND-Tor 178 ein niederes
Signal an seinem Ausgang 182 abgibt, das vom Inverter 206
invertiert wird, um ein hohes Signal an dessen Ausgang 208 zu
erzeugen. Die Eingänge 204 und 154 des NAND-Tors 156 sind beide
hoch, und der Ausgang 200 des Tors 156 liefert daher ein niederes
Signal, um den Drei-Zustands-Pufferspeicher 96 zu erregen und
den Datenausgang 56 mit dem Ausgang 100 des Drei-Zustands-Pufferspeichers
96 zu verbinden.
Lese/Schreibkanäle 24 und 24′ werden selektiv mit den Lese/
Schreibeingängen 58 des Speichers 50 durch die Drei-Zustands-
Pufferspeicher 78 und 80 verbunden. Die Pufferspeicher 78 und 80
werden gleichzeitig mit den Pufferspeichern 62 bzw. 64 gespeist,
und die Lese/Schreibkanäle 24 und 24′ steuern den Speicher während
der Zeiten, während der entsprechende Adressenkanäle mit
dem Eingang 52 des Speichers 50 verbunden sind.
Der Speicheransteuereingang 60 ist mit dem Ausgang 210 eines
NOR-Tors 132 verbunden. Die Eingänge 130 und 212 des NOR-Tors
132 sind mit den Ausgängen 106 und 108 der UND-Tore 102 bzw.
104 verbunden. Der Speicher wird durch ein hohes Signal am Ausgang
210 des NOR-Tors 132 ausgesteuert oder in Betrieb gesetzt
(enabled), wenn entweder eines oder beide der UND-Tore 102 und
104 ein Ausgangssignal liefern, das einen Bedienungsaufruf anzeigt.
Während der gemeinsam genutzte Speicher nach Fig. 2 viele Vorteile
bietet und in einem weiten Bereich in einer Vielfalt spezieller
Prozessor- und Speicherkombinationen einsetzbar ist,
die üblicherweise benutzt werden, so ist es oft vorteilhaft,
gewisse spezielle zusätzliche Merkmale vorzusehen, die die
Wirksamkeit des gemeinsam genutzten Speichers wesentlich
erhöhen. Fig. 3 zeigt einen gemeinsam genutzten Speicher,
der im wesentlichen alle die Vorteile des Speichers nach
Fig. 2 und wesentliche Zusatzmerkmale besitzt. In Fig. 2 bezeichnen
gleiche Bezugszeichen Elemente, die mit denen von
Fig. 2 übereinstimmen. Es läßt sich erkennen, daß der
Inverter 148 in Fig. 2 durch ein NAND-Tor 220
in Fig. 3 ersetzt wurde. Das NAND-Tor 220 enthält einen ersten
Eingang 222, der mit dem Ausgang des UND-Tors 104 verbunden
ist, und einen zweiten Eingang 224, der mit dem Eingangsanschluß
226 verbunden ist. Der Inverter 136 ist durch ein zweites NAND-
Tor 228 ersetzt, der einen ersten und einen zweiten Anschluß
230 und 232 enthält. Der Eingang 230 ist mit dem Ausgang 106
des UND-Tors 102 verbunden, während der Eingang 232 mit dem
Eingangsanschluß 234 verbunden ist. Die Eingangsanschlüsse 226
und 234 sind mit den Zustandskanälen der Prozessoren 14 bzw. 12
verbunden. Der Betrieb des gemeinsam genutzten Speichers nach
Fig. 3 läßt sich durch Betrachtung der Art der Zustandsinformation
verstehen, die den Eingängen 226 und 234 zugeführt wird.
Es wird darauf hingewiesen, daß die folgenden Ausführungen als
Beispiel gelten, die für einen speziellen Mikroprozessor, nämlich
für einen 8080 gelten, der von Intel hergestellt ist. Andere
Prozessoren liefern ähnliche Zustandsinformation, die in
der Form Abweichungen besitzen kann, die jedoch vom Fachmann
durch kleinere Änderungen der in Fig. 3 dargestellten Schaltungsanordnung
sofort verwendet werden kann. Die Zustandsinformation
gibt an, in welchem von zwei Zuständen sich ein Mikroprozessor
in einem speziellen Augenblick befindet. Diese Zustände werden
der Einfachheit halber als "Zustand" und "aktive Zustände" bezeichnet
werden. Während eines "Zustandes" wird Zustandsinformation
einem Datenausgang eines Mikroprozessors zugeführt, die diejenige
Operation anzeigt, die während des nachfolgenden aktiven
Zustands ausgeführt wird. So werden z. B. Lese-, Schreib-, Eingabe-,
Ausgabe- und Unterbrechungsoperationen während einer Zustandsperiode
angezeigt. "Zustände" und aktive Mikroprozessorzustände
treten in abwechelnder Reihenfolge auf, wobei die "Zustände"
typischerweise etwas kürzer als die aktiven Zustände sind,
obwohl dies hier nicht gefordert wird. Das den
Eingängen 226 und 234 zugeführte Signal ist ein logisches Pegelsignal
mit zwei Werten oder Bedingungen, einer niederen Bedingung
während der "Zustands"-Periode und einer hohen Bedingung während
der aktiven Periode.
Bei dem gemeinsam genutzten Speicher nach Fig. 3 sind drei Betriebsarten
durchführbar. Bei einer ersten Betriebsart besitzt
ein ausgewählter Prozessor Priorität über den anderen. Dies wird
dadurch verwirklicht, daß der Eingang des entsprechenden NAND-
Tors 220 oder 228, das dem Prozessor der hohen Priorität entspricht,
ständig an einem hohen logischen Signal liegt. Es sei
z. B. erwünscht, dem Prozessor 12 die Priorität einzuräumen. Das
dem Prozessor 12 entsprechende UND-Tor 104 und das NAND-Tor 228, und
folglich der Eingang 234 werden an ein logisches Signal mit hohem
Pegel gelegt, während der Eingang 226 mit dem Zustandsausgang
des Prozessors 14 verbunden ist. Da der Eingang 234 ständig
an einem logischen Signal mit hohem Pegel liegt, wenn immer der
Eingang 230 des NAND-Tors 228 positiv ist und einen Bedienungsaufruf
vom Prozessor 12 anzeigt, kann am Ausgang 236 des NAND-
Tors 228 ein niederes Signal erzeugt und dem Eingng 172 des
NAND-Tors 152 zugeführt werden. Der Eingang 226 ist mit dem Zustandsausgang
des Prozessors 14 verbunden, und da das oben geschilderte
Zustandssignal abwechselnd von einem hohen auf einen
niederen Wert wechselt, ergibt sich klar, daß beim Vorhandensein
eines Bedienungsaufrufes, was durch ein hohes Signal am
Ausgang 106 des UND-Tors 102 angezeigt wird, der Flip-Flop-Kreis
aus den NAND-Toren 166 und 178 während der nächsten Zustandsperiode
des Prozessors 14 getriggert wird, die auf einen Bedienungsaufruf
durch den Prozessor 12 folgt. Es wird nunmehr andererseits
angenommen, daß der Prozessor 12 seit einiger Zeit Bedienung
anfordert. Da das Zustandssignal vom Prozessor 12 nicht
mit dem NAND-Tor 228 verbunden ist, sondern da am Eingang 232
ein ständig hohes logisches Signal anliegt, behält der Prozessor
12 die Verbindung zum Speicher 50 solange, wie ein Bedienungsaufruf
am UND-Tor 102 vorhanden ist.
Eine zweite Betriebsart wird dadurch verwirklicht,
daß beide Eingänge 226 und 234 an ein positives Eingangssignal
gelegt sind. Diese Betriebsart entspricht derjenigen Betriebsart,
die in Verbindung mit der in Fig. 2 dargestellten Ausführungsform
erläutert ist. Diese Betriebsart läßt sich als "Ausschließen
bis Durchführung erfolgt ist"-Betriebsart kennzeichnen
und bedient einen Prozessor so lange, wie hierfür ein Aufruf
vorhanden ist.
Eine dritte und besonders bevorzugte Ausführungsform zur Festlegung
der Zugriffszuteilung gibt beiden Prozessoren gleichen
Rang, ermöglicht aber einen wesentlich höheren Wirkungsgrad des
Betriebes. Bei dieser Betriebsart werden Zustandssignale den Eingängen
226 und 234 von den entsprechenden Prozessoren 14 und 12
zugeführt. Unter der Annahme, daß Bedienungsaufrufe an beiden
UND-Toren 102 und 104 vorhanden sind, wird ein selbstsynchroner
Betrieb erreicht. Die Bedienung wird jedem Prozessor so lange
nacheinander zuteil, wie die Zustandsinformation vom Prozessor
eine aktive Betriebsart anzeigt. Die Bedienung wird auf den
anderen Prozessor zur Bestimmung der aktiven Betriebsart und für
einen Beginn der Zustandsbetriebsart geschaltet. In dem speziellen
Fall, daß die aktive und die Zustandsbetriebsart gleiche Länge
besitzen, wird ein synchroner Betrieb erzielt, wobei der Speicher
abwechselnd den beiden Prozessoren während im wesentlichen 100
Prozent der Zeit zu Diensten steht. Sind die Zustands- und die
Aktivperioden von unterschiedlicher Länge, wobei vermutlich die
Zustandsperiode kürzer ist, so ist eine bestimmte Länge an Wartezeit
erforderlich. Es hat sich gezeigt, daß nahezu eine ideale
Speicherbenutzung für Prozessoren desjenigen Typs ermöglicht wird,
die abwechselnde Zustands- und Aktivperioden besitzen, die dem
einzelnen Prozessor die Benutzung des Speichers während derjenigen
Perioden gestatten, während derer der Speicher vom
anderen Prozessor nicht benötigt wird, wodurch ungefähr
50% Verlustzeit bezüglich des Speichers eliminiert wird.
Das System nach Fig. 3 enthält ein weiteres Merkmal, das in
Verbindung mit speziellen Ausführungsformen des Speichers
nützlich ist. Speicher-Leseeingänge 240 und 242 sind mit
zusätzlichen Eingängen 244 und 246 der NAND-Tore 144 und 156
verbunden. Bestimmte Mikrorechnersysteme verwenden
identische Adressen für spezielle Speicherplätze und außerdem
für Eingabedatenplätze. Es ist erforderlich, daß ein in Verbindung
mit einem derartigen Rechner benutzter Speicher Einrichtungen
enthält, um zwischen Speicheradressen und Eingabeadressen
zu unterscheiden. Diese Funktion wird von Speicherleseanschlüssen
240 und 242 ausgeführt. An die Eingänge 240 und 242 werden
von den Prozessoren 12 bzw. 14 Signale angelegt, die anzeigen, ob
die von dem Prozessor gelieferte Adresse eine Speicheradresse oder
eine Eingabeadresse ist. Ein hohes logisches Signal, das an den
Eingang 240 angelegt wird, gibt an, daß die vom Prozessor gelieferte
Adresse eine Speicheradresse darstellt, während ein niederes
Eingabesignal am Eingang 240 angibt, daß eine Eingabeadresse
geliefert wird. Das an den Eingang 240 angelegte Signal ist mit
diesem Signal identisch, es wird jedoch vom Prozessor 14 geliefert.
Es ist ersichtlich, daß die Hinzufügung von Speicherleseinformation
die Verwendbarkeit eines erfindungsgemäßen Mikrorechnersystems
dadurch erhöht, daß eine kleinere Anzahl von Adressen
und folglich eine kleinere Zahl von Adressenbits erforderlich
ist, um den Zugriff sowohl zum Speicher als auch zu einer Vielzahl
von Eingabeeinrichtungen zu ermöglichen. Wenn z. B. ein
logisches Signal mit einem hohen Wert am Speicherleseeingang 240
vorhanden ist, und ferner ein Bedienungsaufruf am UND-Tor
102 empfangen wird, der ein hohes Signal am Ausgang 106 erzeugt,
das dem Eingang 142 des NAND-Tors 144 zugeführt wird, und wenn
weiterhin ein niedriges Signal am Ausgang 168 des NAND-Tors 166
angelegt wird, das vom Inverter 193 invertiert und dem Eingang
194 des NAND-Tors 144 zugeführt wird, dann wird der Drei-Zustands-
Pufferspeicher 94 durch ein niedriges Signal an seinem
Eingang 198 aktiviert und verbindet den Datenausgang 56 mit dem
Ausgangsanschluß 98, der mit dem Dateneingabekanal des Mikrorechnersystems
verbunden ist. Der Drei-Zustands-Pufferspeicher
96 wird in ähnlicher Weise durch die gleichzeitige Existenz
hoher logischer Signale an den Eingängen 264, 204 und 154 des
NAND-Tors 156 erregt. Es ist ersichtlich, daß dann, wenn einer
von beiden Speicherleseeingängen 240 und 242 nieder ist, die
Drei-Zustands-Pufferspeicher 94 und 96 nicht betätigt werden
können, und daß deren Ausgänge 98 und 100 in einem Zustand hoher
Impedanz verbleiben und auf diese Weise die Datenerfassung von
der adressierten Eingabeeinrichtung durch den Prozessor nicht
stören.
Das an Hand der Fig. 3 dargestellte System kann zusätzlich zu
dem Merkmal der Speicherzugriffszuteilung durch Benutzung
einer Zustandsinformation auch die Zunahme der Adressierkapazität
durch Verwendung von Speicherleseinformation aufweisen.
Das erfindungsgemäße System kann zur gemeinsamen Nutzung durch
zwei oder mehr Prozessoren erweitert werden. Fig. 4 zeigt eine
Ausführungsform der Erfindung, bei der drei Prozessoren an einen
einzigen Speicher angeschlossen sind, wobei die Merkmale und Vorteile
des gemeinsam genutzten Speichers nach Fig. 3 alle erhalten
bleiben. Der gemeinsam genutzte Speicher nach Fig. 4 schließt
sowohl die Benutzung von Zustandsinformation und außerdem die Benutzung
von Speicherleseinformation ein, die oben in Verbindung
mit dem gemeinsam genutzten Speicher nach Fig. 3 beschrieben
ist. In Fig. 4 bezeichnen gegenüber den Fig. 2 und 3 unveränderte
Bezugszeichen gleiche Elemente. Der Betrieb des gemeinsam
genutzten Speichers nach Fig. 4 ist im wesentlichen mit denjenigen
nach Fig. 3 identisch mit Ausnahme gewisser logischer
Elemente, die hinzugefügt sind, um die simultane Verbindung des
Speichers mit drei Prozessoren zu ermöglichen. Die Fig. 4 wird
daher in weniger Einzelheiten beschrieben als Fig. 3, da die
Arbeitsprinzipien der Ausfürung nach Fig. 3 gleichermaßen auf
Fig. 4 anwendbar sind. Die Unterschiede zwischen den Fig. 3
und 4 werden jedoch genau erläutert.
Der gemeinsam genutzte Speicher nach Fig. 4, allgemein mit 300
bezeichnet, enthält zusätzliche Drei-Zustands-Pufferspeicher
302, 304, 306
und 308, die eine selektive Verbindung mit den Adressen-,
Lese/Schreib-, Dateneingabe- und Datenausgabekanäle eines dritten
Prozessors ermöglichen. Die Drei-Zustands-Pufferspeicher
302, 304, 306 und 308 entsprechen, und sind im wesentlichen identisch
mit den vorhandenen Pufferspeichern, die selektiv den Adressen-,
Lese/Schreib-, Dateneingabe- und Datenausgabekanal des ersten und
des zweiten Prozessors mit dem Speicher 50 verbinden. Der gemeinsam
genutzte Speicher 300 enthält ferner ein zusätzliches UND-
Tor 310, um die Adressenbits hoher Ordnung des dritten Prozessors
mit dem gemeinsam genutzten Speicher zu verbinden, der Speicher
enthält ferner ein NAND-Tor 312 zur Verbindung des Wartekanals
des dritten Prozessors, und ein NAND-Tor 314, um den Lesekanal
des dritten Prozessors mit den Speicher zu verbinden. Die
NAND-Tore 320, 322 und 324 sind mit den Ausgängen der UND-Tore
102, 104 bzw. 310 verbunden, während die ODER-Tore 326, 328 und
330 mit den UND-Toren 116, 118 bzw. 312 verbunden sind, die Wartesignale
an die drei Prozessoren liefern. Zustandssignale werden
den Eingängen 320, 342 und 344 zugeführt, die an die NAND-
Tore 320, 322 bzw. 324 angeschlossen sind.
Der Betrieb des gemeinsam genutzten Speichers 300 läßt sich dadurch
verstehen, daß mehrere beispielhafte Betriebsbedingungen
betrachtet werden. Um die folgende Erläuterung zu vereinfachen,
werden die in Verbindung mit dem gemeinsam genutzten Speicher
300 benutzten Mikroprozessoren mit 1, 2 und 3 bezeichnet. Der
Mikroprozessor 1 ist mit den Drei-Zustands-Pufferspeichern
62, 78, 86 und 94 verbunden. Er ist ferner mit dem UND-Tor 102, dem
UND-Tor 116, dem Speicherleseeingang 240 und dem Zustandseingang
340 verbunden. Der Mikroprozessor 2 ist mit den Drei-Zustands-
Pufferspeichern 64, 80, 88 und 96 verbunden. Der Prozessor
2 ist ferner mit dem Speicherleseeingang 242, dem UND-Tor
118, dem UND-Tor 104 und dem Zustandseingang 342 verbunden. Der
Prozessor 3 ist mit den Drei-Zustands-Puffern 302, 304, 306 und
308 verbunden. Er ist ferner mit dem Speicherleseeingang 346,
dem UND-Tor 310, dem UND-Tor 312 und dem Zustandseingang 344 verbunden.
Es wird nun angenommen, daß ein Aufruf zur Bedienung
durch Anlegen eines hohen logischen Signals an die Eingänge des
UND-Tors 102 angezeigt wird. Es wird ferner angenommen, daß die
Prozessoren 2 und 3 keine Bedienung benötigen, und daß daher die
Tore 104 und 310 niedere logische Signale an ihren Ausgängen abgeben.
Hohe Signale werden dem NAND-Tor 348
und den NAND-Tor 144 zugeführt. Der Eingang 340 liefert ein hohes
Signal an das NAND-Tor 320, wenn der Rechner 1 sich in einer
aktiven Betriebsart befindet, und das NAND-Tor 360 liefert ein
hohes Signal an den letzten Eingang des NAND-Tors 320, wenn immer
der Prozessor 1 der letzte Prozessor war, der Zugriff zum Speicher
besaß. Wenn alle drei Eingänge des NAND-Tors 320 hoch liegen,
wird ein niederes Ausgangssignal erzeugt, das dem NAND-Tor 350
und 352 zugeführt wird, wodurch beide Flip-Flops 362 oder 364
daran gehindert werden, gesetzt zu werden. Aus Bequemlichkeitsgründen
werden die NAND-Tore 366 und 368 zusammen als Flip-Flop
362 bezeichnet, während die NAND-Tore 370 und 372 als Flip-Flop
364 bezeichnet werden. In ähnlicher Weise enthalten die NAND-
Tore 360 und 374 das Flip-Flop 376. Alle diese Flip-Flops sind
identisch untereinander und werden durch ein niederes logisches
Signal gesetzt, das einem ersten Eingang der Flip-Flops zugeführt
wird, wobei dies beim Flip-Flop 376 der Eingang 378, beim
Flip-Flop 362 der Eingang 380 und beim Flip-Flop 364 der Eingang
382 ist. Es läßt sich erkennen, daß das Anlegen einer "Null"
an einen dieser Eingänge eine "Eins" an den entsprechenden Ausgängen
der NAND-Tore 360, 366 erzeugt, wenn die Flip-
Flops gesetzt sind, wobei ein Signal mit niedrigem Pegel den dem
entsprechenden Prozessor zugeordneten Drei-Zustands-Pufferspeichern
zugeführt ist. Das Flip-Flop 376 ist dem Prozessor 1, das
Flip-Flop 362 dem Prozessor 2 und das Flip-Flop 364 dem Prozessor
3 zugeordnet. Jedes der Flip-Flops wird durch Anwendung eines
niederen Signals an den Eingang der NAND-Tore 374, 368
oder 372 zurückgesetzt. Die Fig. 376, 362 und 362 bleiben
in einem der Setz- oder Rücksetz-Zustände unbestimmt lange in
Abwesenheit eines zusätzlichen Signals. Die UND-Tore 384, 386
und 388 liefern das Rücksetzsignal den Flip-Flops. Die UND-Tore
enthalten zwei Eingänge, und zwar jeweils einen Eingang von jedem
der NAND-Tore 348, 350 und 352 mit denen das Tor nicht in
einer Zuordnung steht. Das UND-Tor 384 ist dem NAND-Tor 348 zugeordnet,
das UND-Tor 386 ist dem NAND-Tor 350 und das UND-Tor
388 dem NAND-Tor 352 zugeordnet. Das UND-Tor 384 besitzt daher
z. B. einen ersten Eingang vom NAND-Tor 352 und einen zweiten
Eingang vom NAND-Tor 350. Wenn einer von diesen Eingängen null
ist, wird eine Null am Ausgang des UND-Tors 384 erzeugt, wodurch
das Flip-Flop 376 daran gehindert wird, gesetzt zu werden.
Wenn immer daher einer der Prozessoren 2 oder 3 Zugriff zum
Speicher 50 besitzt, kann der Prozessor 1 keinen Zugriff erlangen
und den gesetzten Zugriff unterbrechen. Die UND-Tore 386
und 388 sind in ähnlicher Weise geschaltet. Die Fähigkeit des
gemeinsam genutzten Speichers nach Fig. 4, die Unterbrechung
eines Vorganges zwischen einem Prozessor und dem Speicher zu verhindern,
verhindert die vorzeitige Unterbrechung eines Vorganges
mit dem Speicher.
Der Speicher 300 enthält eine Anordnung, um zu bestimmen, welcher
von zwei Speicheranrufen durchgeführt werden wird. Es wird z. B.
der Fall betrachtet, daß Bedienungsanforderungen oder -aufrufe
von den Prozessoren 1 und 2 empfangen werden, daß daher also
logische Signale mit hohen Werten an den Ausgängen der UND-Tore
102 bzw. 104 empfangen werden. Es wird weiter angenommen, daß der
Prozessor 2 zuletzt Zugriff zum Speicher 50 hatte, und daß das
Flip-Flop 362 daher gesetzt ist und ein niederes Ausgangssignal
am Ausgang des NAND-Tors 368 und ein hohes Ausgangssignal am Ausgang
des NAND-Tors 366 erzeugt. Es wird ferner angenommen, daß
die Flip-Flops 376 und 364 zurückgesetzt sind und niedere Signale
an den Ausgängen der UND-Tore 360 und 370 erzeugen. Diese niederen
Signale werden den NAND-Toren 320 bzw. 324 zugeführt, die
hohe Signale an deren Ausgängen abgeben, wobei diese hohen Signale
dem NAND-Tor 350 zugeführt werden. Da die Bedienungsaufrufe
von den Prozessoren 1 und 2 empfangen werden, wodurch hohe Signale
an den Ausgängen der UND-Tore 102 und 104 geliefert werden,
sind die Ausgänge der NAND-Tore 320 bzw. 322 bzw. 324 hoch bzw.
nieder bzw. hoch, wobei angenommen wird, daß die den Eingängen
340, 342 und 344 zugeführten Zustandssignale alle hoch sind. Das
NAND-Tor 322 liefert niedere Signale an die NAND-Tore 348, 352
und hindert daran die Flip-Flops 376 und 364, gesetzt zu werden,
so daß lediglich das Flip-Flop 362 gesetzt werden kann. Wie angegeben,
sind alle Eingänge des NAND-Tors 350 hoch, wodurch ein
niederes Ausgangssignal an diesem Tor erzeugt wird, welches das
Flip-Flop 362 setzt und den Prozessor 2 mit dem Speicher 50 verbindet.
Die "Zustands"eingangssignale, die den Eingängen 340, 342 und 344
zugeführt werden, werden nur wichtig, wenn gleichzeitig Bedienungsaufrufe
von zwei oder mehr Prozessoren vorhanden sind. In
diesem Fall wird einem Prozessor nur so lange Zugriff zum Speicher
gewährt, wie dessen Zustandsinformation einen Aktivbetrieb
anzeigt, der Zugriff wird entfernt und dem anderen Prozessor
übergeben, wenn ein "Zustands"-Betrieb durch den ersten
Prozessor angezeigt wird.
Der Betrieb der NAND-Tore 144, 156 und 314 entspricht im wesentlichen
demjenigen entsprechender Tore in Fig. 2 und 3. Jedes
der Tore liefert ein niederes logisches Signal an seinem Ausgang
während der Koinzidenz von : einen Speicherlesesignal, das
den Eingängen 240, 242 und 346 zugeführt ist; einem Bedienungsaufruf,
der von den UND-Toren 102, 104 und 310 geliefert ist
und eine "Setz"-Bedingung der Flip-Flops 376, 362 und 364. Der
Betrieb eines von mehreren Prozessoren gemeinsam genutzten Speichers,
bei dem ein Speicherlesesignal verwendet wird, wurde
schon erläutert. Das NOR-Tor 390 liefert ein Speicheransteuersignal
mit niederem Wert, wenn irgendein UND-Tor 102, 104 oder
310 einen Bedienungsaufruf durch Vorhandensein eines hohen logischen
Signals an deren Ausgängen anzeigt.
Die ODER-Tore 326, 328 und 330 liefern Signale an die NAND-Tore
116 bzw. 118 bzw. 312, wenn irgendeines der Flip-Flops 376, 352
und 364 gesetzt ist. So liefert z. B. das ODER-Tor 326 ein hohes
Signal an das NAND-Tor 116, wenn eines der beiden Flip-Flops
362 oder 364 gesetzt ist. Ähnlich liefert das ODER-Tor 328 ein
hohes Signal an das NAND-Tor 116, wenn eines der Flip-Flops 376
oder 364 gesetzt ist. Ferner liefert das ODER-Tor 330 ein hohes
Signal an das NAND-Tor 312, wenn eines der Flip-Flops 376 oder
362 gesetzt ist. Die Koinzidenz eines hohen Signals von einem
der ODER-Tore 326, 328 und 330 mit einem Bedienungsaufruf, der
durch ein hohes Signal von den UND-Toren 102, 104 oder 310 angezeigt
wird, erzeugt ein Wartesignal am Ausgang eines oder
mehrerer NAND-Tore 116, 118 und 312 und zeigt dem betreffenden
Prozessor an, daß einer der anderen Prozessoren augenblicklich
den Speicher benutzt, und daß daher der anrufende Prozessor
warten muß, obwohl die Bedienung angerufen wurde.
Unter bestimmten Bedingungen können von zwei Prozessoren gleichzeitig
Bedienungsanforderungen empfangen werden, wobei keiner
der beiden Prozessoren derjenige Prozessor war, der zuletzt
Zugriff zum Speicher 50 besaß. Obwohl der Speicher 300 einen
der anfordernden Prozessoren auf eine mehr oder weniger zufälligen
Basis bedient, kann es wünschenswert sein, einen Zugriff
mit Priorität vorzusehen. Gemäß der Erfindung kann es
daher wünschenswert sein, Kapazitäten vorzusehen, die von den
Ausgängen der NAND-Tore 348, 350 und 352 nach Masse geschaltet
sind. Diese Kondensatoren liefern eine bestimmte Verzögerung
in der Antwort der NAND-Tore 348, 350 und 352 entsprechend der
Größe des Kondensators. Es ist das demjenigen
Mikroprozessor zugeordnete NAND-Tor, der die höchste Priorität
besitzen soll, mit dem kleinsten oder gar keinem Kondensator
versehen, während das dem Prozessor mit zweiter Priorität zugeordnete
NAND-Tor mit einem etwas größeren Kondensator versehen
ist, und während das dem letzten Prozessor zugeordnete
NAND-Tor mit dem größten Kondensator versehen ist.
An Hand der Fig. 4 läßt sich die Art der Antwort des gemeinsam
genutzten Speichers 50 auf eine Vielzahl von Bedienungsanforderungsbedingungen
leicht erkennen. Es wird daher nicht
als erforderlich angesehen, spezielle Betriebsbedingungen in
weiteren Einzelheiten zu beschreiben. Die Bezugnahme auf die
Fig. 2 bis 4 und die entsprechenden Beschreibungsteile ermöglichen
es dem Fachmann, einen erfindungsgemäßen Speicher so
zu erweitern, daß er auch von einer größeren Anzahl von Prozessoren
als in irgendeinem der geschilderten Beispiele angegeben
benutzbar ist.
Das beschriebene Mehrprozessor-Mikrorechnersystem besitzt
viele Vorteile gegenüber bekannten Systemen. Der Betrieb
des Systems ist unter Verwendung lediglich der Kanal-Verbindungsstrukturen
mehrerer Mikrorechner möglich, ohne daß weitere
Verbindungen oder die Steuerung des einen Mikrorechners
durch die anderen erforderlich wären. Das beschriebene System
besitzt einen höheren Wirkungsgrad, eine höhere Betriebsgeschwindigkeit
und Zuverlässigkeit, ohne daß die Notwendigkeit
besteht, irgendeinen der Mikroprozessoren, mit dem der Speicher
in Zuordnung steht, zu modifizieren.
Viele der beschriebenen Merkmale stellen hervorragende Lösungen
für eine Reihe von Problemen dar. Wie z. B. angegeben
wurde, kann der gemeinsam genutzte Speicher veschiedenen
Prozessoren als verschiedene Adressenplätze erscheinen.
Ferner sind Mittel angegeben, die in einem einfachen und
geradlinigen Weg ein Speicherzugriffsverfahren wahlweise mit
oder ohne Prioritätszuordnung zwischen zwei oder mehreren Prozessoren
ermöglichen. Der synchronisierte Betrieb durch Benutzung
von Zustandsinformation, die durch zwei oder mehr mit
einem gemeinsam genutzten Speicher verbundenen Prozessoren geliefert
wird, stellt einen großen Vorteil dar. Die Anwendungsmöglichkeiten
des Systems werden lediglich durch die Erfordernisse
des Benutzers begrenzt. So kann z. B. in einem einfachen
Zweiprozessorensystem ein erster Prozessor zur Durchführung
arithmetischer Datenoperationen benutzt werden, während
ein zweiter Prozessor, der mit demselben gemeinsam genutzten
Speicher wie der erste Prozessor verbunden ist, verwendet werden
kann, um die Daten zur Ausgabe in einer verwendbaren Form zu
formatieren. Dies bringt den Vorteil mit sich, daß der erste
Prozessor im wesentlichen Realzeit-Ausgabedaten von einer Vielzahl
von Eingaben liefert, während der zweite Prozessor die
Formatierung der Ausgabe durchführt. In ähnlicher Weise lassen
sich Daten zwischen Prozessoren auf wirkungsvollere Weise transferieren
als dies bisher möglich war. Der die Daten enthalende
Prozessor kann zum Speicher übertragen, wenn die Daten verfügbar
sind und muß nicht warten, bis ein anderer Prozessor bereit
ist, die Daten zu empfangen. In ähnlicher Weise kann der empfangende
Prozessor die Daten vom Speicher zu beliebiger Zeit auslesen,
nachdem die Daten übertragen wurden und muß nicht irgendeine
darin ablaufende Operation unterbrechen wegen des Bedürfnisses,
zwei Prozessoren für die Übertragung gleichzeitig zur
Verfügung zu haben.
Claims (8)
1. Mehrprozessor-Mikrorechnersystem, enthaltend:
einen ersten Prozessor mit einem Adressenkanal, einem Eingabedatenkanal und einem Ausgabedatenkanal,
einen zweiten Prozessor mit einem Adressenkanal, einem Eingabedatenkanal und einem Ausgabedatenkanal,
einen gemeinsam benutzten Speicher mit einem Adressenkanal, einem Eingabedatenkanal und einem Ausgabedatenkanal sowie
eine einzige Steuereinrichtung, die an den Adressenkanal, den Eingabedatenkanal und den Ausgabedatenkanal des ersten Prozessors, des zweiten Prozessors sowie des gemeinsam benutzten Speichers angeschlossen ist und derart arbeitet, daß sie unter Auswertung von Mustern vorbestimmter Adressenbits, die ihr über die Adressenkanäle des ersten und zweiten Prozessors zuführbar sind, die Kanäle des Speichers mit den jeweils entsprechenden Kanälen eines der beiden Prozessoren wahlweise verbindet,
wobei die Steuereinrichtung, falls sie nur von einem der beiden Prozessoren eine Speicherzugriffsanforderung empfängt, den Adressenkanal, den Eingabedatenkanal und den Ausgabedatenkanal des Speichers mit dem entsprechenden Adressenkanal, Eingabedatenkanal und Ausgabedatenkanal desjenigen Prozessors verbindet, der die Speicherzugriffsanforderung in Form der Adressenbits aussendet, und
wobei die Steuereinrichtung im Fall gleichzeitiger Speicherzugriffsanforderungen durch beide Prozessoren bei der Prozessorauswahl eine Zugriffszuteilung vornimmt, dadurch gekennzeichnet, daß jeder der beiden Prozessoren (12, 14) in der Lage ist, ein Statussignal abzugeben, das die Fähigkeit des zugeordneten Prozessors zum Aussenden von Daten an den Speicher (50) und zum Empfangen von Daten von dem Speicher anzeigt, und daß die Steuereinrichtung Einrichtungen (220, 228) enthält, die zur Zugriffszuteilung auf die Statussignale des ersten und des zweiten Prozessors (12, 14) ansprechen.
einen ersten Prozessor mit einem Adressenkanal, einem Eingabedatenkanal und einem Ausgabedatenkanal,
einen zweiten Prozessor mit einem Adressenkanal, einem Eingabedatenkanal und einem Ausgabedatenkanal,
einen gemeinsam benutzten Speicher mit einem Adressenkanal, einem Eingabedatenkanal und einem Ausgabedatenkanal sowie
eine einzige Steuereinrichtung, die an den Adressenkanal, den Eingabedatenkanal und den Ausgabedatenkanal des ersten Prozessors, des zweiten Prozessors sowie des gemeinsam benutzten Speichers angeschlossen ist und derart arbeitet, daß sie unter Auswertung von Mustern vorbestimmter Adressenbits, die ihr über die Adressenkanäle des ersten und zweiten Prozessors zuführbar sind, die Kanäle des Speichers mit den jeweils entsprechenden Kanälen eines der beiden Prozessoren wahlweise verbindet,
wobei die Steuereinrichtung, falls sie nur von einem der beiden Prozessoren eine Speicherzugriffsanforderung empfängt, den Adressenkanal, den Eingabedatenkanal und den Ausgabedatenkanal des Speichers mit dem entsprechenden Adressenkanal, Eingabedatenkanal und Ausgabedatenkanal desjenigen Prozessors verbindet, der die Speicherzugriffsanforderung in Form der Adressenbits aussendet, und
wobei die Steuereinrichtung im Fall gleichzeitiger Speicherzugriffsanforderungen durch beide Prozessoren bei der Prozessorauswahl eine Zugriffszuteilung vornimmt, dadurch gekennzeichnet, daß jeder der beiden Prozessoren (12, 14) in der Lage ist, ein Statussignal abzugeben, das die Fähigkeit des zugeordneten Prozessors zum Aussenden von Daten an den Speicher (50) und zum Empfangen von Daten von dem Speicher anzeigt, und daß die Steuereinrichtung Einrichtungen (220, 228) enthält, die zur Zugriffszuteilung auf die Statussignale des ersten und des zweiten Prozessors (12, 14) ansprechen.
2. Mehrprozessor-Mikroerechnersystem nach Anspruch 1,
dadurch gekennzeichnet,
daß die auf die Statussignale ansprechenden Einrichtungen
(220, 228) für einen synchronisierten Zugriff
von einem der beiden Prozessoren (12, 14) zum Speicher
(50) sorgen, nur wenn dieser eine Prozessor zum Zugriff
zum Speicher aufruft und auch das zugeordnete Statussignal
an die für die Statussignale ansprechenden Einrichtungen
abgibt.
3. Mehrprozessor-Mikrorechnersystem nach Anspruch 1,
dadurch gekennzeichnet,
daß ein vom ersten Prozessor (12) ausgehender erster
Statuskanal und ein vom zweiten Prozessor (14)
ausgehender zweiter Statuskanal vorgesehen sind,
daß die Statussignale der beiden Prozessoren (12, 14)
am ersten bzw. zweiten Statuskanal als erstes bzw.
zweites Statussignal auftreten und jeweils anzeigen,
ob der erste bzw. zweite Prozessor in einer Statusbetriebsart
oder einer aktiven Betriebsart ist, und daß
die auf Statussignale ansprechenden Einrichtungen
(220, 228) mit dem ersten und dem zweiten
Statuskanal durch Eingangsanschlüsse (226, 234)
verbunden sind.
4. Mehrprozessor-Mikrorechnersystem nach Anspruch 3,
dadurch gekennzeichnet,
daß die Steuereinrichtung eine eine Setz- und Rücksetzschaltung
(140, 152) aufweisende Flipflopschaltung
(166, 178) enthält, die beim Auftreten eines vorbestimmten
Musters von Speicheradressenbits an einem Adressenkanal
(18) des ersten Prozessors (12) in den ersten Zustand
und beim Auftreten eines vorbestimmten Musters
von Speicheradressenbits an einem Adressenkanal (18′)
des zweiten Prozessors (14) in den zweiten Zustand
schaltet, und daß die auf die Statussignale ansprechenden
Einrichtungen (220, 228) es zulassen, daß einer der
beiden Zustände auf Veranlassung des zugeordneten der
beiden Prozessoren (12, 14) eingenommen wird, wenn sich
der andere der beiden Prozessoren in der Statusbetriebsart
befindet und der erste oder zweite Zustand unverändert
bleibt, wenn die Muster von Speicheradressenbits
im wesentlichen gleichzeitig an beiden Adressenkanälen
(18, 18′), des ersten und zweiten Prozessors (12, 14)
auftreten.
5. Mehrprozessor-Mikrorechnersystem nach Anspruch 1,
dadurch gekennzeichnet,
daß die auf die Stastussignale ansprechenden Einrichtungen
(220, 228) bei Ersatz eines der beiden Statussignale
durch ein Festwertsignal dem diesem Signal zugeordneten
Prozessor der beiden Prozessoren (12, 14) beim
Zugriff zum Speicher Priorität in bezug auf den anderen
der beiden Prozessoren einräumen.
6. Mehrprozessor-Mikrorechnersystem nach einem der
vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Steuereinrichtung Schaltglieder (62 bis 246 in
Fig. 3; 62 bis 390 in Fig. 4) enthält, die nach Beendigung
des Speicherzugriffs eines Prozessors (z. B. 12)
ihren durch den Speicherzugriff dieses Prozessors
(z. B. 12) verursachten Schaltzustand beibehalten.
7. Mehrprozessor-Mikrorechnersystem nach einem der
vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Steuereinrichtung Dekodiereinrichtungen (102, 104)
enthält, die mit dem Speicher (50) und den Adressenkanälen
(18 bzw. 18′) des ersten bzw. zweiten Prozessors
(12 bzw. 14) verbunden sind und die den Speicher (50)
gegenüber jedem der Prozessoren (12, 14) unter verschiedenen
Speicheradressen erscheinen lassen.
8. Mehrprozessor-Mikrorechnersystem nach einem der
vorhergehenden Ansprüche,
dadurch gekennzeichnet,
daß die Steuereinrichtung Pufferspeichereinrichtungen
(62, 64, 86, 88, 94, 96) enthält, die dazu dienen, den
Adressenkanal (52), den Eingabedatenkanal (54) und den
Datenausgabekanal (56) des Speichers (50) mit dem entsprechenden
Adressenkanal (18 oder 18′), Eingabedatenkanal
(22 oder 22′) und Ausgabedatenkanal (20 oder 20′)
nur desjenigen der beiden Prozessoren (12, 14) zu verbinden,
der zur Verbindung mit dem Speicher (50) ausgewählt
ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US05/679,408 US4212057A (en) | 1976-04-22 | 1976-04-22 | Shared memory multi-microprocessor computer system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE2760322C2 true DE2760322C2 (de) | 1988-09-22 |
Family
ID=24726794
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2760322A Expired DE2760322C2 (de) | 1976-04-22 | 1977-04-20 | |
DE2717503A Expired DE2717503C2 (de) | 1976-04-22 | 1977-04-20 | Mehrprozessor-Mikrorechnersystem |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2717503A Expired DE2717503C2 (de) | 1976-04-22 | 1977-04-20 | Mehrprozessor-Mikrorechnersystem |
Country Status (11)
Country | Link |
---|---|
US (1) | US4212057A (de) |
JP (1) | JPS5853379B2 (de) |
BR (1) | BR7702548A (de) |
CA (1) | CA1095175A (de) |
CH (1) | CH620306A5 (de) |
DE (2) | DE2760322C2 (de) |
ES (1) | ES457986A1 (de) |
FR (1) | FR2349178A1 (de) |
GB (1) | GB1572426A (de) |
IN (1) | IN147333B (de) |
IT (1) | IT1075707B (de) |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4276594A (en) * | 1978-01-27 | 1981-06-30 | Gould Inc. Modicon Division | Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same |
DE2911909C2 (de) * | 1978-03-29 | 1984-03-15 | British Broadcasting Corp., London | Digitales Datenverarbeitungsgerät |
US4325116A (en) * | 1979-08-21 | 1982-04-13 | International Business Machines Corporation | Parallel storage access by multiprocessors |
US4387425A (en) * | 1980-05-19 | 1983-06-07 | Data General Corporation | Masterless and contentionless computer network |
US4280060A (en) * | 1980-06-09 | 1981-07-21 | General Electric Company | Dedicated microcomputer-based control system for steam turbine-generators |
US4446514A (en) * | 1980-12-17 | 1984-05-01 | Texas Instruments Incorporated | Multiple register digital processor system with shared and independent input and output interface |
US4491907A (en) * | 1980-12-15 | 1985-01-01 | Texas Instruments Incorporated | Plurality of processors sharing the memory, the arithmetic logic unit and control circuitry all on a single semiconductor chip |
US4450534A (en) * | 1981-05-14 | 1984-05-22 | Texas Instruments Incorporated | Multiprocessor with dedicated display |
US4463417A (en) * | 1980-12-29 | 1984-07-31 | International Business Machines Corporation | Modular, processor-controlled document distribution terminal |
JPS57153359A (en) * | 1981-03-18 | 1982-09-21 | Ibm | Data processing system with common memory |
JPS57191703A (en) * | 1981-05-20 | 1982-11-25 | Fanuc Ltd | Sequence controller |
US4590551A (en) * | 1981-08-24 | 1986-05-20 | Burroughs Corporation | Memory control circuit for subsystem controller |
US4449182A (en) * | 1981-10-05 | 1984-05-15 | Digital Equipment Corporation | Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems |
DE3238871C2 (de) * | 1982-10-18 | 1986-03-27 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Steuerungsanordnung zur Kopplung zweier digitaler Rechnersysteme |
US4698753A (en) * | 1982-11-09 | 1987-10-06 | Texas Instruments Incorporated | Multiprocessor interface device |
US4648035A (en) * | 1982-12-06 | 1987-03-03 | Digital Equipment Corporation | Address conversion unit for multiprocessor system |
ATE30085T1 (de) * | 1982-12-13 | 1987-10-15 | Fraunhofer Ges Forschung | Rechnerkopplung. |
US4577344A (en) * | 1983-01-17 | 1986-03-18 | Automatix Incorporated | Vision system |
US4591977A (en) * | 1983-03-23 | 1986-05-27 | The United States Of America As Represented By The Secretary Of The Air Force | Plurality of processors where access to the common memory requires only a single clock interval |
ATE154151T1 (de) * | 1983-04-25 | 1997-06-15 | Cray Research Inc | Mehrprozessorsteuerung für vektorrechner |
US4616310A (en) * | 1983-05-20 | 1986-10-07 | International Business Machines Corporation | Communicating random access memory |
US4634110A (en) * | 1983-07-28 | 1987-01-06 | Harris Corporation | Fault detection and redundancy management system |
JPS6054052A (ja) * | 1983-09-02 | 1985-03-28 | Nec Corp | 処理継続方式 |
DE3334766A1 (de) * | 1983-09-26 | 1985-04-11 | Siemens AG, 1000 Berlin und 8000 München | Multiprozessor-zentralsteuereinheit eines vermittlungssystems insbesondere fernsprech-vermittlungssystems |
US5255369A (en) * | 1984-03-10 | 1993-10-19 | Encore Computer U.S., Inc. | Multiprocessor system with reflective memory data transfer device |
GB2156554B (en) * | 1984-03-10 | 1987-07-29 | Rediffusion Simulation Ltd | Processing system with shared data |
US5581732A (en) * | 1984-03-10 | 1996-12-03 | Encore Computer, U.S., Inc. | Multiprocessor system with reflective memory data transfer device |
US4862350A (en) * | 1984-08-03 | 1989-08-29 | International Business Machines Corp. | Architecture for a distributive microprocessing system |
JPS61166668A (ja) * | 1985-01-19 | 1986-07-28 | Panafacom Ltd | 多重プロセツサ制御方式 |
US4845637A (en) * | 1985-02-11 | 1989-07-04 | American Telephone And Telegraph Company, At&T Bell Laboratories | Feeder monitor arrangement for stored program controlled rectifier plant |
US4833596A (en) * | 1985-02-28 | 1989-05-23 | International Business Machines Corporation | Logical arrangement for controlling use of different system displays by main processor and co-processor |
ATE55840T1 (de) * | 1985-05-09 | 1990-09-15 | Voest Alpine Automotive | Mikrorechnersystem. |
JPH0752876B2 (ja) * | 1985-07-20 | 1995-06-05 | ソニー株式会社 | 内部バス式デイジタル装置 |
US4811052A (en) * | 1985-08-08 | 1989-03-07 | Canon Kabushiki Kaisha | Control device for control of multi-function control units in an image processing apparatus |
IT1184013B (it) * | 1985-12-13 | 1987-10-22 | Elsag | Memoria ad elevata capacita accessibile a diverse agenti |
US4755937A (en) * | 1986-02-14 | 1988-07-05 | Prime Computer, Inc. | Method and apparatus for high bandwidth shared memory |
US4817006A (en) * | 1986-03-28 | 1989-03-28 | Thomas Engineering, Inc. | Pharmaceutical tablet press control mechanism |
US4751648A (en) * | 1986-03-31 | 1988-06-14 | Halliburton Company | Local area network data transfer system |
US4747060A (en) * | 1986-03-31 | 1988-05-24 | Halliburton Company | Data acquisition module and method |
US5201040A (en) * | 1987-06-22 | 1993-04-06 | Hitachi, Ltd. | Multiprocessor system having subsystems which are loosely coupled through a random access storage and which each include a tightly coupled multiprocessor |
CA1310429C (en) * | 1987-09-19 | 1992-11-17 | Nobuo Uchida | Access priority control system for main storage for computer |
US4933901A (en) * | 1988-01-11 | 1990-06-12 | Texas Instruments Incorporated | Method for assigning priority to read and write requests received closely in time |
US4949280A (en) * | 1988-05-10 | 1990-08-14 | Battelle Memorial Institute | Parallel processor-based raster graphics system architecture |
US5276806A (en) * | 1988-09-19 | 1994-01-04 | Princeton University | Oblivious memory computer networking |
US5111530A (en) * | 1988-11-04 | 1992-05-05 | Sony Corporation | Digital audio signal generating apparatus |
JPH02144641A (ja) * | 1988-11-25 | 1990-06-04 | Nec Corp | マイクロコンピュータ |
US5161219A (en) * | 1989-01-13 | 1992-11-03 | International Business Machines Corporation | Computer system with input/output cache |
US5142638A (en) * | 1989-02-07 | 1992-08-25 | Cray Research, Inc. | Apparatus for sharing memory in a multiprocessor system |
GB9012970D0 (en) * | 1989-09-22 | 1990-08-01 | Ibm | Apparatus and method for asynchronously delivering control elements with pipe interface |
DE58909135D1 (de) * | 1989-09-29 | 1995-04-27 | Siemens Ag | Kommunikationssystem für miteinander verbundene speicherprogrammierbare Steuerungen. |
US5075846A (en) * | 1989-09-29 | 1991-12-24 | Motorola, Inc. | Memory access serialization as an MMU page attribute |
US5331538A (en) * | 1989-10-23 | 1994-07-19 | Pitney Bowes Inc. | Mail processing system controller |
US5247616A (en) * | 1989-10-23 | 1993-09-21 | International Business Machines Corporation | Computer system having different communications facilities and data transfer processes between different computers |
US5247637A (en) * | 1990-06-01 | 1993-09-21 | Cray Research, Inc. | Method and apparatus for sharing memory in a multiprocessor system |
US5115411A (en) * | 1990-06-06 | 1992-05-19 | Ncr Corporation | Dual port memory system |
US5206952A (en) * | 1990-09-12 | 1993-04-27 | Cray Research, Inc. | Fault tolerant networking architecture |
DE4113959A1 (de) * | 1991-04-29 | 1992-11-05 | Kloeckner Humboldt Deutz Ag | Ueberwachungseinrichtung |
FR2678400B1 (fr) * | 1991-06-27 | 1995-08-04 | Texas Instruments France | Processeur de protocole destine a l'execution d'un ensemble d'instructions en un nombre reduit d'operation. |
EP0568082A1 (de) * | 1992-04-30 | 1993-11-03 | Olympus Optical Co., Ltd. | Nähbehandlungs- und Verwaltungssystem mit einer elektronischen Datenverarbeitungsvorrichtung |
JPH07507892A (ja) * | 1992-06-12 | 1995-08-31 | ザ、ダウ、ケミカル、カンパニー | プロセス制御コンピュータ用透過型インターフェース |
DE69306389T2 (de) * | 1992-06-12 | 1997-06-26 | Dow Chemical Co | Intelligentes prozesssteuerverbindungssystem und verfahren. |
EP0810499B1 (de) * | 1992-06-12 | 2001-10-17 | The Dow Chemical Company | Sicheres Frontenverbindungssystem und Verfahren für Prozesssteuerungsrechner |
DE69316559T2 (de) * | 1992-12-03 | 1998-09-10 | Advanced Micro Devices Inc | Servoregelkreissteuerung |
US5341502A (en) * | 1992-12-14 | 1994-08-23 | Motorola, Inc. | Device for assigning a shared resource in a data processing system |
US6230211B1 (en) * | 1993-01-19 | 2001-05-08 | Canon Kabushiki Kaisha | Container-based method for exchanging information between computer processes |
JPH06314110A (ja) * | 1993-04-28 | 1994-11-08 | Fanuc Ltd | 数値制御機能を実行するコンピュータシステム部分と他のコンピュータシステムとの結合方式 |
US5608877A (en) * | 1995-03-24 | 1997-03-04 | Cirrus Logic, Inc. | Reset based computer bus identification method and circuit resilient to power transience |
US5917723A (en) * | 1995-05-22 | 1999-06-29 | Lsi Logic Corporation | Method and apparatus for transferring data between two devices with reduced microprocessor overhead |
US5802546A (en) * | 1995-12-13 | 1998-09-01 | International Business Machines Corp. | Status handling for transfer of data blocks between a local side and a host side |
FR2759178B1 (fr) * | 1997-02-05 | 1999-04-09 | Sgs Thomson Microelectronics | Circuit de gestion de memoire dans un environnement multi-utilisateurs avec requete et priorite d'acces |
US6088514A (en) * | 1997-12-23 | 2000-07-11 | Deltatrak, Inc. | Environmental data logging system |
EP1212683A4 (de) * | 1999-04-28 | 2010-02-24 | Richard L Foreman | Umweltdatenregistrierunssystem |
US6651124B1 (en) * | 2000-04-28 | 2003-11-18 | Hewlett-Packard Development Company, L.P. | Method and apparatus for preventing deadlock in a distributed shared memory system |
US20020161453A1 (en) * | 2001-04-25 | 2002-10-31 | Peltier Michael G. | Collective memory network for parallel processing and method therefor |
JP2002366425A (ja) * | 2001-06-05 | 2002-12-20 | Hitachi Ltd | アドレス変換回路を有するデータ処理装置 |
JP2004078683A (ja) * | 2002-08-20 | 2004-03-11 | Toshiba Corp | コンピュータシステムおよび共有メモリ制御方法 |
JP4222803B2 (ja) * | 2002-09-11 | 2009-02-12 | Necエレクトロニクス株式会社 | データ処理装置およびデータ処理回路 |
ATE534887T1 (de) * | 2007-01-19 | 2011-12-15 | Sick Stegmann Gmbh | Verfahren und vorrichtung zur parametrierung einer messeinrichtung |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3343140A (en) * | 1964-10-27 | 1967-09-19 | Hughes Aircraft Co | Banked memory system |
US3469239A (en) * | 1965-12-02 | 1969-09-23 | Hughes Aircraft Co | Interlocking means for a multi-processor system |
US3467948A (en) * | 1966-06-21 | 1969-09-16 | Gen Electric | Apparatus providing a unique decision signal for concurrent interrogation signals |
US3505651A (en) * | 1967-02-28 | 1970-04-07 | Gen Electric | Data storage access control apparatus for a multicomputer system |
US3445822A (en) * | 1967-07-14 | 1969-05-20 | Ibm | Communication arrangement in data processing system |
US3555513A (en) * | 1967-10-11 | 1971-01-12 | Burroughs Corp | Multiprocessor digital computer system with address modification during program execution |
US3560934A (en) * | 1969-06-10 | 1971-02-02 | Ibm | Arrangement for effecting vector mode operation in multiprocessing systems |
DE2064383C3 (de) * | 1970-01-12 | 1981-02-26 | Fujitsu Ltd., Kawasaki, Kanagawa (Japan) | Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen |
US3699524A (en) * | 1970-08-10 | 1972-10-17 | Control Data Corp | Adaptive data priority generator |
DE2137308A1 (de) * | 1970-10-12 | 1972-04-13 | Robotron Veb K | Schaltungsanordnung mit Wiederholstruktur zur Vermittlung von Speicherzyklen |
BE786342A (fr) * | 1971-04-15 | 1973-01-17 | Int Standard Electric Corp | Perfectionnements aux systemes utilisant des calculateurs |
NL7106491A (de) * | 1971-05-12 | 1972-11-14 | ||
US3735360A (en) * | 1971-08-25 | 1973-05-22 | Ibm | High speed buffer operation in a multi-processing system |
US3896418A (en) * | 1971-08-31 | 1975-07-22 | Texas Instruments Inc | Synchronous multi-processor system utilizing a single external memory unit |
US3982231A (en) * | 1972-03-31 | 1976-09-21 | International Business Machines Corporation | Prefixing in a multiprocessing system |
IT976393B (it) * | 1972-03-31 | 1974-08-20 | Ibm | Sistema multielaboratore perfezionato |
US3886525A (en) * | 1973-06-29 | 1975-05-27 | Ibm | Shared data controlled by a plurality of users |
GB1485758A (en) * | 1973-09-16 | 1977-09-14 | Hawker Siddeley Dynamics Ltd | Computer systems |
US3921145A (en) * | 1973-10-12 | 1975-11-18 | Burroughs Corp | Multirequest grouping computer interface |
US3940743A (en) * | 1973-11-05 | 1976-02-24 | Digital Equipment Corporation | Interconnecting unit for independently operable data processing systems |
US3845474A (en) * | 1973-11-05 | 1974-10-29 | Honeywell Inf Systems | Cache store clearing operation for multiprocessor mode |
US3889237A (en) * | 1973-11-16 | 1975-06-10 | Sperry Rand Corp | Common storage controller for dual processor system |
US3959775A (en) * | 1974-08-05 | 1976-05-25 | Gte Automatic Electric Laboratories Incorporated | Multiprocessing system implemented with microprocessors |
US3931613A (en) * | 1974-09-25 | 1976-01-06 | Data General Corporation | Data processing system |
US4000485A (en) * | 1975-06-30 | 1976-12-28 | Honeywell Information Systems, Inc. | Data processing system providing locked operation of shared resources |
US4055851A (en) * | 1976-02-13 | 1977-10-25 | Digital Equipment Corporation | Memory module with means for generating a control signal that inhibits a subsequent overlapped memory cycle during a reading operation portion of a reading memory cycle |
-
1976
- 1976-04-22 US US05/679,408 patent/US4212057A/en not_active Expired - Lifetime
-
1977
- 1977-03-08 IN IN343/CAL/77A patent/IN147333B/en unknown
- 1977-03-10 GB GB10097/77A patent/GB1572426A/en not_active Expired
- 1977-04-20 ES ES457986A patent/ES457986A1/es not_active Expired
- 1977-04-20 BR BR7702548A patent/BR7702548A/pt unknown
- 1977-04-20 DE DE2760322A patent/DE2760322C2/de not_active Expired
- 1977-04-20 DE DE2717503A patent/DE2717503C2/de not_active Expired
- 1977-04-20 FR FR7711823A patent/FR2349178A1/fr active Granted
- 1977-04-20 IT IT22633/77A patent/IT1075707B/it active
- 1977-04-21 CA CA276,621A patent/CA1095175A/en not_active Expired
- 1977-04-21 CH CH494977A patent/CH620306A5/de not_active IP Right Cessation
- 1977-04-21 JP JP52045217A patent/JPS5853379B2/ja not_active Expired
Non-Patent Citations (2)
Title |
---|
DE-Z.: IBM-Nachrichten, Febr. 1969, S. 549-564 u. S. 552 * |
US-Z.: IEEE Transactions on Computers, Sept. 1975, S. 931-932 * |
Also Published As
Publication number | Publication date |
---|---|
ES457986A1 (es) | 1978-07-01 |
DE2717503A1 (de) | 1977-11-03 |
IT1075707B (it) | 1985-04-22 |
CA1095175A (en) | 1981-02-03 |
FR2349178B1 (de) | 1982-08-13 |
GB1572426A (en) | 1980-07-30 |
CH620306A5 (de) | 1980-11-14 |
JPS52138846A (en) | 1977-11-19 |
FR2349178A1 (fr) | 1977-11-18 |
BR7702548A (pt) | 1978-02-28 |
DE2717503C2 (de) | 1986-06-05 |
JPS5853379B2 (ja) | 1983-11-29 |
US4212057A (en) | 1980-07-08 |
IN147333B (de) | 1980-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2760322C2 (de) | ||
DE3810231C2 (de) | ||
DE2313724C3 (de) | Elektronische Datenverarbeitungsanlage mit einer Anzahl von Datengeräten, die mit einem gemeinsamen Kontroller nach dem Unterberechnungsprinzip verkehren | |
DE2455803C2 (de) | Mehrprozessor-Datenverarbeitungsanlage | |
EP0006164B1 (de) | Multiprozessorsystem mit gemeinsam benutzbaren Speichern | |
EP0577919B1 (de) | Zugriffssteuerung für gekoppelte maskenprogrammierte Mikrocontroller | |
DE2755952C2 (de) | ||
DE1774296B2 (de) | Restruktuierbare Steuereinheit für elektronische Digitalrechner | |
DE2844357A1 (de) | Speichererweiterung | |
DE2523372B2 (de) | Eingabe-ZAusgabe-Anschlußsteuereinrichtung | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
CH628167A5 (de) | Prozessoreinrichtung zur prioritaetssteuerung der zugriffe zum gemeinsam benutzten arbeitsspeicher einer mehrprozessoranlage. | |
DE2917441B2 (de) | Verfahren und Schaltungsanordnung zur datenwegunabhängigen Reservierung, Freigabe und Wiederverbindung nach Unterbrechung von Ein- und/oder Ausgabegeräten und Speichergeräten in einen datenverarbeitenden Multiprozessorsystem | |
DE10296959T5 (de) | System und Verfahren zum Steuern der Buszuteilung während Cache-Speicher-Burstzyklen | |
DE3502147C2 (de) | ||
DE3508321A1 (de) | Programmierbare schaltung zur steuerung einer fluessigkristallanzeige | |
DE2164793A1 (de) | Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/ Ausgabe-Einheiten mittels eine Zentraleinheit | |
DE2645341C2 (de) | ||
DE3936339C2 (de) | DMA-Controller | |
DE2558417C3 (de) | Datenverarbeitungssystem | |
DE3142504A1 (de) | Mehrfachplattenspeicher-uebertragungssystem | |
CH495584A (de) | Datenverarbeitungsanlage | |
DE3247083A1 (de) | Mehrprozessorsystem | |
DE2824557C2 (de) | Anordnung in Mikroprozessoren für den Aufbau von Multiprozessor-Systemen | |
EP0104638B1 (de) | Verfahren zur Vorbereitung der Anschaltung einer von mehreren datenverarbeitenden Einrichtungen an ein zentral taktgesteuertes Mehrfach-Leitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
Q172 | Divided out of (supplement): |
Ref country code: DE Ref document number: 2717503 |
|
8181 | Inventor (new situation) |
Free format text: DEVLIN, CHARLES LOUIS, BALLSTON LAKE, N.Y., US EICHELBERGER, CHARLES WILLIAM, SCHENECTADY, N.Y., US |
|
8110 | Request for examination paragraph 44 | ||
AC | Divided out of |
Ref country code: DE Ref document number: 2717503 Format of ref document f/p: P |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |