DE3642324A1 - Multiprozessoranlage mit prozessor-zugriffssteuerung - Google Patents

Multiprozessoranlage mit prozessor-zugriffssteuerung

Info

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
Application number
DE19863642324
Other languages
English (en)
Other versions
DE3642324C2 (de
Inventor
Lawrence Arno Welsch
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NCR International Inc
Original Assignee
American Telephone and Telegraph Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of DE3642324A1 publication Critical patent/DE3642324A1/de
Application granted granted Critical
Publication of DE3642324C2 publication Critical patent/DE3642324C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling 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.
DE3642324A 1985-12-16 1986-12-11 Multiprozessoranlage mit Prozessor-Zugriffssteuerung Expired - Fee Related DE3642324C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 受信デ−タバツフア回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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