DE3642324A1 - Multiprozessoranlage mit prozessor-zugriffssteuerung - Google Patents
Multiprozessoranlage mit prozessor-zugriffssteuerungInfo
- Publication number
- DE3642324A1 DE3642324A1 DE19863642324 DE3642324A DE3642324A1 DE 3642324 A1 DE3642324 A1 DE 3642324A1 DE 19863642324 DE19863642324 DE 19863642324 DE 3642324 A DE3642324 A DE 3642324A DE 3642324 A1 DE3642324 A1 DE 3642324A1
- Authority
- DE
- Germany
- Prior art keywords
- processor
- data
- bus
- address
- buffer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Information Transfer Systems (AREA)
Description
Die Erfindung betrifft Multiprozessoranlagen
und insbesondere eine Schaltungsanordnung zur Steuerung
des Zugriffs zu den Prozessoren in einer Multiprozessor
anlage.
Eine Multiprozessoranlage besteht üblicherweise
aus einer Vielzahl von miteinander verbundenen Prozesso
ren, die zur Durchführung von Datenverarbeitungsaufgaben
zusammenarbeiten. Demgemäß wird eine große Zahl von
Datennachrichten zwischen den Prozessoren auf regelmäßiger
Basis ausgetauscht. Es ist bereits seit langem erkannt
worden, daß dieser Nachrichtenaustausch zwischen den
Prozessoren zu einem Flaschenhals werden kann, der Rechen
zeit der Anlage vergeudet und die Verarbeitungskapazität
für Berechnungsaufgaben verringert. Üblicherweise werden
Datenübertragungen zwischen zwei Prozessoren durch den
jenigen Prozessor eingeleitet, welcher sich auf die
Aussendung einer Datennachricht vorbereitet. Der sendende
Prozessor fordert zunächst einen Zugriff zu einer gemein
samen Sammelleitung (Bus) an, die die Prozessoren der
Anlage verbindet, und nach Gewährung eines Bus-Zugriffs
gibt er die Nachricht zusammen mit der Identität des
gewünschten Empfangsprozessors auf den Bus. Es sind
viele Anstrengungen unternommen worden, um Probleme
hinsichtlich eines Bus-Zugriffs zu lösen. Eine Anzahl
technischer Lösungen hierzu ist bekanntgeworden, bei
denen Anforderungen nach einem Bus-Zugriff auf einer
Prioritätsbasis behandelt werden, wobei Zugriffsverzöge
rungen, die sich aus widerstreitenden Zugriffsanforderun
gen ergeben, auf ein Minimum gebracht werden. Solche
Bus-Zugriffsanordnungen stellen einen "fairen" Zugriff
zu einem Bus dadurch sicher, daß zwar der Zugriff auf
einer Prioritätsbasis erfolgt, ein Prozessor mit niedriger
Priorität aber nicht für eine zu lange Zeitspanne ausge
schlossen werden kann. Beim Stand der Technik ist jedoch
das Problem eines fairen Zugriffs zu einem Empfangsprozes
sor nach Erlangung eines Zugriffs zum Bus durch einen
Nachrichten aussendenden Prozessor nicht befriedigend
angegangen worden. Ein Sendeprozessor einer Multiprozessor
anlage stellt, nachdem er auf einen Zugriff zum Bus
gewartet hat, gegebenenfalls fest, daß der Empfangsprozes
sor nicht in der Lage ist, eine Datennachricht aufzunehmen.
Bei bekannten Anlagen muß dann der Sendeprozessor erneut
versuchen, einen Zugriff zum Bus zu erlangen, und es
kann ihm dann der Zugriff zum Empfangsprozessor wiederum
verweigert werden. Wenn dies häufig geschieht, kann
ein bestimmter Prozessor daran gehindert sein, seine
Aufgaben für eine unzulässig lange Zeitspanne und mögli
cherweise für immer auszuführen. Diese wiederholte Ver
weigerung eines Zugriffs stellt ein Problem der Anlage
dar und verringert ihre Datenverarbeitungskapazität.
Die Erfindung will die sich aus den dargelegten
Problemen ergebende Aufgabe lösen. Die Lösung ist im
Patentanspruch 1 angegeben.
Die erfindungsgemäße Lösung für die Datenübertra
gung zwischen den Prozessoren einer Multiprozessoranlage
sieht demnach vor, daß die Identität eines Daten aussen
denden Prozessors, dem der Zugriff zu einem Daten empfan
genden Prozessor verweigert worden ist, gespeichert
wird und dann diesem Prozessor Zugriff zu dem empfangenden
Prozessor vor anderen konkurrierenden Prozessoren gewährt
wird. Entsprechend einem Merkmal der Erfindung wird
die Identität jedes Prozessors, dem ein Datenübertragungs
zugriff zu einem gewünschten Empfangsprozessor verweigert
wird, in einem Adressenpuffer in einer Reihenfolge aufge
zeichnet, in welcher Versuche für einen Datenübertragungs
zugriff erfolgen. Wenn der empfangende Prozessor zur
Aufnahme weiterer Datennachrichten verfügbar ist, wird
eine Anforderung nach einer Neuaussendung zu dem ersten,
im Adressenpuffer identifizierten Prozessor übertragen.
Nach Empfang einer Datennachricht von dem zurückgewiesenen
Prozessor wird eine eine Neuaussendung anfordernde Nach
richt zu weiteren Prozessoren übertragen, die durch
die Adressen im Puffer identifiziert werden, und zwar
in der Reihenfolge, in der sie aufgezeichnet worden
sind.
Mit Vorteil kann eine solche Anordnung in Multi
prozessoranlagen benutzt werden, die einen einzigen Verbin
dungbus verwenden, zu welchem ein Zugriff auf einer
Prioritätsbasis gewährt wird, um auf diese Weise eine
Prozessorverbindungsanordnung zu schaffen, bei der für
Prozessoren, die einen Zugriff zum Bus erlangen, ein
Datenübertragungszugriff zu einem gewünschen Empfangs
prozessor innerhalb einer vernünftigen Zeitspanne sicher
gestellt wird.
Bei einem speziellen Ausführungsbeispiel der
Erfindung sind die Prozessoren einer Multiprozessoranlage
mit Hilfe eines Bus untereinander verbunden, zu dem
ein Zugriff auf einer Prioritätsbasis gewährt wird. Wenn
Daten von einem der an den Bus angeschlossenen Prozessoren
übertragen werden, sind die Daten durch eine Ursprungs
adresse und eine Bestimmungsadresse begleitet. Jeder
Empfangsprozessor der Multiprozessoranlage besitzt einen
zugeordneten Empfangspuffer, der Daten vom Bus aufnimmt
und durch den Prozessor geleert wird, sowie einen Adressen
puffer zur sequentiellen Speicherung der Identität jedes
anderen Prozessors, dem ein Datenübertragungszugriff
durch den gewünschten Empfangsprozessor verweigert worden
ist. Wenn der Empfangspuffer voll ist oder eine Eintra
gung in dem Adressenpuffer des gewünschten Empfangspro
zessors vorhanden ist, werden keine weiteren Datennach
richten angenommen. Unter diesen Umständen wird eine
negative Bestätigung zu jedem Prozessor ausgesendet,
von dem eine Nachricht nicht angenommen werden kann,
und die Adresse jedes solchen Prozessors wird in den
Adressenpuffer eingegeben. Wenn der Empfangspuffer leer
wird, während die Identität eines zurückgewiesenen
Prozessors im Adressenpuffer verbleibt, fordert der
gewünschte Empfänger der ursprünglichen Nachricht einen
Zugriff zum Bus an und belegt den Bus, nachdem der Zugriff
gewährt worden ist. Es wird dann eine Nachricht, die
eine Neuaussendung anfordert, über den belegten Bus zu
demjenigen Prozessor übertragen, der durch die früheste,
nicht bediente Eintragung im Adressenpuffer identifiziert
wird. Der die Nachricht empfangende Prozessor überträgt
dann die Daten über den belegten Bus.
Mit Vorteil wird in einer Anlage nach der Erfindung
die Datenverarbeitungskapazität einer Multiprozessor
anlage wesentlich erhöht. Berechnungen zeigen, daß in
einer Anlage mit zehn oder mehr Prozessoren zur Verarbei
tung von Aufgaben, die zwei oder mehr Prozessoren benöti
gen, die Anordnung nach der Erfindung eine Verbesserung
von etwa 20% für die Datenverarbeitungskapazität ermög
licht.
Nachfolgend soll die Erfindung anhand der Beschrei
bung in Verbindung mit den Zeichnungen näher beschrieben
werden. Es zeigen
Fig. 1 und 2 eine Multiprozessoranlage mit der
Zugriffssteueranordnung nach der Erfindung
als Blockschaltbild;
Fig. 3 die Zuordnung der Fig. 1 und 2;
Fig. 4 und 5 Flußdiagramm-Darstellungen von
Maschinen mit einer endlichen Zahl von
Zuständen, die die Zugriffssteueranordnung
nach Fig. 1 und 2 beinhalten.
Fig. 1 zeigt Prozessoren 101 und 140, die mit
Hilfe von Bus-Schnittstellenschaltungen 110 bzw. 145 an
einen Prozessorverbindungsbus 150 angeschaltet sind.
Fig. 2 zeigt eine entsprechende Anordnung, bei der Prozes
soren 201 und 240 mit Hilfe von Schnittstellenschaltungen
210 bzw. 245 an den Bus 150 angeschlossen sind. Zur
Verdeutlichung der Grundgedanken der vorliegenden Erfin
dung sind nur vier Prozessoren und die entsprechenden
Verbindungsschaltungen dargestellt, die an den Bus 150
angeschaltet sind. Es kann jedoch eine große Zahl von
Prozessoren, beispielsweise mehr als zehn, an den Bus
angeschlossen werden, und zwar unter Verwendung von Schnitt
stellenschaltungen der hier beschriebenen Art. Die Prozes
soren 101, 201 und weitere Prozessoren können irgendeine
Anzahl von unterschiedlichen Prozessorsystemen sein, die
mit dem Bus 150 über Schaltungen, beispielsweise die hier
beschriebenen Bus-Schnittstellenschaltungen, in Verbindung
treten können.
Es wird angenommen, daß die Schnittstellenschaltun
gen 110, 145, 245 und 210 identisch sind. Jeder der
Blöcke in der Schnittstellenschaltung 110 in Fig. 1
soll unter der Voraussetzung beschrieben werden, daß
entsprechend bezeichnete Blöcke in der Schnittstellen
schaltung 210 in Fig. 2 identisch sind und entsprechende
Funktionen ausführen. Die Schnittstellenschaltung 110
weist eine Datenpuffereinheit 120 auf, die aus einem
Empfangs-FIFO (Speicher, aus dem eine zuerst eingegebene
Information auch wieder als erstes austritt) 121 und
einem Sende-FIFO 123. Die Schnittstellenschaltung 110
weist außerdem eine Steuereinheit 114, ein Steuerregister
113, ein Zustandsregister 116 und ein Register für das
Ende eines Pakets (EOP-Register) 117 auf. Diese Einheiten
sind bei Nachrichtenübertragungen zwischen dem Prozessor
101 und der Schnittstellenschaltung 110 beteiligt. Der
Prozessor 101 besitzt einen Schreibzugriff zum Sende-FIFO
123, zum Steuerregister 113 und zum EOP-Register 117,
sowie einen Lesezugriff zum Zustandsregister 116 und zum
Empfangs-FIFO 121. Diese Einheiten, beispielsweise die
FIFOs und die drei Register, können im Adressenbereich des
Prozessors liegen und über dessen Speicheradressenbus
adressiert werden. In diesem Fall ist der in Fig. 1 ge
zeigte Prozessorbus 103 lediglich eine Erweiterung des
Speicherbus für den Prozessor 101. Es können jedoch auch
andere Busanordnungen auf einfache Weise verwirklicht
werden, beispielsweise Anordnungen unter Verwendung des
peripheren Prozessorbus. Die Steuereinheit 114 nimmt einen
Lese- oder Schreibanreiz vom Prozessor 101 über die
Verbindung zum Bus 115 auf, wenn
- a) der Empfangs-FIFO 121 oder der Sende-FIFO 123 oder
- b) das Zustandsregister 116 oder
- c) das Steuerregister 113 oder
- d) das EOP-Register 117 adressiert werden.
Die Steuereinheit 114 prüft zwei vorausgewählte Bits der
Adresse, um eine dieser vier adressierbaren Einheiten
auszuwählen, und steuert den Zugriff vom Prozessor 101
zu den adressierten Einheiten auf übliche und bekannte
Weise. Es können Schaltungen mit einer endlichen Zahl von
Zuständen oder ähnliche Logikschaltungen benutzt werden,
um eine getrennte Steuerung für den Lese- und Schreibzu
griff zu den FIFOs und dem Zustands-, Steuer- und EOP-
Register zu steuern. Die Schaltungen und Logikanordnungen
zur Verwirklichung dieser Operationen sind bekannt und
werden hier nicht im einzelnen beschrieben. Die Steuer
einheiten 114 und 214 weisen die erforderlichen Decoder
zur Decodierung von Adresseninformationen sowie am Ort
programmierbare Logikanordnungen (FPLA von Field
Programmable Logic Arreys) und am Ort programmierbare
Logikschieberegister (FPLS von Field Programmable Logic
Shift Registers) zur Verwirklichung von Schaltungen mit
endlichen Zuständen auf. Alle diese Bauteile sind handels
üblich,und ihre Verwendung zur Verwirklichung der gewünsch
ten Funktionen ist allgemein bekannt.
Wenn der Prozessor 101 ein Datenpaket zu einem
anderen Prozessor aussenden will, schreibt er die Daten
wörter des Pakets in den Sende-FIFO 123, der hier auch
als Sendepuffer bezeichnet wird. Das letzte Wort des
Paketes wird zum EOP-Register 117 gegeben und zeigt das
Ende des Paketes an. Die Datenwörter bestehen bei diesem
Ausführungsbeispiel aus 32 Bits,und der Sendepuffer sowie
der Empfangspuffer sind 32 Bit breit. Ein bekannter
Datenzwischenspeicher 130 ist zwischen dem Sendepuffer
und dem Bus vorgesehen, um Zeitdifferenzen zwischen
dem Puffer und dem Bus auszugleichen. Das EOP-Register
117 und der Sendepuffer 123 sind jedoch 33 Bit breit, und
der Inhalt des EOP-Registers wird zum Sendepuffer 123
mit einem zusätzlichen Bit übertragen, das das Ende des
Pakets anzeigt. Das EOP-Register 117 erzeugt außerdem ein
EOPW-Ausgangssignal, das anzeigt, daß das Ende des Pakets
eingeschrieben worden ist. Dieses Signal gibt der Steuer
einheit 114 an, daß das letzte Wort eines Paketes empfangen
worden ist. Außerdem wird das EOPW-Signal über ein ODER-
Gatter 129 zur Steuereinheit 114 gegeben, um die Zugriffs
konkurrenz zum Verbindungsbus 150 einzuleiten. Zusammen
mit der Übertragung eines Datenpakets zum Sende-FIFO 123
gibt der Prozessor 101 außerdem ein 7-Bit-Identitätscode
zum Steuerregister 113. Dies ist die Identität oder
Adresse desjenigen Prozessors, zu welchem das Paket
übertragen werden soll. Nachdem ein Zugriff zum Bus 150
erlangt ist, wird der Inhalt des Steuerregisters 113
als Bestimmungsadresse zusammen mit Datenwörtern aus
dem Sende-FIFO 123 und einer aus einem ID-Register 112
gewonnenen Ursprungsadresse auf den Bus 150 gegeben. Das
letztgenannte Register enthält den 7-Bit-Identitätscode
für die Bus-Schnittstellenschaltung 110. Datenwörter
werden über einen 32-Bit-Datenbus 152, die Bestimmungsadresse
über einen 7-Bit-ID-Bus 153 und die Ursprungsadresse auf
einem 7-Bit-FROM-Bus 156 übertragen, die alle Teil des
Bus 150 sind.
Wenn ein anderer Prozessor, beispielsweise der
Prozessor 201, Datenwörter zum Prozessor 101 überträgt,
so werden diese im Empfangs-FIFO 121 abgelegt, der auch
als Empfangspuffer 121 bezeichnet wird. Das letzte Wort
des Pakets wird durch ein Signal auf der EOP-Ader 154 des
Bus 150 begleitet, das im Empfangs-FIFO 121 zusammen
mit dem letzten Wort des Paketes gespeichert wird. Der
Prozessor 101 liest die Daten aus dem Empfangs-FIFO 121,
und wenn das letzte Wort des Pakets auftritt, macht die
Steuereinheit 114 eine entsprechende Eintragung im Zustands
register 116. So lange bis der Prozessor 101 das Zustands
register liest, sperrt die Steuereinheit 114 ein weiteres
Lesen des Empfangspuffers.
Entsprechend der Darstellung in Fig. 1 und 2
enthält der Verbindungsbus 150 einen Vielbit-Prioritätsbus
151 an den eine Konkurrenzschaltung in jeder Schnitt
stellenschaltung 110, 210 sowie in weiteren Schnittstellen
schaltungen angeschlossen ist, die mit dem Bus verbunden
sein können. Eine Bus-Konkurrenz kann mit Hilfe einer
Anzahl bekannter Bus-Konkurrenzverfahren durchgeführt
werden, die einen Bus-Zugriff auf einer Prioritätsbasis
gewähren. Eine bekannte Bus-Anordnung ist der standardi
sierte S-100-Bus, für den ein Konkurrenzprotokoll definiert
worden ist. Die Konkurrenzschaltungen 111, 211 können
je aus einer bekannten Konkurrenzschaltung bestehen,
beispielsweise der für den S-100-Bus definierten Schaltung
oder einer ähnlichen Schaltung, die eine Auswahl aus
einer Anzahl von Konkurrenten trifft und ein Gewährungs
signal für den Konkurrenten mit der höchsten Priorität
liefert. Der Prioritätsbus ist ein 7-Bit-Bus mit sieben
Prioritätsadern. Eine solche Anordnung kann theoretisch
zur Definition von bis zu 127 unterschiedlichen Prioritäten
für 127 unterschiedliche Prozessoren unter Verwendung der
S-100-Konkurrenzschaltung benutzt werden. Die Konkurrenz
schaltungen 111, 211 und die Konkurrenzschaltungen in
weiteren Schnittstellenschaltungen, beispielsweise den
Schaltungen 140, 240, sind mit allen sieben Adern des
Prioritätsbus verbunden. Die Konkurrenzschaltung 111
nimmt ein besonderes 7-Bit-Identifizierungswort aus
dem ID-Register 112 auf. Dieses Identifizierungswort
definiert die Identität des Prozessors 101 und der Bus-
Schnittstellenschaltung 110 sowie die Priorität für den
Bus-Zugriff. Die Konkurrenzschaltung hält unter Verwendung
von Logikgattern mit offenem Kollektor oder ähnlichen
Schaltungen bestimmte Prioritätsadern auf einem im voraus
definierten Logikzustand (beispielsweise Logisch Null),
um die Priorität des zugeordneten Prozessors 101 zu
definieren. Nur dann, wenn kein Prozessor mit einer
höheren, durch den Zustand der Prioritätsadern definier
ten Priorität vorhanden ist, liefert die Konkurrenz
schaltung 111 ein entsprechendes Gewährungssignal an
die Steuereinheit 114, das einen Zugriff zum Datenbus 152
gewährt.
Die Steuereinheit jeder Bus-Schnittstellenschal
tung weist eine Schaltung mit einer endlichen Zahl von
Zuständen zur Steuerung des Lesens oder der Aufnahme von
Daten vom Bus und eine Schaltung mit einer endlichen
Zahl von Zuständen zur Steuerung des Schreibens oder
Sendens von Daten an den Bus auf. Ein sendender Prozessor,
beispielsweise der Prozessor 201, gewinnt über seine Bus-
Schnittstellenschaltung 210 einen Zugriff zum Datenbus
152 und überträgt Daten zusammen mit der Identität des
empfangenden Prozessors, beispielsweise des Prozessors
101, und der Identität des Ursprungsprozessors 201. In
der Bus-Schnittstellenschaltung 101 überwacht eine ID-
Vergleichsschaltung 122 den ID-Bus 153 und vergleicht
dessen Information mit der im ID-Register 112 definierten
Adresse. Wenn die Adresse des Prozessors 101 erkannt wird,
so wird der Datenzwischenspeicher 125 durch ein Überein
stimmungssignal von der Vergleichsschaltung 122 und ein
Betätigungssignal von der Steuereinheit 114 veranlaßt,
Daten vom Bus zum Empfangspuffer 121 zu übertragen.
Fig. 5 zeigt die Zustände der Schaltung mit einer
endlichen Zahl von Zuständen für die Steuerung der Bus-
Empfangsoperation, die in den Steuereinheiten 114, 214
jeder der an den Bus 150 angeschlossenen Bus-Schnitt
stellenschaltungen verwirklicht ist. Die Arbeitsweise
soll nur mit Bezug auf die Bus-Schnittstellenschaltung
110 beschrieben werden. Sie ist analog in der Schnitt
stellenschaltung 210 und weiteren Schnittstellenschaltun
gen. Der Anfangszustand der Schaltung mit endlicher
Zahl von Zuständen ist der offene Empfangszustand 510.
In diesem Zustand wird ein Betätigungssignal an den
Datenzwischenspeicher 125 gegeben, und es findet eine
Datenübertragung vom Bus zum Empfangs-FIFO 121 statt, so
lange die Adresse auf dem ID-Bus 153 mit dem Inhalt des
ID-Registers 112 übereinstimmt. Außer bei einem Puffer
überlauf besteht keine Notwendigkeit, aus dem offenen
Empfangszustand zu gehen. Die FIFOs 121 und 123 sind
handelsübliche Ausführungen, die die übliche "Puffer voll"-
und "Puffer leer"-Anzeige sowie einen Empfangspuffer-
Voll-Zustand anzeigen, bevor das Eintreffen eines Paket
ende-Signals als Überlaufzustand gedeutet wird. Die
Steuereinheit 114 überwacht die "Puffer voll"- und "Puffer
leer"-Anzeigen für den Empfangspuffer 121 sowie die
EOP-Ader 154 des Bus 150 im offenen Empfangszustand 510.
Im normalen Betrieb liest der Prozessor 101 Datenwörter
aus dem Empfangs-FIFO 121 mit einer Rate, die niedriger
ist als die Ubertragungsrate des Datenbus 152, wodurch
einem möglichen Empfangspuffer-Überlaufzustand selbst
dann Rechnung getragen wird, wenn keine anomalen Zustände
im Prozessor 101 auftreten. In der Zeichnung sind die
Adern, die Pufferpegel-Zustandssignale an die Steuerein
heit 114 liefern, zur Vereinfachung als Ausgangsadern
der Puffereinheit 120 dargestellt. Die Steuereinheit 114
nimmt außerdem die entsprechenden Eintragungen in das
Zustandsregister 116 vor, die den Zustand dieser Puffer
anzeigen wiedergeben. Das Auftreten einer Empfangs
puffer-Voll-Anzeige vor Empfang des EOP-Signals für ein
zugeordnetes Paket auf der EOP-Ader 154 zeigt an, daß
nichts oder nur ein Teil eines Paketes mit Erfolg im
Empfangspuffer gespeichert worden ist. In diesem Falle
wird, obwohl die Schaltung mit endlicher Zahl von Zustän
den im offenen Empfangszustand bleibt, ein negatives
Bestätigungssignal SNACK von der Steuereinheit 114 über
die SNACK-Ader 155 des Bus 150 übertragen. Dieses Signal
SNACK wird von der Datensendeschaltung, beispielsweise
der Schaltung 210, aufgenommen.
Jede Bus-Schnittstelleneinheit weist einen FIFO
mit der Bezeichnung RFGF auf. Dieser ist als Block 118
in Fig. 1 und als Block 218 in Fig. 2 gezeigt. Der RFGF-
FIFO ist, wie die anderen in der Anlage benutzten FIFOs,
ein handelsübliches Bauteil, das die üblichen "Puffer
voll"- und "Puffer leer"-Zustandssignale erzeugt. Die
Datenzwischenspeicher (127, 227, 131, 231) kompensieren
Zeitunterschiede zwischen dem FIFO und dem Bus. Bei
diesem Ausführungsbeispiel überträgt ein Prozessor, der
ein Datenpaket aussendet, eine Bestimmungsadresse auf
dem ID-Bus 153 sowie auf dem FROM-Bus 156 eine Ursprungs
adresse, die den sendenden Prozessor identifiziert. Bei
Feststellung eines Empfangspuffer-Überlaufzustandes,
der durch die Empfangspuffer-Voll-Anzeige angegeben wird,
veranlaßt die Steuereinheit 114 den RFGF-FIFO 118, die
auf dem FROM-Bus 156 auftretende Ursprungsadresse zu
speichern. Entsprechend der Darstellung in Fig. 5
finden das Speichern der Information auf dem FROM-
Bus im FIFO sowie die Übertragung des Signals SNACK im
offenen Empfangszustand 510 statt. Bei Beendigung dieses
Vorgangs erfolgt ein Übergang in den RFG-Zustand 512
unter der Bedingung, daß der RFGF-Puffer nicht leer ist.
Im RFG-Zustand 512 überwacht die Steuereinheit 114 weiter
die Empfangspuffer-Zustandsadern sowie den Ausgang der
Vergleichsschaltung 122. Wenn die Vergleichsschaltung 122
das Auftreten der Identifizierung für den Prozessor 101
auf dem ID-Bus 153 im Zustand 512 anzeigt, veranlaßt die
Steuereinheit 114 erneut den RFGF-FIFO 118, die auf
dem FROM-Bus 156 auftretende Ursprungsadresse zu
speichern, und sendet das SNACK-Signal. Dies findet so
oft statt, wie andere Prozessoren versuchen, Daten zum
Prozessor 101 zu übertragen, während die Schaltung mit
endlicher Zahl von Zuständen für den Empfangsbus
im RFGF-Zustand 512 bleibt.
Wenn der Empfangs-FIFO 121 leer wird und der
RFGF-FIFO 118 nicht leer ist, wird das UND-Gatter 121
aktiviert und sein über das ODER-Gatter 129 übertragenes
Ausgangssignal erzeugt ein IWANT-Signal. Dieses Signal
wird von der Steuereinheit 114 zur Konkurrenzschaltung
111 übertragen und veranlaßt diese, bei der frühestmög
lichen Gelegenheit in eine Konkurrenz hinsichtlich eines
Zugriffs zum Bus einzutreten, damit die Steuereinheit 114
eine Anforderung für eine erneute Übertragung zum
ersten Prozessor geben kann, der im RFGF-Puffer iden
tifiziert ist. Bei diesem Ausführungsbeispiel sind die
Konkurrenzschaltungen so angeordnet, daß ein fairer
Zugriff zum Bus derart erfolgt, daß alle Konkurrenzschal
tungen, die einen Zugriff zum Bus in irgendeinem
Bus-Zyklus anstreben, bedient werden, bevor in nach
folgenden Bus-Zyklen aktivierte Konkurrenzschaltungen
die Erlaubnis erhalten, den Bus zu belegen. Eine
Anordnung zur Verwirklichung eines solchen Bus-Zutei
lungsverfahrens ist in der US-PS 45 14 728 offenbart.
Zur Erläuterung der vorliegenden Erfindung kann jedes
übliche Konkurrenzverfahren benutzt werden. Bei Verwen
dung des sogenannten fairen Zugriffsverfahrens belegt
eine Gruppe von Schnittstellenschaltungen, die in
Konkurrenz bezüglich des Bus stehen, die BST-Ader 160
des Bus 150. Dies kann mehrere Bus-Zyklen dauern, und
andere Schaltungen versuchen nicht hinsichtlich
des Bus zu konkurrieren, solange die BST-Ader belegt
ist. Wenn eine Bus-Schnittstellenschaltung sich im
Konkurrenzverfahren befindet, belegt sie die CONTEND-
Ader 161, und wenn der Bus belegt ist, wird die HOLD-
Ader 159 belegt.
Die Steuereinheiten 114 und 214 verwirklichen beide
die in Fig. 4 dargestellte Bus-Sendeschaltung mit
endlicher Zahl von Zuständen sowie die in Fig. 5
gezeigte Busempfangsschaltung mit endlicher Zahl von
Zuständen. Die in Fig. 4 dargestellte Folge wird zur
Übertragung von Daten vom Sendepuffer 123, 223 zum
Bus benutzt. Sie wird außerdem verwendet, um das
Aussenden einer Neuübertragungsanforderung zu einem
Prozessor, beispielsweise dem Prozessor 201, zu steuern,
dem ein Datenübertragungszugriff zu einem anderen
Prozessor, beispielsweise dem Prozessor 101, verweigert
worden ist. Das Aussenden dieser Nachricht durch
den Prozessor 101 soll beschrieben werden. Ähnliche
Vorgänge finden in anderen Bus-Schnittstellenschaltun
gen unter ähnlichen Bedingungen statt. Bei Erzeugung
des IWANT-Signals am Ausgang des obenerwähnten ODER-
Gatters 129 geht die Schaltung mit endlicher Zahl
von Zuständen aus dem Frei-Zustand 401 in den Bereit-
Zustand 402. Der letztgenannte Zustand wird als Synchro
nisationszustand benutzt, da das IWANT-Signal nicht
mit der Steuereinheit 114 synchronisiert ist, die
wiederum mit dem Bus 150 synchron läuft. Wenn die BST-
Ader belegt und dadurch angezeigt wird, daß eine oder
mehrere weitere Konkurrenzschaltungen den Bus belegen
wollen, erfolgt ein Übergang aus dem Bereit-Zustand 402
in den Warte-1-Zustand 403. Wenn die BST-Ader nicht belegt
ist, während sich die Schaltung mit endlicher Zahl von
Zuständen im Bereit-Zustand 402 oder im Warte-1-Zustand
403 befindet, erfolgt ein Übergang zum Konkurrenz-1-Zustand
404. Die Konkurrenzschaltungen 111, 211 und weitere,
mit dem Bus verbundene Konkurrenzschaltungen bestimmen die
Priorität durch Anschalten ihrer Identität an den Prioritäts
bus 151 und Abschalten ihrer Priorität, wenn die Identifi
zierung einer Konkurrenzschaltung höherer Priorität sich
auf dem Prioritätsbus 151 befindet. Bei einer solchen
Anordnung kann es, abhängig von elektrischen Verzögerungen
der Schaltungen, mehr als einen Bus-Zyklus und gegebenen
falls drei bis fünf Bus-Zyklen dauern, um die Konkurrenz
hinsichtlich des Bus aufzulösen. In Fig. 4 ist dies durch
eine gestrichelte Linie zwischen dem Konkurrenz-1-Zustand
404 und dem Konkurrenz-N-Zustand 414 dargestellt. Die
tatsächliche Anzahl von Konkurrenzzuständen läßt sich,
abhängig von den physikalischen Parametern der Anlage,
wählen. In jedem Fall erfolgt, wenn die Konkurrenzschaltung
111 nicht ein WON-Signal zur Steuereinheit 114 überträgt,
das den gewährten Zugriff angibt, und zwar nach einer
Zeitspanne, die normalerweise zum Auflösen der Konkurrenz
bezüglich des Bus erforderlich ist, ein Übergang zum
Warte-2-Zustand 405. Die Steuereinheit 114 überwacht die
Konkurrenzader 161 der Sammelleitung 150 und wenn diese
Ader nicht länger belegt ist, erfolgt ein Übergang vom
Warte-2-Zustand 405 zum Konkurrenz-1-Zustand 404. Das
Durchlaufen des Konkurrenz- und Warte-2-Zustandes wird
wiederholt, bis die Konkurrenzschaltung 111 ein WON-Signal
zur Steuereinheit 114 liefert. Diese überwacht außerdem die
Halteader 159 des Bus 150. Diese Ader wird durch eine
Bus-Schnittstellenschaltung belegt, die Zugriff zum Bus
erhalten hat und Daten aussendet. Solange die Halteader
nach Empfang des WON-Signals belegt bleibt, verbleibt die
Bus-Sendeschaltung mit endlicher Zahl von Zuständen im
Konkurrenz-N-Zustand 114. Wenn die Halteader 159 freige
geben ist, erfolgt ein Übergang zum Sendezustand 406.
In diesem Zustand belegt die Steuereinheit 114 die Halte
ader 159 des Bus 150 , wodurch eine Belegung des Bus
angegeben wird.
In dem obenerwähnten Beispiel sind Daten vom Pro
zessor 201 zum Prozessor 101 übertragen worden, und es
wurde ein Pufferüberlauf angetroffen. Als Folge davon
wäre die Adresse des Prozessors 201 im RFGF-Puffer 118
gespeichert worden, und der Puffer hätte das RFGR-Signal
zur Steuereinheit übertragen, das den Nicht-Leer-Zustand
des Puffers anzeigt. Unter diesen Umständen erfolgt ein
Übergang vom Sendezustand 406 zum RFGF-Zustand 410. In
diesem Zustand veranlaßt die Steuereinheit 114 den RFGF-
Puffer 118, die erste Adresse im FIFO über den Daten
zwischenspeicher 127 zum ID-Bus 153 zu übertragen und
diese Eintragung im FIFO zu löschen. Gleichzeitig sendet
die Steuereinheit 114 eine Neuübertragungsanforderung
durch Belegen der SENDRQ-Ader 157 des Bus 150 aus. Ein
Belegen dieser Ader wird durch die andere Schnittstellen
schaltung, beispielsweise die Schaltung 214, als Neu
übertragungsanforderung erkannt. Nach einem Zyklus im
Zustand 410 erfolgt ein Übergang in den Frei-Zustand
401, und die Halteader 159 wird nicht länger belegt.
Wie die nachfolgende Erläuterung zeigen wird, wird eine
Bus-Belegung durch das Steuergerät 114 von demjenigen
Steuergerät (beispielsweise 214) angenommen, welches
die Neuübertragungsanforderung empfängt. Demgemäß
braucht der Prozessor, dem vorher ein Zugriff zur
Schnittstellenschaltung 110 verweigert worden ist, nicht
mehr selbst hinsichtlich eines Bus-Zugriffs zu konkurrie
ren, nachdem eine Neuübertragungsanforderung eingetrof
fen ist.
Die Steuereinheit 214 der Bus-Schnittstellen
schaltung 210 gemäß Fig. 2 enthält Schaltungen mit
endlicher Zahl von Zuständen, die identisch mit denje
nigen der Steuereinheit 114 sind. In dem obenerwähnten
Ausführungsbeispiel hat der Prozessor 201 eine Daten
nachricht zum Prozessor 101 ausgesendet. In der Schnitt
stellenschaltung 110 wurde ein Puffer-Überlaufzustand
angetroffen, und es ist ein negatives Bestätigungssignal
SNACK auf der Ader 155 des Bus 150 zur Schnittstellen
schaltung 210 übertragen worden. Bei Aussendung der
ursprünglichen Datennachricht vom Prozessor 201 ist die
zugeordnete Steuereinheit 214 aus dem Frei-Zustand 401 in
den Sendezustand 406 gemäß Fig. 4 weitergegangen. Der
Übergang aus dem Freizustand wird durch das vom ODER-
Gatter 229 erzeugte IWANT-Signal veranlaßt. Wenn Daten
vom Prozessor 201 zum Prozessor 101 zu übertragen sind,
wird ein Datenpaket im Sende-FIFO 223 gespeichert, wobei
das letzte Wort des Pakets zum EOP-Register 217 gegeben
wird. Dieses Register liefert ein Paket-Ende-Signal
EOPW zum ODER-Gatter 229, wodurch das Signal IWANT
erzeugt wird. Abhängig von dem IWANT-Signal geht die
in Fig. 4 gezeigte Schaltung der Steuerung 214 mit endli
cher Zahl von Zuständen aus dem Frei-Zustand 401 in
den Bereit-Zustand 402 und über die Konkurrenz-Zustände
zum Sende-Zustand 406. Dieser Vorgang ist der gleiche,
wie er oben mit Bezug auf Fig. 4 und die Bus-Konkurrenz-
und Bus-Belegungs-Funktion der Steuereinheit 114 beschrie
ben worden ist.
Die Steuereinheit 214 überträgt Datenwörter vom
Sende-FIFO 223 zum Datenbus 152, während sie sich im
Sendezustand 406 befindet. Sie überträgt außerdem eine
Bestimmungsadresse auf dem ID-Bus 153 und eine Ursprungs
adresse auf dem FROM-Bus 156. Die Steuereinheit 214
überwacht die SNACK-Ader 155 des Bus 150, und wenn
die Daten empfangende Schnittstellenschaltung (beispiels
weise 110) diese Ader belegt, geht die Bus-Sendeschaltung
mit endlicher Zahl von Zuständen aus dem Sende-Zustand in
den SNACK-Zustand 407 und hält die weitere Aussendung von
Daten aus dem FIFO 223 an. Normalerweise wird ein Zeitraum
zwischen dem Zeitpunkt, zu dem das SNACK-Signal durch die
empfangende Bus-Schnittstellenschaltung 110 ausgesendet
wird, und dem Zeitpunkt verstreichen, zu dem eine Neu
übertragungsanforderung eingeleitet wird. Die Bus-Sende
schaltung mit endlicher Zahl von Zuständen in der Steuer
einheit 214 bleibt während dieser Zeitspanne im Zustand
407, bis die SENDRQ-Ader 157 des Bus 150 durch denjenigen
Prozessor belegt wird, welcher das SNACK-Signal aussendet.
Dieses SENDRQ-Signal, das von der Steuereinheit 114 ent
sprechend der obigen Erläuterung erzeugt wird, wird von
einer vom RFGF-Puffer 118 erhaltenen Bestimmungsadresse
auf dem ID-Bus 153 und einer Ursprungsadresse auf dem
FROM-Bus 156 begleitet. In der Schnittstellenschaltung
210 liefert die Vergleichsschaltung 222 ein DEMATCH-
Ausgangssignal an den Datenzwischenspeicher 225 und die
Steuereinheit 214, wenn die Adresse auf dem Bus 153 mit
dem Inhalt des ID-Registers 212 übereinstimmt, das die
Identität des Prozessors 201 speichert. Auf ähnliche Weise
vergleicht die Vergleichsschaltung 226 die Adresse auf
dem FROM-Bus mit der Adresse im Steuerregister 213. Es
sei bemerkt, daß das Steuerregister die Adresse desjenigen
Prozessors enthält, an welchen der Inhalt des Sendepuffers
ursprünglich ausgesendet worden ist. Dieser Vergleich
bewirkt daher eine Prüfung der Adresse vor Einleitung
einer Neuübertragung. Im Falle einer Übereinstimmung wird
ein ORMATCH-Signal zur Steuereinheit 213 gegeben. Diese
Information bewirkt zusammen mit der Belegung der SENDRQ-
Ader 157 einen Übergang aus dem SNACK-Zustand 407 zurück
in den Sendezustand 406 in der Steuereinheit 214. In diesem
Zustand wird der Datenzwischenspeicher 225 durch die
Steuereinheit 214 betätigt und der Inhalt des Sende-FIFO
223 wird zum Datenbus 152 gegeben. Wenn das letzte Wort
eines ausgesendeten Paketes den Datenbus erreicht, wird
es von einem EOP-Bit begleitet, das das Ende des Pakets
anzeigt. Dieses Bit wird vom Datenregister 225 als 33. Bit
ausgesendet, und das 32-Bit-Datenwort wird auf dem Daten
bus 152 und das EOP-Bit auf der EOP-Ader 154 übertragen.
Wenn dieses EOP-Bit von der Steuereinheit 214 festgestellt
wird erfolgt ein Übergang in den LAST-Zustand 408. Es
sei darauf hingewiesen, daß, wenn ein SNACK-Signal vor
dem EOP-Bit festgestellt wird, ein Rückgang zum SNACK-
Zustand erfolgt. Im LAST-Zustand werden der Sende-FIFO 223
und der Datenzwischenspeicher 225 durch die Steuereinheit
214 abgeschaltet. Vom LAST-Zustand erfolgt ein Übergang
zum Lösch-Zustand 409, in welchem der Inhalt im Sende-FIFO
223 gelöscht wird. Eine Verbindung (124, 224) führt vom
Ausgang des Sende-FIFO zu seinem Eingang, damit der Inhalt
des FIFO während der Sendeoperation umlaufen kann. Dadurch
kann ein ausgesendetes Paket zur Neuübertragung festgehal
ten werden, falls ein negatives Bestätigungssignal SNACK
während der Aussendung empfangen wird. Wenn ein vollstän
diges Paket erfolgreich übertragen worden ist, so wird
der FIFO im Lösch-Zustand gelöscht. Aus dem Lösch-Zustand
erfolgt ein Rückgang in den Frei-Zustand 401.
Bei dem in den vorstehenden Absätzen beschriebenen
Beispiel ist dem Prozessor 201 ein Zugriff zum Prozessor
101 bei der Übertragung eines Datenpaketes aufgrund eines
Empfangspuffer-Überlaufzustandes in der Bus-Schnittstellen
schaltung 110 verweigert worden. Wie bei der früheren
Erläuterung der Steuereinheit 114 mit Bezug auf Fig. 5
angegeben worden ist, führt der Puffer-Überlaufzustand
zu einem Übergang aus dem offenen Empfangszustand 501
in den RFG-Zustand 512, und die Identität desjenigen Pro
zessors, der das den Überlaufzustand verursachende Paket
aussendet, wird in den RFGF-Puffer (118, 218) eingegeben.
Dies findet unter Steuerung der Bus-Sendeschaltung mit
endlicher Zahl von Zuständen (Fig. 4) statt, die in der
Steuereinheit 114 verwirktlicht ist. In der Zwischenzeit
befindet sich die Bus-Empfangsschaltung mit endlicher
Zahl von Zuständen (Fig. 5) in der Steuereinheit 114 im
RFG-Zustand 512. In diesem Zustand ist der Datenzwischen
speicher 120, der die Übertragung von Daten vom Bus in
den Empfangspuffer 121 steuert, abgeschaltet. Wenn die
SENDRQ-Ader 157 durch den Prozessor 114 belegt wird,
erfolgt ein Übergang der Bus-Empfangsschaltung mit end
licher Zahl von Zuständen in der Steuereinheit 114 aus
dem RFG-Zustand 512 in den RFG-Empfangszustand 514. In
diesem Zustand wird der Datenzwischenspeicher 125 wiederum
durch die Steuereinheit 114 betätigt und überträgt Daten
vom Bus zum Empfangs-FIFO 121. Wenn demgemäß ein Paket
von der Schnittstellenschaltung 210 zusammen mit einer
entsprechenden Adresse auf dem Bus 153, die den Prozessor
101 identifiziert, neu übertragen wird, ermöglicht das
Ausgangssignal der Vergleichsschaltung 122 zusammen mit
dem als UND-Funktion verknüpften Betätigungssignal von
der Steuereinheit 114 im Register 125, dem Datenregister,
die auf dem Datenbus erscheinenden Informationen zum
Empfangs-FIFO 121 weiterzuleiten. Die Bus-Empfangsschaltung
mit endlicher Zahl von Zuständen bleibt im RFG-Empfangs
zustand 514, bis die EOP-Ader 154 durch die Schnittstel
lenschaltung 210 belegt wird, wie oben beschrieben. Wenn
die EOP-Anzeige von der Steuereinheit 114 aufgenommen
wird, erfolgt ein Übergang in der Bus-Leseschaltung mit
endlicher Zahl von Zuständen in der Steuereinheit 114
aus dem RFG-Empfangszustand 514 in den RFG-Zustand 512.
Solange die Adresse wenigstens eines Prozessors,
der nicht bedient worden ist, im RFG-FIFO 118 verbleibt,
wird eine weitere Sendeanforderung von der Schnittstellen
schaltung 110 auf die oben beschriebene Weise ausgesendet,
und die Bus-Empfangsschaltung mit endlicher Zahl von
Zuständen (Fig. 5) führt erneut einen Übergang in den
RFG-Empfangszustand 540 durch und wiederholt das Empfangen
eines weiteren Pakets und die Rückkehr in den RFG-Zustand
512. Wenn der RFG-FIFO 118 leer ist, wie durch das RFGFE-
Signal angezeigt wird, erfolgt ein Übergang in den offenen
Empfangszustand 510. Die Bus-Empfangsschaltung mit endli
cher Zahl von Zuständen bleibt in diesem Zustand für
normale Bus-Leseoperationen.
Wie oben angegeben, sollen die Schnittstellen
schaltungen 110 und 210 identisch sein, und die Beschrei
bung der Funktion eines Blocks in Fig. 1 gilt in gleicher
Weise für einen entsprechend bezeichneten Block in Fig. 2
und umgekehrt. In ähnlicher Weise enthalten die Steuer
einheiten 114 und 214 identische Schaltungen mit endlicher
Zahl von Zuständen. Die Bus-Sendeschaltung mit endlicher
Zahl von Zuständen gemäß Fig. 4 und die Bus-Empfangs
schaltung mit endlicher Zahl von Zuständen gemäß
Fig. 5 arbeiten identisch in beiden Steuereinheiten.
Bei der obigen Erläuterung ist als Beispiel das Aussenden
eines Paketes vom Prozessor 201 zum Prozessor 101 gewählt
worden, und die Operationen der verschiedenen Einheiten in
den verschiedenen Zeichnungen wurden erläutert. Das
Beispiel ließe sich umkehren, und in diesem Falle würden
die Blockschaltungen gemäß Fig. 1 die mit Bezug auf die
gleich bezeichneten Blöcke in Fig. 2 beschriebenen Funk
tionen sowie die Blöcke in Fig. 2 die für gleich bezeich
nete Blöcke in Fig. 1 beschriebenen Funktionen ausführen.
Claims (11)
1. Schaltungsanordnung zur Verbindung
einer Vielzahl von Prozessoren in einer Multiprozessor
anlage mit einem Verbindungsbus zur Übertragung von
Ursprungs- und Bestimmungsadressen, Datenwörtern und
Steuernachrichten, mit einer Vielzahl von Schnittstel
lenschaltungen, die je einen Prozessor mit dem Verbin
dungsbus verbinden, denen je eine besondere Identifi
zierungsadresse zugeordnet ist und die je einen Empfangs
puffer zur Speicherung von Datennachrichten, welche eine
der besonderen Identifizierungsadresse entsprechende
Bestimmungsadresse begleiten, und je einen Adressen
puffer zur Speicherung von Identifizierungsadressen
aufweisen,
dadurch gekennzeichnet,
daß wenigstens eine der Schnittstellenschaltungen (110,
145, 210, 240) eine Steuereinrichtung (114, 214) aufweist,
die unter Ansprechen auf ein vom Empfangspuffer (121)
erzeugtes Zustandssignal, das einen Überlaufzustand des
Empfangspuffers (121) anzeigt, und eine der zugeordneten
Identifizierungsadresse entsprechende, auf dem Verbin
dungsbus (150) auftretende Bestimmungsadresse die zuge
hörige Ursprungsadresse auf dem Verbindungsbus (150)
im Adressenpuffer (118) ablegt, und
daß die Steuereinrichtung (114, 214) unter Ansprechen
auf Empfangspuffer- und Adressenpuffer-Zustandssignale
eine Adresse aus dem Adressenpuffer (118) holt und diese
über den Verbindungsbus (150) zusammen mit einer eine
Neuübertragung anfordernden Steuernachricht überträgt,
wenn das Empfangspuffer-Zustandssignal anzeigt, daß der
Empfangspuffer (121) zur Aufnahme weiterer Datenwörter
bereit ist, und das Adressenpuffer-Zustandssignal anzeigt,
daß sich wenigstens eine Adresse im Adressenpuffer (118)
befindet.
2. Schaltungsanordnung nach Anspruch 1,
dadurch gekennzeichnet, daß wenigstens eine weitere
Schnittstellenschaltung (110, 145, 210, 245) eine Ein
richtung (123) zur Übertragung von Datennachrichten sowie
von Ursprungs- und Bestimmungsadressen über den Verbin
dungsbus aufweist und unter Ansprechen auf die aus dem
Adressenpuffer (118) geholte, über den Verbindungsbus
übertragene Adresse eine vorher übertragene Datennachricht
neu überträgt.
3. Schaltungsanordnung nach Anspruch 2,
dadurch gekennzeichnet, daß die Steuereinrichtung (114, 214)
unter Ansprechen auf ein einen Überlaufzustand anzeigendes
Empfangspuffer-Zustandssignal eine Zustandssteuernachricht
über den Verbindungsbus überträgt, und
daß die Sendeeinrichtung (123) in der weiteren Schnitt
stellenschaltung (110, 145, 210, 245) unter Ansprechen
auf die auf dem Verbindungsbus auftretende Zustandssteuer
nachricht die Aussendung von Datennachrichten auf den
Verbindungsbus (150) sperrt.
4. Schaltungsanordnung nach einem der
Ansprüche 1 bis 3,
dadurch gekennzeichnet, daß die Schnittstellenschaltungen
(110, 145, 210, 245) eine Prioritätszuordnungseinrichtung
(111, 211) aufweisen, daß jeder Schnittstellenschaltung
eine besondere, vorbestimmte Priorität zugeordnet ist
und daß die Steuereinrichtung (114, 214) den Verbindungsbus
(150) nur dann belegt und die aus dem Adressenpuffer (118)
geholte Adresse nur dann über den Verbindungsbus (150)
überträgt, wenn der jeweiligen Schnittstellenschaltung
durch die Prioritätszuordnungseinrichtung Zugriff zum
Verbindungsbus gewährt worden ist.
5. Schaltungsanordnung nach einem der vorher
gehenden Ansprüche,
dadurch gekennzeichnet, daß die Steuereinrichtung (114,
214) unter Ansprechen auf die eine Neuübertragung anfordern
de Steuernachricht und die Bestimmungsadresse Daten über
den belegten Verbindungsbus (150) überträgt.
6. Schaltungsanordnung nach einem der vorher
gehenden Ansprüche, dadurch gekennzeichnet,
daß der Adressenpuffer (118) eine Vielzahl von Speicher
stellen aufweist,
daß die Schnittstellenschaltung eine Einrichtung (126)
zur Erkennung vorbestimmter Bestimmungsadressen und zur
Erzeugung eines Übereinstimmungssignals besitzt, wenn
die vorbestimmte Bestimmungsadresse auf dem Verbindungs
bus (150) erscheint, und
daß die Steuereinrichtung (114, 214) unter Ansprechen auf
ein einen Überlauf anzeigendes Empfangspuffer-Zustandssig
nal die zugehörige, auf dem Verbindungsbus auftretende
Ursprungsadresse im Adressenpuffer (118) jedesmal dann
speichert, wenn das Übereinstimmungssignal erzeugt wird.
7. Multiprozessoranlage mit einer Vielzahl
von Prozessoren, einem Verbindungsbus zur Übertragung
von Datennachrichten zwischen den Prozessoren und einer
Anordnung, die einen Zugriff eines Daten aussendenden
Prozessors zu einem Daten empfangenden Prozessor ermög
licht,
gekennzeichnet durch
eine Einrichtung zur Übertragung eines Zugriffverweigerungs
signals, wenn der empfangende Prozessor keine Daten von
einem sendenden Prozessor aufnehmen kann,
eine Einrichtung zur Aufzeichnung der Identität jedes
sendenden Prozessors, an den ein Zugriffverweigerungssignal
übertragen worden ist, und
eine Einrichtung zum Aussenden eines Neuübertragungs-
Anforderungssignals an jeden Prozessor, für den die
Identität in der Aufzeichnungseinrichtung gespeichert
ist, in derjenigen Reihenfolge, in der die Adressen in
der Aufzeichnungseinrichtung abgelegt worden sind.
8. Multiprozessoranlage nach Anspruch 7,
dadurch gekennzeichnet, daß jeder Prozessor eine Einrich
tung aufweist, die unter Ansprechen auf das Neuübertragungs-
Anforderungssignal eine Datennachricht erneut überträgt.
9. Verfahren zur Datenübertragung zwischen
den Prozessoren einer Multiprozessoranlage mit einem
Daten sendenden Prozessor und einem Daten empfangenden
Prozessor,
gekennzeichnet durch die Verfahrensschritte:
- a) Aussenden einer Datennachricht vom sendenden Prozessor (101) zum empfangenden Prozessor (201);
- b) Aussenden einer Zugriffsverweigerungsnachricht vom empfangenden Prozessor (201) an den sendenden Prozessor (101), wenn die Datennachricht vom empfangenden Prozessor nicht aufgenommen werden kann;
- c) Aussenden einer Neuübertragungsanforderung, wenn nach Übertragen einer Zugriffsverweigerungsnachricht eine Datennachricht wiederbearbeitet werden kann; und
- d) Neuübertragen der Datennachricht vom sendenden Prozessor (101) an den empfangenden Prozessor (201) bei Empfang der Neuübertragungsanforderung.
10. Verfahren nach Anspruch 9, bei dem die
Daten in Form von Datenpaketen übertragen werden und der
empfangende Prozessor einen Empfangspuffer (221) begrenz
ter Kapazität aufweist,
gekennzeichnet durch die Verfahrensschritte:
- a) Aussenden eines Datenpaketes mit einer Vielzahl von Datenwörtern und einer Paketende-Anzeige durch den sendenden Prozessor (101);
- b) Speichern der vom sendenden Prozessor (101) übertrage nen Datenwörter im Empfangspuffer (221), bis dieser seine Kapazitätsgrenze erreicht;
- c) Übertragen der Zugriffsverweigerungsnachricht vom empfangenden Prozessor (201) zum sendenden Prozessor (101), wenn der Empfangspuffer (221) seine Kapazitäts grenze erreicht und bevor die Paketende-Anzeige vom empfangenden Prozessor (201) aufgenommen wird;
- d) Übertragen der Neuübertragungsanforderung durch den empfangenden Prozessor (201) zum sendenden Prozessor (101), wenn der Empfangspuffer (221) einen Belegungs grad erreicht, derart, daß er ein Datenpaket speichern kann;
- e) Neuübertragen eines Datenpaketes durch den sendenden Prozessor (101), für den eine Zugriffsverweigerungs nachricht vom empfangenden Prozessor (201) übertragen worden ist;
- f) Speichern des neu übertragenen Datenpakets im Empfangs puffer (221).
11. Verfahren nach Anspruch 10, bei dem die
Multiprozessoranlage eine Vielzahl von sendenden Prozesso
ren aufweist und der empfangende Prozessor einen Adressen
speicher (218) besitzt,
gekennzeichnet durch die Verfahrensschritte:
- a) Speichern der Adresse jedes sendenden Prozessors (101), an den eine Zugriffsverweigerungsnachricht übertragen worden ist;
- b) Übertragen einer Neuübertragungsanforderung an und Speichern eines Datenpaketes von jedem sendenden Prozessor (101), der durch eine in dem Adressenspeicher (218) abgelegte Adresse identifiziert wird, in derjeni gen zeitlichen Reihenfolge, in der die Zugriffsverwei gerungsnachrichten übertragen worden sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/808,951 US4744023A (en) | 1985-12-16 | 1985-12-16 | Processor access control arrangement in a multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE3642324A1 true DE3642324A1 (de) | 1987-06-19 |
DE3642324C2 DE3642324C2 (de) | 1996-11-07 |
Family
ID=25200195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE3642324A Expired - Fee Related DE3642324C2 (de) | 1985-12-16 | 1986-12-11 | Multiprozessoranlage mit Prozessor-Zugriffssteuerung |
Country Status (6)
Country | Link |
---|---|
US (1) | US4744023A (de) |
JP (1) | JPH0786863B2 (de) |
CA (1) | CA1278387C (de) |
DE (1) | DE3642324C2 (de) |
GB (1) | GB2184270B (de) |
IT (1) | IT1199768B (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19629266A1 (de) * | 1996-07-19 | 1998-01-29 | Siemens Ag | Verfahren und Anordnung zur Medienzugangssteuerung durch eine Verbindungseinheit von über das Medium mit der Verbindungseinheit verbundenen und mittels CSMA kommunizierenden Geräten |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133062A (en) * | 1986-03-06 | 1992-07-21 | Advanced Micro Devices, Inc. | RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory |
WO1988008162A1 (en) * | 1987-04-10 | 1988-10-20 | Eip Microwave, Inc. | Data transfer system for a multiprocessor computing system |
JPS6450152A (en) * | 1987-08-20 | 1989-02-27 | Fujitsu Ltd | Communication controller |
US4935894A (en) * | 1987-08-31 | 1990-06-19 | Motorola, Inc. | Multi-processor, multi-bus system with bus interface comprising FIFO register stocks for receiving and transmitting data and control information |
US5109494A (en) * | 1987-12-31 | 1992-04-28 | Texas Instruments Incorporated | Passive processor communications interface |
US5640585A (en) * | 1988-02-09 | 1997-06-17 | Ast Research, Inc. | State machine bus controller |
US5193179A (en) * | 1988-08-09 | 1993-03-09 | Harris Corporation | Activity monitor system non-obtrusive statistical monitoring of operations on a shared bus of a multiprocessor system |
GB8820369D0 (en) * | 1988-08-26 | 1988-09-28 | Int Computers Ltd | Data processing system |
JP2564624B2 (ja) * | 1988-09-20 | 1996-12-18 | 富士通株式会社 | スタック方式 |
US5155810A (en) * | 1989-01-10 | 1992-10-13 | Bull Hn Information Systems Inc. | Dual FIFO peripheral with combinatorial logic circuitry |
US5202980A (en) * | 1989-06-30 | 1993-04-13 | Nec Corporation | Information processing system capable of readily taking over processing of a faulty processor |
JPH04219859A (ja) * | 1990-03-12 | 1992-08-10 | Hewlett Packard Co <Hp> | 並列プロセッサに直列命令ストリームデータを分散するハードウェアディストリビュータ |
US5669002A (en) * | 1990-06-28 | 1997-09-16 | Digital Equipment Corp. | Multi-processor resource locking mechanism with a lock register corresponding to each resource stored in common memory |
US5333276A (en) * | 1991-12-27 | 1994-07-26 | Intel Corporation | Method and apparatus for priority selection of commands |
US5315707A (en) * | 1992-01-10 | 1994-05-24 | Digital Equipment Corporation | Multiprocessor buffer system |
US5195181A (en) * | 1992-01-10 | 1993-03-16 | Digital Equipment Corporation | Message processing system having separate message receiving and transmitting processors with message processing being distributed between the separate processors |
US5428766A (en) * | 1992-12-01 | 1995-06-27 | Digital Equipment Corporation | Error detection scheme in a multiprocessor environment |
US5521427A (en) * | 1992-12-18 | 1996-05-28 | Lsi Logic Corporation | Printed wiring board mounted semiconductor device having leadframe with alignment feature |
JP2875448B2 (ja) * | 1993-03-17 | 1999-03-31 | 松下電器産業株式会社 | データ転送装置及びマルチプロセッサシステム |
US6067408A (en) * | 1993-05-27 | 2000-05-23 | Advanced Micro Devices, Inc. | Full duplex buffer management and apparatus |
US5974456A (en) * | 1995-05-05 | 1999-10-26 | Silicon Graphics, Inc. | System and method for input/output flow control in a multiprocessor computer system |
US6067590A (en) * | 1997-06-12 | 2000-05-23 | Compaq Computer Corporation | Data bus agent including a storage medium between a data bus and the bus agent device |
GB2341699A (en) * | 1998-09-18 | 2000-03-22 | Pixelfusion Ltd | Inter-module data transfer |
DE19946716A1 (de) | 1999-09-29 | 2001-04-12 | Infineon Technologies Ag | Verfahren zum Betrieb eines Prozessorbusses |
GB2376315B (en) * | 2001-06-05 | 2003-08-06 | 3Com Corp | Data bus system including posted reads and writes |
US7630304B2 (en) * | 2003-06-12 | 2009-12-08 | Hewlett-Packard Development Company, L.P. | Method of overflow recovery of I2C packets on an I2C router |
US20110282980A1 (en) * | 2010-05-11 | 2011-11-17 | Udaya Kumar | Dynamic protection of a resource during sudden surges in traffic |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1984000836A1 (en) * | 1982-08-13 | 1984-03-01 | Western Electric Co | Multiplexed first-in, first-out queues |
GB2133188A (en) * | 1982-10-28 | 1984-07-18 | Tandem Computers Inc | Multiprocessor multisystem communications network |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4384323A (en) * | 1980-02-25 | 1983-05-17 | Bell Telephone Laboratories, Incorporated | Store group bus allocation system |
US4514728A (en) * | 1980-02-25 | 1985-04-30 | At&T Bell Laboratories | Store group bus allocation system |
US4373183A (en) * | 1980-08-20 | 1983-02-08 | Ibm Corporation | Bus interface units sharing a common bus using distributed control for allocation of the bus |
US4493021A (en) * | 1981-04-03 | 1985-01-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Multicomputer communication system |
US4543627A (en) * | 1981-12-14 | 1985-09-24 | At&T Bell Laboratories | Internal communication arrangement for a multiprocessor system |
US4573083A (en) * | 1982-01-25 | 1986-02-25 | Canon Kabushiki Kaisha | Image transmission system |
US4504906A (en) * | 1982-11-30 | 1985-03-12 | Anritsu Electric Company Limited | Multiprocessor system |
US4546430A (en) * | 1983-07-13 | 1985-10-08 | Sperry Corporation | Control unit busy queuing |
JPS6079456A (ja) * | 1983-10-07 | 1985-05-07 | Fujitsu Ltd | 共通バス制御方式 |
JPS60179837A (ja) * | 1984-02-28 | 1985-09-13 | Toshiba Audio Video Eng Corp | 受信デ−タバツフア回路 |
-
1985
- 1985-12-16 US US06/808,951 patent/US4744023A/en not_active Expired - Lifetime
-
1986
- 1986-11-28 CA CA000524162A patent/CA1278387C/en not_active Expired - Lifetime
- 1986-12-10 GB GB8629464A patent/GB2184270B/en not_active Expired
- 1986-12-11 DE DE3642324A patent/DE3642324C2/de not_active Expired - Fee Related
- 1986-12-15 IT IT22693/86A patent/IT1199768B/it active
- 1986-12-16 JP JP61297837A patent/JPH0786863B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1984000836A1 (en) * | 1982-08-13 | 1984-03-01 | Western Electric Co | Multiplexed first-in, first-out queues |
GB2133188A (en) * | 1982-10-28 | 1984-07-18 | Tandem Computers Inc | Multiprocessor multisystem communications network |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19629266A1 (de) * | 1996-07-19 | 1998-01-29 | Siemens Ag | Verfahren und Anordnung zur Medienzugangssteuerung durch eine Verbindungseinheit von über das Medium mit der Verbindungseinheit verbundenen und mittels CSMA kommunizierenden Geräten |
Also Published As
Publication number | Publication date |
---|---|
JPH0786863B2 (ja) | 1995-09-20 |
IT8622693A0 (it) | 1986-12-15 |
US4744023A (en) | 1988-05-10 |
CA1278387C (en) | 1990-12-27 |
GB8629464D0 (en) | 1987-01-21 |
GB2184270B (en) | 1989-10-11 |
DE3642324C2 (de) | 1996-11-07 |
IT1199768B (it) | 1988-12-30 |
GB2184270A (en) | 1987-06-17 |
JPS62189550A (ja) | 1987-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3642324C2 (de) | Multiprozessoranlage mit Prozessor-Zugriffssteuerung | |
DE3300261C2 (de) | ||
DE68927375T2 (de) | Arbitrierung von Übertragungsanforderungen in einem Multiprozessor-Rechnersystem | |
DE3751091T2 (de) | Übertragungsprotokoll zwischen Prozessoren. | |
DE3300260C2 (de) | ||
EP0179936B1 (de) | Verfahren und Einrichtung zur Steuerung einer Sammelleitung | |
DE2162806C2 (de) | Speichersteuereinheit zur vereinfachter Pufferung von Anforderungen der Ein- Ausgabekanäle | |
DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
CH634940A5 (en) | Channel-adapter arrangement | |
DE68924435T2 (de) | Nichtblockierender NxM-Arbitrierungsschalter mit grosser Bandbreite. | |
DE3535436C2 (de) | ||
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE2809602B2 (de) | Kanalbus-Steuereinrichtung | |
DE4207158A1 (de) | Speicher-zugriffssteuerung | |
DE69030678T2 (de) | Datenübertragungsbetrieb zwischen zwei asynchronen Bussen | |
EP0329005A1 (de) | Verfahren zum Einrichten von über Koppelvielfache einer mehrstufigen Koppelanordnung verlaufenden virtuellen Verbindungen | |
EP0062141B1 (de) | Schaltungsanordnung zur Eingabe von Steuerbefehlen in ein Mikrocomputersystem | |
DE60029167T2 (de) | Arbiter und Arbitrierungsverfahren | |
EP0739509B1 (de) | Anordnung mit master- und slave-einheiten | |
DE68927157T2 (de) | Deblockierverfahren eines Multiprozessor-Multibus-Systems | |
DE3855718T2 (de) | Ubertragungssystem zwischen Prozessoren in einem Nachrichtenverarbeitungssystem mit Übertragung zwischen Ausführungsprozessoren während Übertragung zwischen anderen Prozessoren | |
DE2629401C2 (de) | ||
DE4100018C2 (de) | Verfahren zur Bedienungsbedarfsmitteilung zwischen zwei Stationen eines Computerbusses | |
DE3247083A1 (de) | Mehrprozessorsystem | |
DE60226024T2 (de) | Verfahren und system um auf einen gemeinsamen speicher zuzugreifen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8127 | New person/name/address of the applicant |
Owner name: AT & T CORP., NEW YORK, N.Y., US |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8327 | Change in the person/name/address of the patent owner |
Owner name: NCR INTERNATIONAL, INC., DAYTON, OHIO, US |
|
8328 | Change in the person/name/address of the agent |
Free format text: V. BEZOLD & SOZIEN, 80799 MUENCHEN |
|
8339 | Ceased/non-payment of the annual fee |