DE3851534T2 - Vorrichtung und verfahren zur buszugriffssteuerung. - Google Patents

Vorrichtung und verfahren zur buszugriffssteuerung.

Info

Publication number
DE3851534T2
DE3851534T2 DE3851534T DE3851534T DE3851534T2 DE 3851534 T2 DE3851534 T2 DE 3851534T2 DE 3851534 T DE3851534 T DE 3851534T DE 3851534 T DE3851534 T DE 3851534T DE 3851534 T2 DE3851534 T2 DE 3851534T2
Authority
DE
Germany
Prior art keywords
bus
node
request
cycle
commander
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE3851534T
Other languages
English (en)
Other versions
DE3851534D1 (de
Inventor
Darrel Donaldson
Richard Gillett
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.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of DE3851534D1 publication Critical patent/DE3851534D1/de
Application granted granted Critical
Publication of DE3851534T2 publication Critical patent/DE3851534T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Description

    GEBIET DER ERFINDUNG
  • Die Erfindung betrifft ein Verfahren und einen Aufbau, um den Zugriff auf einen Bus in einem Computersystem zuzuteilen.
  • HINTERGRUND DER ERFINDUNG
  • Ein Computersystem kann eine Anzahl von getrennten Betriebsmitteln umfassen, wie Prozessoren Speicher und Eingabe-/Ausgabe-Geräte (I/O-Geräte), um verschiedene Aufgaben durchzuführen. Während des Betriebs des Computersystems ist es häufig notwendig, daß Kommandos und/oder Daten zwischen verschiedenen Betriebsmitteln im Computersystem übertragen werden. Typischerweise ist ein Systembus vorgesehen, um Meldungen zwischen einer Anzahl von Betriebsmitteln, oder Knoten, in einem Mehrknoten-Netzwerk zu übertragen.
  • Um einen gemeinsamen Systembus für den Transfer von Meldungen zwischen den Betriebsmitteln effektiv auszunutzen, muß der Zugriff auf den Bus durch jedes der Betriebsmittel sorgfältig kontrolliert werden. Insbesondere kann in irgendeinem Zeitpunkt nur ein Betriebsmittel versuchen, Meldungen auf den Systembus zu übertragen. Beispielsweise kann ein Betriebsmittel bereit sein, ein Lesekommando während eines bestimmten Buszyklus auszusenden, während im gleichen Zeitpunkt ein anderes Betriebsmittel bereit ist, für mehrere Buszyklen Zugriff auf den Bus zu erhalten, um ein Schreibkommando zu senden und Daten zu schreiben.
  • Daher muß in jedem Computersystem, das eine Anzahl von Knoten umfaßt, die mit einem gemeinsamen Bus verbunden sind, irgendeine Form von "Zuteilung" durchgeführt werden, um zu bestimmen, welcher Knoten Zugriff auf den Bus erhält. Ein zentraler Zuteiler kann mit jedem der Betriebsmittel des Bussystems verbunden sein und kann bestimmen, welchem Betriebsmittel während irgendeines gegebenen Buszyklus Zugriff auf den Bus gewährt wird. Ein solcher zentraler Zuteiler empfängt getrennte Busanforderungen von jedem der Betriebsmittel zu Zeiten, wenn dieses Betriebsmittel bereit ist, Zugriff auf den Bus zu erhalten, um eine Meldung an ein anderes Betriebsmittel zu senden. Als Antwort auf eine Anzahl von Busanforderungen sendet der zentrale Zuteiler in einer vorgegebenen Weise entsprechend einer jeder Anforderung zugeordneten Priorität eine Busgewährung an nur einen der anfordernden Knoten.
  • Die Verwendung von Busanforderungssignalen führt zu einer effizienteren Ausnutzung des Busses und der Systembetriebsmittel. Einem Knoten wird nur dann Zugriff auf den Bus gewährt, wenn dieses Betriebsmittel eine Operation durchführt, die das Senden einer Meldung durch dieses Betriebsmittel auf den Bus erfordert.
  • Ungünstigerweise können manche Typen von Transfers von einem Betriebsmittel an den Bus nicht in einem einzigen Buszyklus abgeschlossen werden. Beispielsweise erfordern Schreibtransfers, daß dem Betriebsmittel für mehr als einen Buszyklus Zugriff auf den Bus gegeben wird. Die während des ersten Buszyklus (Kommandozyklus) des Schreibtransfers auf den Bus übertragene Meldung ist dann ein Schreibkommando. Während des nächstfolgenden Buszyklus werden dann die Schreibdaten auf den Bus übertragen.
  • Um solche Mehrzyklus-Transfers unterzubringen, kann ein Zuteilungsverfahren verwendet werden, bei dem ein Betriebsmittel, das eine Mehrzyklus-Transferoperation durchführt, ein aktiviertes Buszyklus-Erweiterungssignal an den zentralen Zuteiler senden muß. Der zentrale Zuteiler würde dann ermitteln, ob er ein aktiviertes Buszyklus-Erweiterungssignal empfangen hat, ehe er eine Busgewährung für einen ausgewählten Knoten erzeugt. In diesen Systemen wird die Herausgabe der Busgewährung verzögert, während der zentrale Zuteiler das aktivierte Buszyklus-Erweiterungssignal verarbeitet. Wird ein Buszyklus-Erweiterungssignal aktiviert, so sendet der zentrale Zuteiler die Busgewährung an das gleiche Betriebsmittel, das während des vorhergehenden Buszyklus Zugriff auf den Bus hatte.
  • In Systemen, die ein solches Zuteilungsverfahren verwenden, besteht ein bedeutender Nachteil. Betriebsmittel im Computersystem erhalten Zugriff auf den Bus einzig auf der Basis des Vorhandenseins einer Busgewährung vom zentralen Zuteiler. Daher hängt die Leistung des Systems und die effektive Ausnutzung des gemeinsamen Busses von der Geschwindigkeit ab, mit der die Busgewährung an ein ausgewähltes Betriebsmittel gesendet wird. Dieses Zuteilungsverfahren erfordert jedoch eine relativ lange Buszykluszeit, da der Zuteiler vor der Erzeugung einer neuen Gewährung auf den Empfang des Buszyklus-Erweiterungssignals warten muß. Für Systeme, die ein einziges Buszyklus-Erweiterungssignal mit einem verdrahteten ODER verwenden, würde dies die Verfügbarkeit der Gewährung verzögern.
  • Es wäre jedoch ungünstig, dieses Problem durch Hinzufügen zusätzlicher Buszyklus-Erweiterungsleitungen von den Betriebsmitteln zum zentralen Zuteiler zu lösen, um die Geschwindigkeit zu erhöhen, mit der der Zuteiler bestimmen kann, ob der frühere Eigentümer des Busses das Eigentum für den nächsten Zyklus behalten soll. Eine solche Lösung würde die Hinzufügung von mehreren Anschlußstiften auf der Rückwandplatine erforderlich machen, um eine weitere Verknüpfung von jedem Betriebsmittel zum Zuteiler zu liefern, und solche Anschlußstifte stehen möglicherweise nicht zur Verfügung.
  • Die US-A-3 997 896 beschreibt ein Hängebus-System, worin eine Zentraleinheit, die während eines ersten Buszyklus Informationen von einer Nebeneinheit anfordert, diese Informationen während eines späteren Bustransferzyklus von der Nebeneinheit empfangen kann, während andere, mit dem Bus verbundene Einheiten während der Zeit zwischen dem ersten Zyklus und dem späteren Zyklus über den gemeinsamen Bus kommunizieren können.
  • Dieses Dokument beschreibt jedoch nicht eine Einrichtung, um im Falle eines Mehrzyklus-Transfers eine Buszyklus-Erweiterung vorzusehen, die verhindern kann, daß die anderen Einheiten auf den Bus zugreifen, während die sendende Einheit den Mehrzyklus-Transfer ausführt.
  • Es ist eine Aufgabe der vorliegenden Erfindung, die Systembuszyklus-Zeit zu verkürzen, indem die Zuteilungszeit verkürzt wird, wodurch die Systemleistung verbessert wird.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist es, diese verkürzte Zuteilungszeit mit nur einer Buszyklus-Erweiterungsleitung auf der Rückwandplatine zu erreichen.
  • Noch eine Aufgabe der Erfindung ist es, zwischen Busanforderungen von mehreren Betriebsmitteln zu entscheiden und den zentralen Zuteiler bedingt anzeigen zu lassen, welches Betriebsmittel ausgewählt worden ist, ohne die Auswahl durch den Zuteiler zu verzögern, um zusätzliche Signale von Betriebsmitteln zu verarbeiten, die um Zugriff auf den Bus streiten.
  • Weitere Aufgaben und Vorteile der Erfindung werden teils in der nachfolgenden Beschreibung dargelegt, teils werden sie aus der Beschreibung klar, oder sie sind durch Realisierung der Erfindung erlernbar. Die Aufgaben und Vorteile der Erfindung lassen sich mit Hilfe der Mittel und Kombinationen lösen und erhalten, auf die in den beigefügten Patentansprüchen besonders hingewiesen wird.
  • ABRISS DER ERFINDUNG
  • Um die Aufgaben zu lösen und in Übereinstimmung mit den Zielen der Erfindung, wie hierin verkörpert und ausführlich beschrieben, wird ein System zur Steuerung des Zugriffs auf einen Hängebus durch eine Vielzahl von Knoten geschaffen, die mit dem Hängebus verbunden sind, wobei jeder Knoten ein Sender werden kann, um eine Meldung, die ein Kommando umfaßt oder Rücksendedaten umfaßt, während eines Zyklus oder mehrerer Zyklen des Busses auf dem Hängebus zu übertragen, wobei wenigstens ein Knoten ein Kommandogeberknoten werden kann, um durch Ausführung eines Kommandotransfers eine Transaktion auf dem Hängebus einzuleiten, wobei wenigstens ein Knoten ein Antwortgeberknoten werden kann, um als Antwort auf den Kommandotransfer durch Ausführung eines Rücksendedaten-Transfers die Transaktion auf dem Hängebus zu vervollständigen, und wobei die Knoten auf den Hängebus zugreifen können, nachdem der Kommandogeberknoten eine Transaktion eingeleitet hat und bevor der Antwortgeberknoten die Transaktion vervollständigt, wobei das System folgendes aufweist:
  • eine Vielzahl von Anforderungsleitungen, die mit der Vielzahl von Knoten verbunden sind;
  • eine Kommandogeber-Busanforderungseinrichtung in jedem Knoten, der ein Kommandogeberknoten werden kann, die mit einer entsprechenden Anforderungsleitung verbunden ist, zum Erzeugen einer Kommandogeber- Busanforderung und Senden der Kommandogeber-Busanforderung auf der entsprechenden Anforderungsleitung zu Zeiten, wenn ein Kommando von diesem Knoten auf den Hängebus zu übertragen ist,
  • eine Antwortgeber-Busanforderungseinrichtung in jedem Knoten, der ein Antwortgeberknoten werden kann, die mit einer entsprechenden Anforderungsleitung verbunden ist, zum Erzeugen einer Antwortgeber-Busanforderung und Senden der Antwortgeber-Busanforderung auf der entsprechenden Anforderungsleitung zu Zeiten, wenn Rücksendedaten von diesem Knoten auf den Hängebus zu übertragen sind;
  • eine Zuteilereinrichtung, die mit der Vielzahl von Anforderungsleitungen verbunden ist und die auf die Kommandogeber-Busanforderungen und auf die Antwortgeber-Busanforderungen anspricht, zum Senden einer bedingten Busgewährung an einen ausgewählten Knoten der Knoten, um der nächste Sender zu werden, wobei die Zuteilereinrichtung eine Einrichtung zum Auswählen eines Knotens, der eine Antwortgeber-Busanforderung erzeugt, vor dem Auswählen eines Knotens, der eine Kommandogeber-Busanforderung erzeugt, umfaßt;
  • eine Erweiterungsanforderungseinrichtung in wenigstens einem Knoten, zur Erzeugung einer Erweiterungsanforderung zu Zeiten, wenn dieser Knoten mehr als einen Buszyklus benötigt, um eine Meldung zu übertragen;
  • eine Zykluserweiterungseinrichtung in wenigstens einem Knoten, die mit der Erweiterungsanforderungseinrichtung in diesem Knoten verbunden ist, zur Aktivierung eines Buszyklus-Erweiterungssignals, wenn der Knoten ein Sender wird, zu Zeiten, wenn die Erweiterungsanforderung für diesen Knoten vorhanden ist; und
  • eine Buszugriffseinrichtung in jedem Knoten, zur Gewinnung von Kontrolle über den Hängebus, um diesen Knoten freizugeben, während eines Anfangszugriffszyklus ein Sender zu werden, als Antwort auf den Empfang einer bedingten Busgewährung, zu Zeiten, wenn ein Buszyklus-Erweiterungssignal nicht durch irgendeinen der anderen Knoten aktiviert wird, und zur Aufrechterhaltung von ausschließlicher Kontrolle über den Hängebus, um diesen Knoten freizugeben, während Buszyklen der Sender zu bleiben, die dem Anfangszugriffszyklus nachfolgen, zu Zeiten, wenn das Buszyklus-Erweiterungssignal durch diesen Knoten aktiviert wird.
  • Die beigefügten Zeichnungen, die in diese Beschreibung einbezogen sind und einen Teil von ihr bilden, veranschaulichen eine Ausführungsform der Erfindung und dienen zusammen mit der Beschreibung dazu, die Prinzipien der Erfindung zu erläutern.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Fig. 1 ist ein Blockdiagramm eines Datenverarbeitungssystems, das von der vorliegenden Erfindung Gebrauch macht;
  • Fig. 2 ist ein Blockdiagramm eines Knotens in dem Datenverarbeitungssystem von Fig. 1;
  • Fig. 3 ist ein Timing-Diagramm, das Timing-Signale zeigt, die in dem Datenverarbeitungssystem von Fig. 1 benutzt werden;
  • Fig. 4 ist ein Blockdiagramm der Datenschnittstelle in dem Knoten von Fig. 2;
  • Fig. 5 ist ein Blockdiagramm des Zuteilers in dem Datenverarbeitungssystem von Fig. 1;
  • Fig. 6 ist ein Blockdiagramm von Abschnitten des Datenverarbeitungssystems in Fig. 1, das die Zuteilungssignale zeigt;
  • Fig. 7 ist eine Prinzipskizze des Zykluserweiterungs-Schaltungsteils in den Systemabschnitten in Fig. 6;
  • Fig. 8 ist eine Prinzipskizze des Freigabeschaltungsteils in den Systemabschnitten in Fig. 6;
  • Fig. 9 ist ein Blockdiagramm des in Fig. 5 und 6 gezeigten zentralen Zuteilers; und
  • Fig. 10 ist ein Timing-Diagramm, das Busanforderungs-, bedingte Busgewährungs-, Systembus-Treibfreigabe-, Erweiterungsanforderungs- und Buszyklus- Erweiterungsignale zeigt, die während des Betriebs des Datenverarbeitungssystems von Fig. 1 aktiviert werden.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Es wird nun im einzelnen auf eine bevorzugte Ausführungsform der Erfindung Bezug genommen, für die in den beigefügten Zeichnungen ein Beispiel veranschaulicht ist.
  • A. Systemüberblick
  • Fig. 1 zeigt ein Beispiel eines Datenverarbeitungssystems 20, das die vorliegende Erfindung verkörpert. Das Herz des Systems 20 ist ein Systembus 25, der ein synchroner Bus ist und der eine Kommunikation zwischen mehreren Prozessoren, Speicher-Subsystemen und I/O-Systemen erlaubt. Die Kommunikation über den Systembus 25 geschieht synchron unter Verwendung von periodischen Buszyklen. Eine typische Buszykluszeit für den Systembus 25 ist 64 nsec.
  • In Fig. 1 ist der Systembus 25 mit zwei Prozessoren 31 und 35, einem Speicher 39, einer I/O-Schnittstelle 41 und einer I/O-Einheit 51 verbunden. Eine I/O-Einheit 53 ist über einen I/O-Bus 45 und eine I/O-Einheits-Schnittstelle 41 mit dem Systembus 25 verbunden.
  • In der bevorzugten Ausführungsform des Datenverarbeitungssystems 20 ist außerdem ein zentraler Zuteiler 28 mit dem Systembus 25 verbunden. Der Zuteiler 28 liefert bestimmte Timing- und Buszuteilungssignale direkt an die anderen Geräte auf dem Systembus 25 und benutzt einige Signale mit diesen Geräten gemeinsam.
  • Die in Fig. 1 gezeigte Ausführung ist eine gegenwärtig bevorzugte und ist nicht notwendigerweise als die vorliegende Erfindung begrenzend zu verstehen. Zum Beispiel könnte die I/O-Einheit 53 direkt mit dem Systembus 25 verbunden sein, und der Zuteiler 28 braucht nicht in der für die vorliegende Erfindung beschriebenen Weise zu arbeiten.
  • In der zur Beschreibung der vorliegenden Erfindung verwendeten Terminologie werden die Prozessoren 31 und 35, der Speicher 39, die I/O-Schnittstelle 41 und das I/O-Gerät 51 sämtlich Knoten genannt. Ein "Knoten" ist als Hardware-Gerät definiert, das mit dem Systembus 25 verbunden ist. Ein typischer Knoten 60 ist detaillierter in Fig. 2 gezeigt.
  • Entsprechend der zur Beschreibung der vorliegenden Erfindung verwendeten Terminologie werden die Begriffe "Signale" oder "Leitungen" größtenteils austauschbar verwendet, um auf die Namen der physikalischen Drähte hinzuweisen. Die Begriffe "Daten" oder "Pegel" werden größtenteils verwendet, um auf die Werte hinzuweisen, die die Signale oder Leitungen annehmen können.
  • Knoten führen Transfers mit anderen Knoten über den Systembus 25 durch. Ein "Transfer" sind ein oder mehr benachbarte Zyklen, die einen gemeinsamen Sender und eine gemeinsame Zuteilung gemeinsam benutzen. Beispielsweise benötigt eine Leseoperation, die von einem Knoten eingeleitet wird, um Informationen von einem anderen Knoten auf dem Systembus 25 zu erhalten, einen Kommandotransfer vom ersten zum zweiten Knoten, dem einige Zeit später ein oder mehr Datenrücktransfers vom zweiten Knoten zum ersten Knoten folgen.
  • Eine "Transaktion" ist als die vollständige logische Aufgabe definiert, die auf dem Systembus 25 durchgeführt wird, und kann mehr als einen Transfer umfassen. Zum Beispiel ist eine Leseoperation, die aus einem Kommandotransfer besteht, dem später ein oder mehr Datenrücktransfers folgen, eine Transaktion. In der bevorzugten Ausführungsform des Systembusses 25 unterstützen die zulässigen Transaktionen den Transfer von verschiedenen Datenlängen und umfassen Lese-, (maskierte) Schreib-, Verriegelungslese-, Entriegelungsschreib- und Unterbrechungsoperationen. Der Unterschied zwischen einem Verriegelungslesen und einem regulären oder Nichtverriegelungs-Lesen ist der, daß ein Verriegelungslesen an einer bestimmten Speicherstelle Informationen wiedergewinnt, die an dieser Stelle gespeichert sind, und durch nachfolgende Verriegelungslesekommandos den Zugriff auf die gespeicherten Informationen beschränkt. Die Zugriffsbeschränkung wird durch Setzen eines Verriegelungsmechanismus durchgeführt. Ein nachfolgendes Entriegelungsschreibkommando speichert Informationen in der spezifizierten Speicherstelle und stellt den Zugriff auf die gespeicherten Informationen wieder her, indem der Verriegelungsmechanismus an dieser Stelle zurückgesetzt wird. Somit haben die Verriegelungslese-/Entriegelungsschreiboperationen die Form einer Lese-Änder-Schreib-Operation.
  • Da der Systembus 25 ein "Hängebus" ist, fördert er die effiziente Ausnutzung von Busbetriebsmitteln, indem er anderen Knoten erlaubt, Buszyklen zu verwenden, die sonst beim Warten auf Antworten vergeudet worden wären. In einem Hängebus können, nachdem ein Knoten eine Transaktion einleitet, andere Knoten Zugriff auf den Bus haben, bevor die Transaktion beendet ist. Der Knoten, der diese Transaktion einleitet, blockiert somit den Bus nicht während der gesamten Transaktionszeit. Dies steht im Gegensatz zu einem Nicht-Hängebus, bei dem der Bus während einer gesamten Transaktion blockiert ist. Zum Beispiel kann im Systembus 25, nachdem ein Knoten eine Lesetransaktion einleitet und einen Kommandotransfer vornimmt, der Knoten, an den der Kommandotransfer gerichtet ist, nicht imstande sein, die angeforderten Daten sofort zurückzugeben. Zwischen dem Kommandotransfer und dem Datenrücktransfer der Lesetransaktion würden dann Zyklen auf dem Bus 25 zur Verfügung stehen. Der Systembus 25 erlaubt es anderen Knoten, diese Zyklen zu verwenden.
  • Bei Verwendung des Systembusses 25 kann jeder der Knoten verschiedene Rollen annehmen, um den Transfer von Informationen zu bewirken. Eine dieser Rollen ist ein "Kommandogeber", der als Knoten definiert ist, der eine gegenwärtig ablaufende Transaktion eingeleitet hat. Beispielsweise ist bei einer Schreib- oder Leseoperation der Kommandogeber derjenige Knoten, der die Schreib- oder Leseoperation angefordert hat; er ist nicht notwendigerweise der Knoten, der die Daten sendet oder empfängt. In dem bevorzugten Protokoll für den Systembus 25 bleibt ein Knoten während einer gesamten Transaktion der Kommandogeber, selbst wenn ein anderer Knoten während einiger Zyklen der Transaktion Eigentum am Systembus 25 nehmen kann. Obwohl zum Beispiel ein Knoten während des Transfers von Daten als Antwort auf den Kommandotransfer einer Lesetransaktion die Kontrolle über den Systembus 25 hat, wird dieser eine Knoten nicht der Kommandogeber des Busses. Statt dessen wird dieser Knoten "Antwortgeber" genannt.
  • Ein Antwortgeber antwortet dem Kommandogeber. Hat beispielsweise ein Kommandogeber eine Schreiboperation eingeleitet, Daten vom Knoten A an den Knoten B zu schreiben, so würde der Knoten B der Antwortgeber sein. Zusätzlich kann im Datenverarbeitungssystem 20 ein Knoten gleichzeitig ein Kommandogeber und ein Antwortgeber sein.
  • Sender und Empfänger sind Rollen, die die Knoten in einem individuellen Transfer annehmen können. Ein "Sender" ist als Knoten definiert, der der Ursprung von Informationen ist, die während eines Transfers auf den Systembus 25 gegeben werden. Ein "Empfänger" ist das Gegenstück des Senders und ist als der Knoten definiert, der die während eines Transfers auf den Systembus 25 gegebenen Informationen empfängt. Während einer Lesetransaktion kann beispielsweise ein Kommandogeber zuerst während des Kommandotransfers ein Sender und dann während des Datenrücktransfers ein Empfänger sein.
  • Wünscht ein mit dem Systembus 25 verbundener Knoten, ein Sender auf dem Systembus 25 zu werden, so aktiviert dieser Knoten eine von zwei Anforderungsleitungen CMD REQ (Kommandogeberanforderung) und RES REQ (Antwortgeberanforderung), die zwischen dem zentralen Zuteiler 28 und diesem bestimmten Knoten angeschlossen sind. Die Leitungen CMD REQ und RES REQ sind allgemein in Fig. 1 gezeigt. Im allgemeinen verwendet ein Knoten seine Leitung CMD REQ, um anzufordern, Kommandogeber zu werden und Transaktionen auf dem Systembus 25 einzuleiten, und ein Knoten verwendet seine Leitung RES REQ, um ein Antwortgeber zu werden, um Daten oder eine Meldung an einen Kommandogeber zurückzugeben. Im allgemeinen detektiert der zentrale Zuteiler 28, welche Knoten Zugriff auf den Bus wünschen (d. h. welche Anforderungsleitungen aktiviert sind). Der Zuteiler antwortet dann einer der aktivierten Anforderungsleitungen, dem entsprechenden Knoten gemäß einem Prioritätsalgorithmus Zugriff auf den Bus 25 zu gewähren. In der bevorzugten Ausführungsform hält der Zuteiler 28 zwei unabhängige Ringwarteschlangen aufrecht: eine für die Kommandogeberanforderungen und eine für die Antwortgeberanforderungen. Vorzugsweise haben die Antwortgeberanforderungen eine höhere Priorität als die Kommandogeberanforderungen und werden vor den Kommandogeberanforderungen behandelt.
  • Die Kommandogeber-Anforderungsleitungen und die Antwortgeber-Anforderungsleitungen werden als Zuteilungssignale betrachtet. Wie in Fig. 1 dargestellt und wie später detaillierter in der Beschreibung von Fig. 6 erläutert, umfassen die Zuteilungssignale außerdem punktweise bedingte Gewährungssignale vom zentralen Zuteiler 28 an jeden Knoten, Systembus-Erweiterungssignale, um Mehrbuszyklus-Transfers auszuführen, und Systembus-Unterdrückungssignale, um die Einleitung von neuen Bustransaktionen zu steuern, wenn beispielsweise ein Knoten, etwa ein Speicher, momentan nicht imstande ist, mit dem Verkehr auf dem Systembus Schritt zu halten.
  • Weitere Typen von Signalen, die den Systembus 25 beauftragen können, umfassen Informationstransfersignale, Antwortsignale, Steuersignale, Konsolen-/Frontplattensignale und ein paar vermischte Signale. Die Informationstransfersignale umfassen Datensignale, Funktionssignale, die die Funktion repräsentieren, die während eines laufenden Zyklus auf dem Systembus 25 durchgeführt wird, Identifizierersignale, die den Kommandogeber identifizieren, und Paritätssignale. Die Antwortsignale enthalten im allgemeinen Bestätigungs- oder Rückmeldungssignale von einem Empfänger, um den Sender von dem Status des Datentransfers in Kenntnis zu setzen.
  • Steuersignale umfassen Taktsignale, Warnsignale wie solche, die niedrige Leitungsspannungen oder niedrige Gleichspannungen identifizieren, Rücksetzsignale, die während einer Initialisierung verwendet werden, Knotenstörungssignale, Vorgabesignale, die während Leerlauf-Buszyklen verwendet werden, und Fehlervorgabesignale. Die Konsolen-/Frontplattensignale umfassen Signale, um serielle Daten an eine Systemkonsole zu senden oder davon zu empfangen, Boot- Signale, um das Verhalten eines Boot-Prozessors während des Einschaltens zu steuern, Signale, um eine Modifikation des löschbaren PROM der Prozessoren 31, 35 auf dem Systembus 25 freizugeben, ein Signal, um ein EIN-LICHT auf der Frontplatte zu steuern, und Signale, die der Takt-Logikschaltung auf manchem Knoten Batterieleistung liefern. Die vermischten Signale umfassen außer Reservesignalen Identifikationssignale, die es jedem Knoten erlauben, seinen Identifikationscode zu bestimmen.
  • Fig. 2 zeigt ein Beispiel eines Knotens 60, der mit dem Systembus 25 verbunden ist. Der Knoten 60 könnte ein Prozessor, ein Speicher, eine I/O-Einheit oder eine I/O-Schnittstelle sein, wie in Fig. 1 gezeigt. In dem in Fig. 2 gezeigten Beispiel enthält der Knoten 60 eine knotenspezifische Logikschaltung 65, einen Knotenbus 67 und eine Systembusschnittstelle 64, die eine Datenschnittstelle 61 und einen Taktdecodierer 63 enthält. Vorzugsweise sind die Datenschnittstelle 61, der Taktdecodierer 63 und der Knotenbus 67 Standardelemente für die Knoten, die mit dem Systembus 25 verbunden sind. Die knotenspezifische Logikschaltung 65, die verschiedene integrierte Schaltungen von der Systembusschnittstelle 64 verwendet, enthält vorzugsweise außer dem Schaltungsteil, der von einem Anwender gestaltet wird, um die spezifische Funktion eines Knotens durchzuführen, einen Standardschaltungsteil für eine Schnittstellenverbindung mit dem Knotenbus 67. Im allgemeinen ist die Datenschnittstelle 61 die primäre logische und elektrische Schnittstelle zwischen dem Knoten 60 und dem Systembus 25, liefert der Taktdecodierer 63 basierend auf zentral erzeugten Taktsignalen Timing-Signale an den Knoten 60 und bildet der Knotenbus 67 eine Hochgeschwindigkeits-Schnittstelle zwischen der Datenschnittstelle 61 und der knotenspezifischen Logikschaltung 65.
  • In der bevorzugten Ausführungsform des Knotens 60 und der Systembusschnittstelle 64, die in Fig. 2 gezeigt sind, enthält der Taktdecodierer 63 einen Steuerschaltungsteil, um Signale zu formen, die auf den Systembus 25 zu geben sind, und verarbeitet vom zentralen Zuteiler 28 empfangene Taktsignale, um Timing-Signale für die knotenspezifische Logikschaltung 65 und die Datenschnittstelle 61 zu erhalten. Da die vom Taktdecodierer 63 erhaltenen Timing-Signale die zentral erzeugten Taktsignale verwenden, arbeitet der Knoten 60 dann synchron mit dem Systembus 25.
  • Fig. 3 ist ein Timing-Diagramm, das einen Buszyklus zeigt, wobei die Taktsignale durch den Taktdecodierer 63 vom zentralen Zuteiler 28 (Fig. 1) empfangen werden und einige der Timing-Signale vom Taktdecodierer 63 erzeugt werden. Die vom Taktdecodierer 63 empfangenen Taktsignale umfassen ein Signal Zeit H, ein Signal Zeit L und ein Signal Phase, wie in Fig. 3 gezeigt. Zeit H und Zeit L sind Inverse der fundamentalen Taktsignale, und das Signal Phase wird durch Teilen des fundamentalen Taktsignals durch drei erhalten. Die vom Taktdecodierer 63 erzeugten Timing-Signale umfassen C12, C23, C34, C45, C56 und C61, die alle in Fig. 3 gezeigt sind. Diese von der Datenschnittstelle 61 benötigten Timing- Signale, die einmal pro Buszyklus erscheinen, werden an die Datenschnittstelle 61 geliefert, und ein vollständiger Satz von Timing-Signalen einschließlich von Äquivalenten der Timing-Signale, die an die Datenschnittstelle 61 geliefert werden, wird gepuffert und an die knotenspezifische Logikschaltung 65 geliefert. Der Zweck der Pufferung ist, sicherzustellen, daß die knotenspezifische Logikschaltung 65 den Betrieb der Systembusschnittstelle 64 nicht durch unpassendes Laden der Timing-Signale ungünstig beeinflussen kann. Der Taktdecodierer 63 verwendet die Taktsignale, um sechs Subzyklen für jeden Buszyklus zu erstellen, und verwendet dann die Subzyklen, um die sechs Timing- Signale CXY zu erstellen, wobei X und Y zwei benachbarte Subzyklen darstellen, die kombiniert werden, um ein Timing-Signal zu bilden.
  • Jeder Knoten im Systembus 25 hat seinen eigenen entsprechenden Satz von Timing-Signalen, die von seinem Taktdecodierer 63 erzeugt werden. Während die entsprechenden Signale nominell überall im System 20 in jedem Knoten zu genau der gleichen Zeit auftreten, führen Abweichungen zwischen dem Taktdecodierer 63 und anderen Schaltungsteilen in mehreren Knoten Timing-Abweichungen zwischen den entsprechenden Signalen herbei. Diese Timing-Abweichungen sind gewöhnlich als "Taktversatz" bekannt.
  • Fig. 4 zeigt eine bevorzugte Ausführungsform der Datenschnittstelle 61. Die Datenschnittstelle 61 enthält sowohl einen Temporärspeicher-Schaltungsteil als auch einen Bustreiber-Schaltungsteil, um eine bidirektionale Hochgeschwindigkeits-Schnittstelle zwischen jeder der Leitungen des Knotenbusses 67 und jeder der Leitungen des Systembusses 25 bereitzustellen. Wie in Fig. 4 gezeigt, enthält die Datenschnittstelle 61 vorzugsweise Speicherelemente 70 und 72 und einen Systembustreiber 74, um einen Kommunikationsweg vom Knotenbus 67 zum Systembus 25 bereitzustellen. Die Datenschnittstelle 61 enthält außerdem ein Speicherelement 80 und einen Knotenbustreiber 82, um einen Kommunikationsweg vom Systembus 25 zum Knotenbus 67 bereitzustellen. Wie in der Beschreibung der Datenschnittstelle 61 verwendet, bezieht sich der Begriff "Speicherelement" allgemein auf bistabile Speichereinrichtungen wie ein transparentes Latch oder ein Master-Slave-Speicherelement, und nicht auf eine bestimmte Ausführung. Der Fachmann weiß dann, welche Typen von Speicherelementen zweckmäßig sind.
  • Wie in Fig. 4 gezeigt, hat das Speicherelement 70 einen Eingang, der verbunden ist, um Daten vom Knotenbus 67 zu empfangen, und einen Ausgang, der mit dem Eingang des Speicherelements 72 verbunden ist. Der Ausgang des Speicherelements 72 ist mit einem Eingang des Systembustreibers 74 verbunden, dessen Ausgang mit dem Systembus 25 verbunden ist. Die Speicherelemente 70 und 72 werden durch Knotenbus-Steuersignale 76 bzw. 78 gesteuert, die aus den vom Taktdecodierer 63 erzeugten Timing-Signalen abgeleitet werden. Die Speicherelemente 70 und 72 bilden einen zweistufigen Temporärspeicher zur Beförderung von Daten vom Knotenbus 67 zum Systembus 25. Andere Anzahlen von Speicherstufen können ebenfalls verwendet werden.
  • Der Systembustreiber 74 wird durch eine Systembus-Treibfreigabe 79 gesteuert. Entsprechend dem Status der Systembus-Treibfreigabe 79 wird der Eingang des Systembustreibers 74 entweder mit seinem Ausgang gekoppelt, wodurch die Daten am Ausgang des Speicherelements 72 zum Systembus 25 übertragen werden, oder von diesem Ausgang entkoppelt. Wenn die Systembus-Treibfreigabe 79 den Eingang und den Ausgang des Systembustreibers 74 entkoppelt, stellt der Systembustreiber 74 für den Systembus 25 einen hohen Widerstand dar. Die Systembus-Treibfreigabe 79 wird außerdem in Übereinstimmung mit vom Systembus 25 empfangenen Taktsignalen und von der knotenspezifischen Logikschaltung 65 empfangenen Taktsignalen vom Taktdecodierer 63 erzeugt.
  • Das Speicherelement 80 hat einen Eingangsanschluß, der mit dem Systembus 25 verbunden ist, und einen Ausgangsanschluß, der mit einem Eingang des Knotenbustreibers 82 verbunden ist. Der Ausgang des Knotenbustreibers 82 ist wieder mit dem Knotenbus 67 verbunden. Das Speicherelement 80, vorzugsweise ein transparentes Latch, wird durch ein Systembus-Steuersignal 85 gesteuert, das aus den Timing-Signalen abgeleitet wird, die vom Taktdecodierer 63 erzeugt werden. Ein Knotenbus-Treibsignal 87 steuert den Knotenbustreiber 82 auf ähnliche Weise, wie das Systembus-Treibsignal 79 den Systembustreiber 74 steuert. Somit koppelt der Knotenbustreiber 82 als Antwort auf das Knotenbus- Treibsignal 87 entweder seinen Eingang an seinen Ausgang oder entkoppelt seinen Eingang von seinem Ausgang und bildet einen hohen Widerstand für den Knotenbus 67.
  • Um zu erläutern, wie Daten über den Systembus 25 übertragen werden, ist es wichtig, die Beziehung zwischen der Systembus-Treibfreigabe 79 und dem Steuersignal 85 zu verstehen. Für die vorliegende Ausführungsform ist diese Beziehung in Fig. 3 gezeigt. Die Systembus-Treibfreigabe 79 wird nominell vom Beginn bis zum Ende eines Buszyklus angesteuert. Die neuen Daten werden etwas später im Buszyklus für einen Empfang vom Systembus 25 verfügbar, nachdem eine Treiberfortpflanzungs- und Busstabilisierungszeit stattgefunden hat. In der vorliegenden Ausführungsform ist das Speicherelement 80 ein transparentes Latch. Das Steuersignal 85 ist dem Takt C45 logisch äquivalent. Das Bus-Timing stellt sicher, daß die Daten des Systembusses 25 etwas vor der Deaktivierung des Steuersignals 85 für einen Empfang verfügbar sind. Das Speicherelement 80 speichert Busdaten, die wenigstens für eine Aufbauzeit vor der Deaktivierung des Steuersignals 85 stabil sind und für eine Haltezeit nach der Deaktivierung des Steuersignals 85 stabil bleiben.
  • Der Knotenbus 67 ist vorzugsweise ein Datenbus mit sehr hoher Geschwindigkeit, der mit Hilfe der Datenschnittstelle 61 einen bidirektionalen Datentransfer zwischen der knotenspezifischen Logikschaltung 65 und dem Systembus 25 erlaubt. In der in Fig. 2 gezeigten bevorzugten Ausführungsform des Knotens 60 ist der Knotenbus 67 ein Verknüpfungssystem, das aus punktweisen Verbindungen zwischen der Systembusschnittstelle 64 und der knotenspezifischen Logikschaltung 65 besteht. Gemäß der vorliegenden Erfindung besteht jedoch kein Erfordernis für so eine punktweise Verknüpfung.
  • Fig. 5 zeigt eine bevorzugte Ausführungsform des zentralen Zuteilers 28, der ebenfalls mit dem Systembus 25 verbunden ist. Der zentrale Zuteiler 28 liefert die Taktsignale für den Systembus 25 und gewährt den Knoten auf dem Systembus 25 Eigentum am Bus. Der zentrale Zuteiler 28 enthält vorzugsweise eine Entscheidungsschaltung 90, eine Taktgeberschaltung 95 und einen Oszillator 97. Der Oszillator 97 erzeugt die fundamentalen Taktsignale. Der Taktgeber 95 liefert Timing-Signale für die Entscheidungsschaltung 90 und die Basistaktsignale Zeit H, Zeit L und Phase für das Timing auf dem Systembus 25. Die Entscheidungsschaltung 90 empfängt die Kommandogeber- und Antwortgeber- Anforderungssignale, entscheidet Konflikte zwischen Knoten, die Zugriff auf den Systembus 25 wünschen, und hält die oben erwähnten Warteschlangen für die Kommandogeber- und Antwortgeberanforderungen aufrecht. Die Entscheidungsschaltung 90 liefert außerdem bestimmte Steuersignale an den Taktgeber 95.
  • B. Zuteilung
  • Gemäß der Erfindung kann jeder der Knoten auf einem Bus Zugriff auf den Bus erhalten, um Meldungen an andere Knoten zu übertragen. Die Meldungen können einen oder mehrere Buszyklen in Anspruch nehmen. Zu einem gegebenen Zeitpunkt können beliebige oder sämtliche der Knoten 60 Transfers auf den Bus 25 durchzuführen wünschen. In der vorliegenden Erfindung können die für die Zuteilung benutzten Buszyklen parallel mit den zum Transfer von Daten benutzten Buszyklen auftreten.
  • Die Knoten in der vorliegenden Erfindung umfassen eine Busanforderungseinrichtung zur Erzeugung einer Busanforderung zu Zeiten, wenn eine Meldung von dem Knoten auf den Bus zu übertragen ist. Wie in Fig. 6 verkörpert, sind sowohl ein CPU-Knoten 31 als auch ein I/O-Gerät-Knoten 51 im System 20 enthalten, das außerdem eine Vielzahl von (nicht gezeigten) weiteren Knoten umfaßt. In einer Ausführungsform umfaßt der CPU-Knoten 31 einen Kommandogenerator 110 innerhalb seiner knotenspezifischen Logikschaltung 65, und der I/O-Gerät-Knoten 51 umfaßt einen Antwortgenerator 112 innerhalb seiner (nicht gezeigten) knotenspezifischen Logikschaltung.
  • Zu Zeiten, wenn entweder der Knoten 31 oder der Knoten 51 bereit ist, einen Transfer durchzuführen, müssen sie auf ihren jeweiligen Busanforderungsleitungen eine Busanforderung an den Zuteiler 28 ausgeben. Beispielsweise erzeugt der Kommandogenerator 110 zu Zeiten, wenn der CPU-Knoten 31 Daten in einen anderen Knoten im System 20 zu schreiben hat, eine (Kommandogeber-) Busanforderung, um für wenigstens zwei aufeinanderfolgende Buszyklen Zugriff auf den Bus 25 anzufordern. Als weiteres Beispiel erzeugt der Antwortgenerator, wenn der I/O-Gerät-Knoten 51 vorher eine Unterbrechungsanforderung erzeugt hat und als Antwort auf den Transfer eines Unterbrechungsbestätigungskommandos durch einen anderen Knoten Unterbrechungsvektordaten zu diesem anderen Knoten übertragen muß, eine (Antwortgeber-)Busanforderung. Im Falle einer Unterbrechungsvektormeldung verlangt der I/O-Knoten 51 typischerweise für nur einen einzigen Buszyklus Zugriff auf den Bus 25.
  • In der bevorzugten Ausführungsform werden Busanforderungen von jedem der Knoten im System 20 unter Verwendung eines Paares festgeschalteter Leitungen an den Zuteiler 28 gesendet. Eine Kommandogeber-Anforderungsleitung, wie CMD REQ 102 oder 106, wird von einem Knoten benutzt, um Zugriff anzufordern, wenn der Knoten neue Transaktionen einleitet, und eine Antwortgeber-Anforderungsleitung, wie RES REQ 104 oder 108, wird von einem Knoten benutzt, um Daten an einen Kommandogeber zurückzusenden, etwa wenn ein Lesekommando oder ein Unterbrechungsbestätigungskommando von einem Knoten empfangen und behandelt wird. Vorzugsweise hat eine Antwortgeberanforderung höhere Priorität als eine Kommandogeberanforderung.
  • Wie in Fig. 6 für das oben erörterte Beispiel gezeigt, erzeugt die CPU 31 eine Busanforderung auf ihrer festgeschalteten Kommandogeber-Anforderungsleitung 102, und das I/O-Gerät 51 erzeugt eine Busanforderung auf seiner festgeschalteten Antwortgeber-Anforderungsleitung 108. Wie zuvor erörtert, wird jeder Buszyklus in der bevorzugten Ausführungsform in sechs Subzyklen unterteilt. In der vorliegenden Ausführungsform tastet der Zuteiler 28 die Busanforderungen von jedem der Knoten während der Subzyklen 6 und 1 jedes Buszyklus ab, wie in Fig. 10 gezeigt. In Fig. 10 zeigt der Ursprung des Pfeils die ungefähre Abtastzeit eines Signals an, und das Vorhandensein eines aktivierten Signals wird mittels des Spannungspegels am Ursprung des Pfeils bestimmt.
  • Zu Fig. 6 zurück, ist gemäß der vorliegenden Erfindung eine Erweiterungsanforderungseinrichtung vorgesehen, zur Erzeugung einer Erweiterungsanforderung für jeden der Knoten, der mehr als einen Buszyklus für den Transfer einer Meldung benötigt, und für die Aufrechterhaltung dieser Erweiterungsanforderung während nachfolgender Subzyklen. Wie hierin verkörpert, wird, falls die CPU 31 ein Schreibkommando im Kommandogenerator 110 erstellt, dieses Kommando mehrere Buszyklen erfordern, um den Datentransfer abzuschließen. Kommandodaten werden während eines Anfangszugriffszyklus übertragen, und Schreibdaten werden während nachfolgender Zyklen übertragen. Der Anfangszugriffszyklus ist der erste Zyklus, in dem das Systembus-Treibfreigabesignal 79 für einen Transfer aktiviert wird. Daher gibt ein Erweiterungsanforderungsgenerator 111 eine Erweiterungsanforderung auf der Leitung 118 zur gleichen Zeit aus, in der der Kommandogenerator 110 die Kommandogeber-Anforderungsleitung 102 aktiviert, und hält diese Erweiterungsanforderung auf der Leitung 118 bis zum letzten Buszyklus aufrecht, während dessen der Datentransfer abgeschlossen wird.
  • Gemäß der Erfindung umfaßt jeder der Knoten eine Zykluserweiterungseinrichtung, die mit der Erweiterungsanforderungseinrichtung verbunden ist, zur Aktivierung eines Buszyklus-Erweiterungssignals während des Anfangszugriffszyklus, wenn der Knoten ein Sender wird, und zur Aufrechterhaltung des während nachfolgender Buszyklen aktivierten Buszyklus-Erweiterungssignals zu Zeiten, wenn die Erweiterungsanforderung für den Knoten vorhanden ist. Wie hierin verkörpert, wird das Buszyklus-Erweiterungssignal (Fig. 10, Signal E) auf einer Buszyklus-Erweiterungsleitung 120 ausgegeben, die mit dem Zuteiler 28 und mit jedem der Knoten im System 20 verbunden ist. Vorzugsweise enthält die CPU 31 einen Erweiterungszyklus-Schaltungsteil 122 im Taktdecodierer 63, zur Aktivierung des Buszyklus-Erweiterungssignals (Fig. 10, Signal E) während des Anfangszugriffs-Buszyklus und nachfolgender Buszyklen zu Zeiten, wenn die Erweiterungsanforderung auf der Leitung 118 vorhanden ist.
  • Ein Knoten kann das Buszyklus-Erweiterungssignal nicht aktivieren, wenn ein Buszyklus-Erweiterungssignal gegenwärtig von einem anderen Knoten aktiviert wird oder eine bedingte Busgewährung (Fig. 10, Signal B) nicht empfangen worden ist. Wie in Fig. 6 gezeigt, empfängt der Erweiterungszyklus-Schaltungsteil 122 in der CPU 31 eine vom Erweiterungsanforderungsgenerator 111 erzeugte Erweiterungsanforderung. Der Schaltungsteil 122 aktiviert dann das Buszyklus- Erweiterungssignal auf der Buszyklus-Erweiterungsleitung 120, falls die zwei gerade beschriebenen Bedingungen nicht bestehen.
  • Jeder Knoten gemäß der Erfindung umfaßt eine Empfangseinrichtung zum Empfang einer bedingten Busgewährung vom Zuteiler und zum Empfang eines Buszyklus-Erweiterungssignals von den anderen Knoten. Wenn es in einem aktivierten Zustand ist, zeigt das Buszyklus-Erweiterungssignal an, daß ein Knoten, der gegenwärtig eine Meldung überträgt, während des nächsten Buszyklus damit fortfahren wird, die Meldung zu übertragen. Jeder der Knoten umfaßt einen Freigabeschaltungsteil 124, der mit einer gemeinsamen Buszyklus-Erweiterungsleitung 120 verbunden ist, um ein von irgendeinem der Knoten aktiviertes Buszyklus-Erweiterungssignal zu empfangen. Außerdem ist der Freigabeschaltungsteil 124 für jeden Knoten, der in der vorliegenden Ausführungsform im Taktdecodierer 63 enthalten ist, mittels einer festgeschalteten punktweisen Bedingte-Busgewährung-Leitung entsprechend diesem Knoten, wie die Leitungen 114 und 116, mit dem Zuteiler 28 verbunden. Der Zuteiler 28 sendet eine bedingte Busgewährung entlang einer dieser festgeschalteten Leitungen an einen ausgewählten Knoten. Zum Beispiel verbinden die Bedingte-Gewährung- Leitungen 114 bzw. 116 die CPU 31 und das I/O-Gerät 51 mit dem Zuteiler 28.
  • Während irgendein es bestimmten Buszyklus empfängt der Zuteiler 28 Busanforderungen (Fig. 10, Signal A) von einer Anzahl von Knoten 60 und bestimmt, welchem ausgewählten Knoten 60 "bedingt" Zugriff auf den Bus 25 gewährt wird. In der vorliegenden, in Fig. 10 gezeigten Ausführungsform sendet der Zuteiler 28, nachdem er die Busanforderungen (Signal A) während des Subzyklus 6 (im Buszyklus 1) und des Subzyklus 1 (im Buszyklus 2) abgetastet hat, eine bedingte Busgewährung (Signal B) an einen ausgewählten Knoten. Die bedingte Busgewährung (Signal B) wird von dem ausgewählten Knoten während des Subzyklus 6 des zweiten Buszyklus abgetastet. Wird kein Buszyklus- Erweiterungssignal (Signal E) auf der Buszyklus-Erweiterungsleitung 120 (Fig. 6) aktiviert, wenn sie von dem ausgewählten Knoten während des zweiten Buszyklus abgetastet wird, so wird der Knoten ein Sender und überträgt seine Meldung mit dem Beginn des dritten Buszyklus zum Systembus 25. In diesem Beispiel wird der während des zweiten Zyklus ausgewählte Knoten während des dritten Zyklus ein Sender, und der dritte Buszyklus ist daher der "Anfangszugriffszyklus" für diesen Sender. Wird ein Buszyklus-Erweiterungssignal auf der Leitung 120 aktiviert und während der Subzyklen 4 und 5 des zweiten Buszyklus durch den Freigabeschaltungsteil 124 des ausgewählten Knotens abgetastet, so ist der ausgewählte Knoten dann nicht imstande, während des nächsten Buszyklus Zugriff auf den Bus 25 zu erhalten, obwohl er während des Subzyklus 6 des zweiten Zyklus eine bedingte Busgewährung empfängt.
  • Unter neuer Bezugname auf Fig. 6 umfaßt gemäß der Erfindung jeder der Knoten eine Buszugriffseinrichtung, die mit der Buszyklus-Erweiterungseinrichtung verbunden ist und auf die bedingte Busgewährung anspricht, zur Erzeugung eines Systembus-Treibfreigabesignals in dem ausgewählten Knoten, wenn kein Buszyklus-Erweiterungssignal durch einen anderen Knoten aktiviert wird, der der frühere Sender war; und zur Aufrechterhaltung des Systembus-Treibfreigabesignalpegels, während das Buszyklus-Erweiterungssignal für den ausgewählten Senderknoten aktiviert wird. Wie hierin verkörpert- aktiviert der Freigabeschaltungsteil 124 das Systembus-Treibfreigabesignal 79 für den Treiber 74, der in Fig. 4 als im Datenschnittstellen-Schaltungsteil 61 enthalten gezeigt ist. Zu Zeiten, wenn der Treiber 74 durch ein aktiviertes Systembus-Treibfreigabesignal 79 freigegeben wird, kann von dem Knoten eine Meldung auf den Systembus 25 übertragen werden.
  • Die bevorzugte Ausführungsform einer Einrichtung zur Aktivierung eines Buszyklus-Erweiterungssignals ist in Fig. 7 gezeigt. Für Veranschaulichungszwecke wird angenommen, daß mit Ausnahme von Timing-Signalen und wenn anders ausgesagt alle Signale auf einem niedrigen Pegel sind, wenn sie aktiviert sind. Das Systembus-Treibfreigabesignal 79 und das Erweiterungsanforderungssignal 118 sind beide mit einem UND-Gatter 126 verbunden. Der Ausgang des UND-Gatters 126 ist mit einem Speicherelement 128 verbunden, das vorzugsweise ein D-Typ-Flipflop ist, wobei jedoch, wie im allgemeinen überall in dieser Beschreibung, statt dessen äquivalente logische Schaltungselemente verwendet werden können. Daher kann das Speicherelement 128 nur zu Zeiten gesetzt werden, wenn die von dem Knoten erzeugte Erweiterungsanforderung (Fig. 10, Signal D) vorhanden ist und wenn der Knoten für den gegenwärtigen Buszyklus Zugriff auf den Bus 25 erhalten hat.
  • In Fig. 7 wird das Speicherelement 128 unter Verwendung des Taktsignals C1 während des Subzyklus 1 jedes Buszyklus gesetzt oder zurückgesetzt. Das Ausgangssignal des Speicherelements 128 gibt ein NICHT-UND-Gatter 132 frei. Das Taktsignal C1 wird außerdem als Eingangssignal in einen Inverter 130 verwendet, um das NICHT-UND-Gatter 132 während der Subzyklen 2 bis 6 freizugeben, welches mit dem Ausgang des Inverters 130 verbunden ist. Der Leitungstreiber 134 mit offenem Drainanschluß wird durch ein aktives Ausgangssignal des NICHT-UND-Gatters 132 eingeschaltet, wenn die Buszyklus- Erweiterungsleitung 120 niedrig anzusteuern ist.
  • Die bevorzugte Ausführungsform für den im Taktdecodierer 63 enthaltenen Freigabeschaltungsteil 124 ist in Fig. 8 gezeigt. Als Antwort auf den Empfang einer bedingten Busgewährung auf der Leitung 114 wird ein Speicherelement 136 gesetzt, etwa ein D-Typ-Flipflop. Das Speicherelement 136 wird unter Verwendung des Taktsignals C61 gesetzt oder zurückgesetzt, das auf dem sechsten Subzyklus jedes Buszyklus beginnt. Wird ein Buszyklus-Erweiterungssignal auf der Buszyklus-Erweiterungsleitung 120 aktiviert, so wird dann ein Speicherelement 138 unter Verwendung des Taktsignals C45 gesetzt, das auf dem vierten Subzyklus jedes Buszyklus beginnt. Das Ausgangssignal des Speicherelements 138 wird verwendet, um ein UND-Gatter 140 freizugeben. Das UND-Gatter 140 wird außerdem durch das Taktsignal C12 freigegeben, das auf dem ersten Subzyklus jedes Buszyklus beginnt. Das Ausgangssignal des UND-Gatters 140 wird verwendet, um Daten in das Speicherelement 142 zu takten, dessen Dateneingang über das Speicherelement 136 mit der Bedingte-Busgewährung-Leitung 114 verbunden ist. Das Ausgangssignal des Speicherelements 142 ist das Systembus- Treibfreigabesignal 79, das mit dem Buszyklus-Erweiterungsschaltungsteil 122 und dem Treiber 74 verbunden ist. Wird das Dateneingangssignal in das Speicherelement 142 aktiviert, während das Ausgangssignal des UND-Gatters 140 aktiviert wird, so wird dann das Systembus-Treibfreigabesignal 79 aktiviert.
  • Aufgrund der Art und Weise, in der das Systembus-Treibfreigabesignal 79 aktiviert wird, erlaubt es dieses Signal der CPU 31, während des Anfangs- Buszugriffszyklus Zugriff auf den Bus 25 zu erhalten, wenn die Bedingte- Busgewährung-Leitung 114 aktiviert wird und das Buszyklus-Erweiterungssignal 120 nicht aktiviert wird. Erzeugt beispielsweise, wie in den Fig. 6, 8 und 10 gezeigt, die CPU 31 eine Busanforderung (Fig. 10, Signal A) während eines ersten Buszyklus, so wird sie auf dem Subzyklus 6 des ersten Buszyklus beginnend von der Leitung 102 in den Zuteiler 28 gelatcht. Hat die CPU 31 eine Anforderung mit der höchsten Priorität ausgegeben, so sendet der Zuteiler 28 dann eine bedingte Busgewährung (Signal B) während des zweiten Buszyklus an die CPU 31, und die CPU 31 taktet dann das Speicherelement 136 beginnend auf dem Subzyklus 6 des zweiten Buszyklus, um die bedingte Busgewährung auf der Leitung 114 zu empfangen. Wird kein Buszyklus-Erweiterungssignal auf der Leitung 120 aktiviert, wenn sie während des vierten und des fünften Subzyklus des zweiten Buszyklus abgetastet wird, so ist dann das Speicherelement 142 imstande, das Systembus- Treibfreigabesignal 79 während des dritten Buszyklus zu aktivieren. Daher erhält die CPU 31 am Beginn des dritten Buszyklus Zugriff auf den Bus 25.
  • Allerdings würde kein Systembus-Treibfreigabesignalpegel (Signal C) vom Speicherelement 142 aktiviert worden sein, wenn während des zweiten Buszyklus ein Buszyklus-Erweiterungssignal (Signal E) von einem anderen Knoten 60 aktiviert worden ist, beispielsweise dem Knoten 51. Wurde während des zweiten Buszyklus ein Buszyklus-Erweiterungssignal auf der Leitung 120 aktiviert, so würde dann das UND-Gatter 140 durch das Speicherelement 138 gesperrt worden sein. Daher unterdrückt die Aktivierung eines Buszyklus-Erweiterungssignals (Signal E) die Kopplung einer bedingten Gewährung auf der Leitung 114 in das Speicherelement 142. Die CPU 31 ist nicht imstande, während des dritten Buszyklus Zugriff auf den Bus 25 zu gewinnen, trotz der Gegenwart einer bedingten Gewährung auf der Leitung 114 während des zweiten Buszyklus.
  • Der Freigabeschaltungsteil 124 erlaubt es der CPU 31, den Systembus-Treibfreigabesignalpegel (Signal C) für die benötigten Buszyklen im Anschluß an den Anfangszugriffszyklus aufrechtzuerhalten, obwohl die CPU 31 nicht mehr vom Zuteiler 28 ausgewählt wird und die bedingte Gewährung auf der Leitung 114 nicht empfängt. Wie in Fig. 6 gezeigt, wird durch den Erweiterungsanforderungsgenerator 111 auf der Leitung 118 eine Erweiterungsanforderung aktiviert, wenn die CPU 31 während mehr als einem Buszyklus Zugriff auf den Bus 25 verlangt, um einen Mehrzyklus-Transfer durchzuführen. Wird das Systembus-Treibfreigabesignal 79 (Signal C) während des dritten Buszyklus von der CPU 31 aktiviert, wie auch in Fig. 10 gezeigt, so bewirkt die Gegenwart einer Erweiterungsanforderung (Signal D), daß der Zyklus-Erweiterungsschaltungsteil 122 die Buszyklus- Erweiterungsleitung 120 während des Anfangszugriffs-Buszyklus (dem dritten Buszyklus) ansteuert. Wenn daher, wie außerdem in Fig. 8 gezeigt, die Buszyklus- Erweiterungsleitung 120 während der Subzyklen 4 und 5 des dritten Buszyklus abgetastet wird, wird das UND-Gatter 140 gesperrt. Als Folge kann der Inhalt des Speicherelements 142 wegen der Aktivierung des Buszyklus-Erweiterungssignals (Signal E) nicht aktualisiert werden, obwohl das Speicherelement 142 mit dem Bedingte-Busgewährung-Signal 114 verbunden ist. Daher ändert dann die CPU 31 den Inhalt des Speicherelements 142 am Beginn des vierten Buszyklus nicht. Dies bewirkt, daß das Speicherelement 142 den Systembus-Treibfreigabesignalpegel (Signal C) während des nachfolgenden Buszyklus aufrechterhält, und der Knoten 31 ist dann imstande, während der Buszyklen 3 und 4 einen Mehrzyklus-Schreibtransfer durchzuführen. Der Knoten 31 gibt dann die Kontrolle über den Bus 25 nicht ab, bis der Erweiterungsanforderungsgenerator 111 die Erzeugung der Erweiterungsanforderung während des vierten Buszyklus gestoppt hat, wie in Fig. 10 gezeigt.
  • Gemäß der Erfindung ist eine Zuteilereinrichtung mit der Busanforderungseinrichtung jedes Knotens verbunden, um als Antwort auf die Busanforderungen eine bedingte Busgewährung an einen ausgewählten Knoten der Knoten zu senden. Ein Blockdiagramm der Abschnitte des Zuteilers 28, die diese Funktionen durchführen, ist in Fig. 9 gezeigt. Wie in Fig. 6 und 9 gezeigt, werden Busanforderungen von Knoten, wie der CPU 31 und dem I/O-Gerät 51, auf getrennten Kommandogeber-Anforderungsleitungen, wie den Leitungen 102 und 106, und getrennten Antwortgeber-Anforderungsleitungen gesendet, wie den Leitungen 104 und 108. In einer bevorzugten Ausführungsform sind bis zu 14 getrennte Knoten 60 im System 20 enthalten.
  • Der Zuteiler 28, wie in Fig. 9 gezeigt, enthält Eingangspuffer und -latche 144 für den Empfang von vierzehn (14) Kommandogeber-Anforderungssignalen und vierzehn Antwortgeber-Anforderungssignalen. Beginnend auf dem Subzyklus 6 eines Buszyklus, wie in Fig. 10 gezeigt, tastet der Zuteiler 28 die achtundzwanzig (28) Busanforderungssignale (Fig. 10, Signal A) ab und speichert die Busanforderungen in den Latchen 144. Die gespeicherten Daten werden aus den Latchen 144 unter Verwendung von achtundzwanzig getrennten Leitungen, eine entsprechend jeder Kommandogeber- oder Antwortgeber-Anforderungsleitung, an eine Prioritätsauswahl-Logikschaltung 146 ausgegeben. Die Prioritätsauswahl- Logikschaltung 146 weist sechsundfünfzig (56) Ausgangsleitungen an die Prioritätscodierer 148 auf, wobei jeder Anforderungsleitung zwei Ausgangsleitungen entsprechen. Von den Prioritätscodierern 148 werden nur vierzehn Leitungen, von denen jedem Knoten 60 eine entspricht, an Latche 150 ausgegeben. Die Latche 150 empfangen außerdem als einen Eingang die Buszyklus- Erweiterungsleitung 120. Die Latche 150 weisen vierzehn Ausgangsleitungen auf, eine entsprechend jedem Knoten 60, die zur Prioritätsauswahl-Logikschaltung 146 zurückgeführt werden und außerdem an die Ausgangspuffer 152 gesendet werden. Die Ausgangspuffer 152 sind mit den vierzehn Bedingte-Busgewährung-Leitungen verbunden, wie den Leitungen 114 und 116, die mit den Knoten 60 verbunden sind.
  • Die Zuteilereinrichtung gemäß der vorliegenden Erfindung kann eine Einrichtung zur Ausführung eines Rundlaufalgorithmus zur Bestimmung des ausgewählten Knotens aus der Vielzahl von Knoten umfassen.
  • Die Zuteilereinrichtung kann außerdem eine Einrichtung zur Bestimmung eines Knotens als ausgewählten Knoten umfassen, der eine Antwortgeberanforderung erzeugt, bevor ein Knoten ausgewählt wird, der eine Kommandogeberanforderung erzeugt. In dem in Fig. 9 gezeigten Zuteiler 28 enthalten dann die Leitungen von den Eingangspuffern und -latchen 144 während jedes gegebenen Buszyklus Signalpegel, die Kommandogeber- und Antwortgeber-Anforderungsleitungen entsprechen, wie den Leitungen 102, 104, 106 und 108, auf denen während des vorhergehenden Buszyklus eine Busanforderung vorhanden war.
  • Die in Fig. 9 gezeigten Elemente führen die Zuteilungsfunktionen durch. Die Prioritätsauswahl-Logikschaltung 146 und der Prioritätscodierer 148 wirken als Zuteilungswarteschlange, und die Auswahl-Logikschaltung 146 wählt für die vierzehn ankommenden Kommandogeberanforderungen und die vierzehn an kommen - den Antwortgeberanforderungen eine von zwei Ausgangsleitungen für jede freigegebene Anforderungsleitung aus, um einen Rundlaufalgorithmus auszuführen.
  • In der bevorzugten Ausführungsform bilden achtundzwanzig Speicherstellen für Antwortgeberanforderungen eine erste Warteschlange und achtundzwanzig Speicherstellen für Kommandogeberanforderungen eine zweite Warteschlange. Antwortgeber-Busanforderungen, die in der ersten Warteschlange enthalten sind, wird eine höhere Priorität als Kommandogeber-Busanforderungen gegeben. Obwohl nur vierzehn Kommandogeber- und vierzehn Antwortgeber-Busanforderungssignale in den Zuteiler 28 eingegeben werden, gibt es achtundzwanzig Speicherstellen in jeder der beiden Warteschlangen für jeden Satz von vierzehn Anforderungen, so daß jede Anforderung einer von zwei Prioritäten zugeordnet werden kann. Ein Feld mit hoher Priorität von vierzehn Speicherstellen für jede Warteschlange wird zuerst ausgeführt, und ein Feld mit niedriger Priorität von vierzehn Speicherstellen wird für jede Warteschlange zuletzt ausgeführt. Wie hierin verkörpert, werden vom Hochfahren oder einer Periode der Inaktivität aus alle Busanforderungen dem Feld mit hoher und nicht mit niedriger Priorität der Ausgangsleitungen der Prioritätsauswahl-Logikschaltung 146 zugeordnet.
  • Während aktiver Perioden bestimmt die Prioritätsauswahl-Logikschaltung 146, auf welche der zwei Prioritäten jede ankommende Anforderung innerhalb ihrer jeweiligen (Antwortgeber- oder Kommandogeber-)Warteschlange zu setzen ist, basierend auf vierzehn Leitungen, die von den Latchen 150 zur Logikschaltung 146 zurückgeführt sind. Ein aktiviertes Signal ist dann nur auf einer der vierzehn von den Latchen 150 zurückgeführten Leitungen vorhanden, und diese Leitung entspricht dann dem Knoten 60, der die bedingte Busgewährung während des vorhergehenden Buszyklus empfangen hat. In einer bevorzugten Ausführung wird einem Knoten mit einer höheren Identifikations- oder Knotenzahl die höhere Priorität gegeben. Somit wird der Knoten mit der Identifikationszahl 14 zuerst ausgewählt, um eine bedingte Busgewährung zu empfangen, gefolgt von den Knoten mit den Identifikationszahlen 13, 12, usw . .
  • Ein Rundlaufalgorithmus kann durchgeführt werden, da es die Rückführung von den Latchen 150 der Prioritätsauswahl-Logikschaltung 146 erlaubt, in die Felder mit niedriger Priorität alle Busanforderungen von Knoten mit Identifikationen größer oder gleich der des Knotens zu setzen, an den die bedingte Busgewährung (Fig. 10, Signal B) vorher gesendet wurde. Nachdem der Bus 25 allen Knoten mit aktiven Anforderungen gewährt worden ist, ist das Feld mit hoher Priorität von allen Einträgen leer, und alle Anforderungen werden dann in das Feld mit hoher Priorität zurückgegeben. Dieser Algorithmus stellt sicher, daß alle Knoten in einer gegebenen Warteschlange, d. h. Antwortgeber oder Kommandogeber, Zugriff auf den Bus 25 erhalten werden, bevor irgendwelche anderen Knoten in der gleichen Warteschlange Zugriff für eine zweite Zeit erhalten.
  • Die Pegel der Eingangssignale auf den sechsundfünfzig Leitungen, die von den Prioritätscodierern 148 empfangen werden, bestimmen, welcher Knoten 60 ausgewählt wird, um die nächste bedingte Gewährung zu empfangen. In einem Beispiel gibt die Prioritätsauswahl-Logikschaltung 146 eine Antwortgeberanforderung von dem Knoten mit der Identifikationszahl 2 in das Feld mit hoher Priorität, eine Antwortgeberanforderung von dem Knoten mit der Identifikationszahl 14 in das Feld mit niedriger Priorität, eine Kommandogeberanforderung von dem Knoten mit der Identifikationszahl 3 in das Feld mit hoher Priorität und eine Kommandogeberanforderung von dem Knoten mit der Identifikationszahl 13 in das Feld mit niedriger Priorität. Während des laufenden Buszyklus wählen dann die Prioritätscodierer 148 nur eine der vierzehn Ausgangsleitungen aus, die dem Knoten entspricht, an den während des laufenden Buszyklus eine bedingte Gewährung gesendet wird. In diesem Beispiel wird der Antwortgeberanforderung von dem Knoten mit der Identifikationszahl 2 die höchste Priorität gegeben, und daher wird nur die Eingangsleitung zu Latchen 150 freigegeben, die dem Knoten mit der Identifikationszahl 2 entsprechen. Das Latch 150, das dem Knoten mit der Identifikationszahl 2 entspricht, wird gesetzt und steuert dann den entsprechenden Ausgangspuffer 152 an, um eine bedingte Busgewährung (Fig. 10, Signal B) an einen ausgewählten Knoten mit der Identifikationszahl 2 zu senden. Die Rückführung der vierzehn Leitungen von den Latchen 150 zur Prioritätsauswahl- Logikschaltung 146 wird dann aktualisiert, um zu reflektieren, daß der Knoten mit der Identifikationszahl 2 der letzte Knoten 60 war, um eine bedingte Gewährung zu empfangen, und daher gibt dann die Prioritätsauswahl-Logikschaltung 146 irgendwelche Busanforderungen von dem Knoten mit der Identifikationszahl 2 während des nächsten Buszyklus in das Feld mit niedriger Priorität. Somit hat dann eine Antwortgeberanforderung von irgendeinem Knoten 60, der nicht der Knoten mit den Identifikationszahlen 2 oder 14 ist, während des nächsten Buszyklus die höchste Priorität. Nimmt mehr als ein Antwortgeber mit einer Knotenidentifikation, die nicht 2 oder 14 ist, eine Anforderung nach dem nächsten Zyklus vor, so hat dann der Antwortgeber mit der höchsten Knotenidentifikation während des nächsten Buszyklus die höchste Priorität. Die Kommandogeberanforderungen erhalten die höchste Priorität nur, wenn keine Antwortgeberanforderungen vorhanden sind.
  • Der Zuteiler 28 der vorliegenden Erfindung kann außerdem eine Einrichtung umfassen, die auf die Aktivierung eines Buszyklus-Erweiterungssignals anspricht, um sicherzustellen, daß, während das Buszyklus-Erweiterungssignal aktiviert wird, der ausgewählte Knoten der gleiche wie der Knoten bleibt, an den die bedingte Busgewährung während des vorhergehenden Buszyklus gesendet wurde. Wie in Fig. 9 gezeigt, ist die Buszyklus-Erweiterungsleitung 120 mit den Latchen 150 verbunden. Zu Zeiten, wenn das Buszyklus-Erweiterungssignal während eines Buszyklus aktiviert wird, können die Ausgangssignale aus den Prioritätscodierern 148 nicht in die Latche 150 geladen werden. Daher bleibt dann der Inhalt der Latche 150 der gleiche, was bewirkt, daß die bedingte Busgewährung (Fig. 10, Signal B) in aufeinanderfolgenden Buszyklen an den gleichen ausgewählten Knoten 60 gesendet wird. Ähnlich bleibt die Rückführung an die Prioritätsauswahl-Logikschaltung 146 die gleiche. Dies verhindert, daß ein Knoten dem Feld mit niedriger Priorität zugeordnet wird, der nicht imstande war, Zugriff auf den Bus 25 zu erhalten, da ein anderer Knoten einen Mehrzyklus-Transfer ausgeführt hat.
  • In der bevorzugten Ausführungsform der Erfindung enthält die Buszyklus- Erweiterungsleitung 120 eine Verbindung mit einem verdrahteten ODER mit jedem Knoten aus der Vielzahl von Knoten 60. Jedesmal wenn ein Knoten ein Buszyklus-Erweiterungssignal aktiviert, empfängt es somit jeder der anderen Knoten, und es wird verhindert, daß er Zugriff auf den Bus 25 erhält, selbst wenn der Knoten eine bedingte Gewährung empfangen hat. Die Buszyklus- Erweiterungsleitung 120 ist eine Leitung mit offenem Drainanschluß und ist auf der Rückwandplatine des Systems 20 mit einem Paar Widerstandsteilern abgeschlossen, die jeder aus 126 Ohm nach einer +5-Volt-Versorgung und 500 Ohm nach Erde bestehen. Dies liefert einen Thevenin-äquivalenten Abschluß von ungefähr 50 Ohm, angeschlossen an +4 Volt. Die Buszyklus-Erweiterungsleitungen 120 sind außerdem am Treiber 134 (Fig. 7) mit einem Widerstand von etwa 20 Ohm serienabgeschlossen, was den Spitzenausgangsstrom und somit das Rauschen auf den Stromversorgungs- und Erdleitungen verringert und eine Impedanzanpassung zwischen dem Treiber 134 (mit einem 2 Ohm niedrigen Ausgangswiderstand) und der Rückwandplatine (Widerstand typischerweise 20-50 Ohm, je nach Belastung) liefert.
  • In der bevorzugten Ausführungsform der Erfindung gibt es mehrere Regeln für den Gebrauch des Buszyklus-Erweiterungssignals (Fig. 10, Signal E). Das Buszyklus-Erweiterungssignal wird nur dazu verwendet, Mehrzyklus-Transfers durchzuführen; es steht den Kommandogebern nicht zur Verfügung, um Mehrfach-Transaktionen einzuleiten. Der einzige Knoten 60, der das Buszyklus- Erweiterungssignal aktivieren kann, ist ein Knoten, der gegenwärtig Zugriff auf den Bus 25 hat. Durch Aktivierung seiner Buszyklus-Erweiterungsleitung garantiert ein Knoten 60, der gegenwärtig der Sender auf den Bus 25 ist, daß er unabhängig von der Priorität seines Busanforderungssignals (Signal A) im nächsten Buszyklus der Sender auf dem Bus 25 sein wird. Schließlich wird es vorzugsweise keinem Knoten 60 erlaubt, ein Buszyklus-Erweiterungssignal für mehr als vier aufeinanderfolgende Buszyklen zu aktivieren.
  • Das Ergebnis der vorliegenden Erfindung ist eine Verkürzung der Zuteilungs- und Systembuszyklus-Zeit, ohne daß zusätzliche Rückwandplatinen-Anschlußstifte benotigt werden. Bei dem Zuteilungsverfahren dieser Erfindung wählt der zentrale Zuteiler 28 einen bestimmten Knoten aus und gibt eine bedingte Gewährung aus. Diese Gewährung kann schneller ausgegeben werden, da sie gesendet wird, bevor eine Endentscheidung getroffen wird, ob der Zugriff auf den Bus 25 tatsächlich während des nächsten Buszyklus auf einen anderen Knoten übergehen wird. Jeder der Knoten 60 enthält eine Logikschaltung, die ein Buszyklus-Erweiterungssignal prüft, um zu bestimmen, ob die bedingte Gewährung vom zentralen Zuteiler 28 bewirkt, daß dieser Knoten ein Sender wird. Sobald ein Knoten ein Sender wird, erlaubt es ihm seine Logikschaltung, das Buszyklus-Erweiterungssignal zu aktivieren, um den Zugriff auf den Bus 25 zu Zeiten aufrechtzuerhalten, wenn der Knoten einen Mehrzyklus-Transfer ausführt. Die Erfindung garantiert somit, daß kein anderer Knoten Zugriff auf den Bus 25 erhält, bis der gegenwärtige Sender seinen Mehrzyklus-Transfer abgeschlossen hat.

Claims (12)

1. System zur Steuerung des Zugriffs auf einen Hängebus (25) durch eine Vielzahl von Knoten (60), die mit dem Hängebus verbunden sind, wobei jeder Knoten (60) ein Sender werden kann, um eine Meldung, die ein Kommando umfaßt oder Rücksendedaten umfaßt, während eines Zyklus oder mehrerer Zyklen des Busses auf dem Hängebus zu übertragen, wobei wenigstens ein Knoten ein Kommandogeberknoten werden kann, um durch Ausführung eines Kommandotransfers eine Transaktion auf dem Hängebus einzuleiten, wobei wenigstens ein Knoten ein Antwortgeberknoten werden kann, um als Antwort auf den Kommandotransfer durch Ausführung eines Rücksendedaten-Transfers die Transaktion auf dem Hängebus zu vervollständigen, und wobei die Knoten auf den Hängebus zugreifen können, nachdem der Kommandogeberknoten eine Transaktion eingeleitet hat und bevor der Antwortgeberknoten die Transaktion vervollständigt, wobei das System folgendes aufweist:
eine Vielzahl von Anforderungsleitungen (102, 104, 106, 108), die mit der Vielzahl von Knoten verbunden sind;
eine Kommandogeber-Busanforderungseinrichtung (110) in jedem Knoten (60), der ein Kommandogeberknoten werden kann, die mit einer entsprechenden Anforderungsleitung (102) verbunden ist, zum Erzeugen einer Kommandogeber- Busanforderung und Senden der Kommandogeber-Busanforderung auf der entsprechenden Anforderungsleitung (102) zu Zeiten, wenn ein Kommando von diesem Knoten (60) auf den Hängebus (25) zu übertragen ist,
eine Antwortgeber-Busanforderungseinrichtung (112) in jedem Knoten, der ein Antwortgeberknoten werden kann, die mit einer entsprechenden Anforderungsleitung (108) verbunden ist, zum Erzeugen einer Antwortgeber-Busanforderung und Senden der Antwortgeber-Busanforderung auf der entsprechenden Anforderungsleitung zu Zeiten, wenn Rücksendedaten von diesem Knoten auf den Hängebus zu übertragen sind;
eine Zuteilereinrichtung (28), die mit der Vielzahl von Anforderungsleitungen verbunden ist und die auf die Kommandogeber-Busanforderungen und auf die Antwortgeber-Busanforderungen anspricht, zum Senden einer bedingten Busgewährung an einen ausgewählten Knoten der Knoten, um der nächste Sender zu werden, wobei die Zuteilereinrichtung eine Einrichtung zum Auswählen eines Knotens, der eine Antwortgeber-Busanforderung erzeugt, vor dem Auswählen eines Knotens, der eine Kommandogeber-Busanforderung erzeugt, umfaßt;
eine Erweiterungsanforderungseinrichtung (111) in wenigstens einem Knoten, zur Erzeugung einer Erweiterungsanforderung zu Zeiten, wenn dieser Knoten mehr als einen Buszyklus benötigt, um eine Meldung zu übertragen;
eine Zykluserweiterungseinrichtung (122) in wenigstens einem Knoten, die mit der Erweiterungsanforderungseinrichtung (111) in diesem Knoten verbunden ist, zur Aktivierung eines Buszyklus-Erweiterungssignals, wenn der Knoten ein Sender wird, zu Zeiten, wenn die Erweiterungsanforderung für diesen Knoten vorhanden ist; und
eine Buszugriffseinrichtung (124) in jedem Knoten, zur Gewinnung von Kontrolle über den Hängebus, um diesen Knoten freizugeben, während eines Anfangszugriffszyklus ein Sender zu werden, als Antwort auf den Empfang einer bedingten Busgewährung, zu Zeiten, wenn ein Buszyklus-Erweiterungssignal nicht durch irgendeinen der anderen Knoten aktiviert wird, und zur Aufrechterhaltung von ausschließlicher Kontrolle über den Hängebus, um diesen Knoten freizugeben, während Buszyklen der Sender zu bleiben, die dem Anfangszugriffszyklus nachfolgen, zu Zeiten, wenn das Buszyklus-Erweiterungssignal durch diesen Knoten aktiviert wird.
2. System nach Anspruch 1, bei dem die Buszugriffseinrichtung (124) eine Einrichtung (74) zur Aktivierung eines Systembus-Treibfreigabesignals umfaßt, um diesen Knoten freizugeben, während eines Anfangszugriffszyklus die Kontrolle über den Hängebus (25) zu gewinnen, als Antwort auf den Empfang einer bedingten Busgewährung, zu Zeiten, wenn ein Buszyklus-Erweiterungssignal nicht durch irgendeinen der anderen Knoten aktiviert wird, und zur Aktivierung des Systembus-Treibfreigabesignals, um diesen Knoten freizugeben, während Buszyklen, die dem Anfangszugriffszyklus nachfolgen, zu Zeiten, wenn das Buszyklus-Erweiterungssignal durch diesen Knoten aktiviert wird, die ausschließliche Kontrolle über den Hängebus aufrechtzuerhalten.
3. System nach Anspruch 1 oder 2, das weiterhin folgendes aufweist:
eine Vielzahl von Gewährungsleitungen (114, 116), die mit der Vielzahl von Knoten (60) und mit der Zuteilereinrichtung (28) verbunden sind, zum Befördern der bedingten Busgewährung von der Zuteilereinrichtung an einen ausgewählten Knoten.
4. System nach Anspruch 3, bei dem:
jede Gewährungsleitung (114, 116) ausschließlich mit einem der Knoten verbunden ist.
5. System nach einem der Ansprüche 1 bis 4, bei dem:
die Kommandogeber-Busanforderungseinrichtung (110) synchron die Kommandogeber-Busanforderung sendet; und
die Antwortgeber-Busanforderungseinrichtung (112) synchron die Antwortgeber- Busanforderung sendet.
6. System nach einem der Ansprüche 1 bis 5, das weiterhin folgendes aufweist:
eine Buszyklus-Erweiterungsleitung (120), die mit der Buszyklus-Erweiterungseinrichtung (122) in jedem Knoten verbunden ist, zum Befördern des Buszyklus- Erweiterungssignals.
7. System nach Anspruch 6, bei dem:
die Buszyklus-Erweiterungsleitung (120) eine einzelne Leitung ist, die von allen Knoten gemeinsam benutzt wird.
8. System nach Anspruch 7, bei dem:
die gemeinsam benutzte Buszyklus-Erweiterungsleitung (120) durch eine Verbindung (140) mit einem verdrahteten ODER mit jedem Knoten verbunden ist.
9. System nach einem der Ansprüche 1 bis 8, bei dem:
die Zuteilereinrichtung eine Einrichtung zum Auswählen eines Knotens gemäß einem Rundlaufalgorithmus umfaßt.
10. System nach einem der Ansprüche 1 bis 9, bei dem:
die Vielzahl von Anforderungsleitungen (102, 104, 106, 108)
eine Vielzahl von Kommandogeber-Anforderungsleitungen (102, 106), die mit der Vielzahl von Knoten verbunden sind, und
eine Vielzahl von Antwortgeber-Anforderungsleitungen (104, 108) umfaßt, die mit der Vielzahl von Knoten verbunden sind;
die Kommandogeber-Busanforderungseinrichtung (110) in jedem Knoten, der ein Kommandogeberknoten werden kann, mit einer entsprechenden Kommandogeber-Anforderungsleitung (102) verbunden ist, zum Senden der Kommandogeber- Busanforderung auf der entsprechenden Kommandogeber-Anforderungsleitung;
die Antwortgeber-Busanforderungseinrichtung (112) in jedem Knoten, der ein Antwortgeberknoten werden kann, mit einer entsprechenden Antwortgeber- Anforderungsleitung (108) verbunden ist, zum Senden der Antwortgeber- Busanforderung auf der entsprechenden Antwortgeber-Anforderungsleitung; und
die Zuteilereinrichtung (28) mit der Vielzahl von Kommandogeber-Anforderungsleitungen (102, 106) und Antwortgeber-Anforderungsleitungen (104, 108) verbunden ist.
11. System nach Anspruch 10, bei dem:
jede Kommandogeber-Anforderungsleitung (102, 106) ausschließlich mit einem der Knoten verbunden ist; und
jede Antwortgeber-Anforderungsleitung (104, 108) ausschließlich mit einem der Knoten verbunden ist.
12. Verfahren, einem Knoten aus einer Vielzahl von Knoten (60) Zugriff auf einen Hängebus zu gewähren, um ein Sender zu werden, um Meldungen während eines Zyklus oder mehrerer Zyklen des Busses zu übertragen, wobei wenigstens ein Knoten ein Kommandogeberknoten werden kann, um durch Ausführung eines Kommandotransfers eine Transaktion auf dem Hängebus einzuleiten, wobei wenigstens ein Knoten ein Antwortgeberknoten werden kann, um durch Ausführung eines Rücksendedaten-Transfers die Transaktion auf dem Hängebus zu vervollständigen, und wobei die Knoten auf den Hängebus zu greifen können, nachdem der Kommandogeberknoten eine Transaktion eingeleitet hat und bevor der Antwortgeberknoten die Transaktion vervollständigt, wobei das Verfahren folgende Verfahrensschritte aufweist:
Erzeugen von Busanforderungen entsprechend jedem Knoten der Vielzahl von Knoten zu Zeiten, wenn eine Meldung von dem entsprechenden Knoten auf den Bus zu übertragen ist, wobei die Busanforderungen Kommandogeber- Busanforderungen und Antwortgeber-Busanforderungen umfassen;
als Antwort auf die Busanforderungen, Senden einer bedingten Busgewährung an einen ausgewählten Knoten der Knoten, um der nächste Sender zu werden, wobei die bedingte Busgewährung an einen Knoten gesendet wird, der eine Antwortgeber-Busanforderung erzeugt, bevor die bedingte Busgewährung an einen Knoten gesendet wird, der eine Kommandogeber-Busanforderung erzeugt;
Erzeugen einer Erweiterungsanforderung für jeden Knoten der Vielzahl von Knoten, der mehr als einen Zyklus benötigt, um eine Meldung zu übertragen, und Aufrechterhalten der Erweiterungsanforderung während nachfolgender Buszyklen;
Aktivieren eines Buszyklus-Erweiterungssignals während eines Anfangszugriffszyklus durch den Knoten, der während des Anfangszugriffszyklus der Sender wird, zu Zeiten, wenn die Erweiterungsanforderung für den Knoten vorhanden ist;
Aktivieren des Buszyklus-Erweiterungssignals während nachfolgender Buszyklen für den Knoten, der der Sender ist, zu Zeiten, wenn die Erweiterungsanforderung für den Knoten vorhanden ist;
Verhindern eines Zugriffs auf den Hängebus durch die übrigen Knoten, wenn dem Knoten, der der Sender wurde, Zugriff auf den Hängebus gewährt worden ist und dieser Knoten das Buszyklus-Erweiterungssignal aktiviert;
Aktivieren eines Systembus-Treibfreigabesignalpegels in dem ausgewählten Knoten während eines Anfangszugriffszyklus jedesmal, wenn das Buszyklus- Erweiterungssignal nicht aktiviert wird; und
Aktivieren des Systembus-Treibfreigabesignals in dem Knoten, der während Buszyklen der Sender ist, die dem Anfangszugriffszyklus nachfolgen, zu Zeiten, wenn das Buszyklus-Erweiterungssignal aktiviert wird.
DE3851534T 1987-05-01 1988-04-20 Vorrichtung und verfahren zur buszugriffssteuerung. Expired - Lifetime DE3851534T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/044,470 US4980854A (en) 1987-05-01 1987-05-01 Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
PCT/US1988/001262 WO1988008578A1 (en) 1987-05-01 1988-04-20 Apparatus and method for determining access to a bus

Publications (2)

Publication Number Publication Date
DE3851534D1 DE3851534D1 (de) 1994-10-20
DE3851534T2 true DE3851534T2 (de) 1995-04-20

Family

ID=21932564

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3851534T Expired - Lifetime DE3851534T2 (de) 1987-05-01 1988-04-20 Vorrichtung und verfahren zur buszugriffssteuerung.

Country Status (8)

Country Link
US (1) US4980854A (de)
EP (1) EP0370018B1 (de)
JP (1) JPH0782476B2 (de)
KR (1) KR910007644B1 (de)
AU (1) AU604907B2 (de)
CA (1) CA1306550C (de)
DE (1) DE3851534T2 (de)
WO (1) WO1988008578A1 (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2570845B2 (ja) * 1988-05-27 1997-01-16 セイコーエプソン株式会社 情報処理装置
CA2021826A1 (en) * 1989-10-23 1991-04-24 Darryl Edmond Judice Delay logic for preventing cpu lockout from bus ownership
US5293493A (en) * 1989-10-27 1994-03-08 International Business Machines Corporation Preemption control for central processor with cache
AU645785B2 (en) * 1990-01-05 1994-01-27 Maspar Computer Corporation Parallel processor memory system
US5301333A (en) * 1990-06-14 1994-04-05 Bell Communications Research, Inc. Tree structured variable priority arbitration implementing a round-robin scheduling policy
JP2855298B2 (ja) * 1990-12-21 1999-02-10 インテル・コーポレーション 割込み要求の仲裁方法およびマルチプロセッサシステム
US5613128A (en) * 1990-12-21 1997-03-18 Intel Corporation Programmable multi-processor interrupt controller system with a processor integrated local interrupt controller
US5495615A (en) * 1990-12-21 1996-02-27 Intel Corp Multiprocessor interrupt controller with remote reading of interrupt control registers
US5191656A (en) * 1991-08-29 1993-03-02 Digital Equipment Corporation Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters
US5454082A (en) * 1991-09-18 1995-09-26 Ncr Corporation System for preventing an unselected controller from transferring data via a first bus while concurrently permitting it to transfer data via a second bus
US5301282A (en) * 1991-10-15 1994-04-05 International Business Machines Corp. Controlling bus allocation using arbitration hold
US5371893A (en) * 1991-12-27 1994-12-06 International Business Machines Corporation Look-ahead priority arbitration system and method
CA2080608A1 (en) * 1992-01-02 1993-07-03 Nader Amini Bus control logic for computer system having dual bus architecture
US5420985A (en) * 1992-07-28 1995-05-30 Texas Instruments Inc. Bus arbiter system and method utilizing hardware and software which is capable of operation in distributed mode or central mode
US5553310A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems
US5553248A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5574868A (en) * 1993-05-14 1996-11-12 Intel Corporation Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
SG67906A1 (en) * 1993-12-16 1999-10-19 Intel Corp Multiple programmable interrupt controllers in a multi-processor system
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization
EP0665501A1 (de) * 1994-01-28 1995-08-02 Compaq Computer Corporation Bus-Master-Arbitrierungsschaltung mit Wiederholungsmechanismus
US5758106A (en) * 1994-06-30 1998-05-26 Digital Equipment Corporation Arbitration unit which requests control of the system bus prior to determining whether such control is required
US6256694B1 (en) * 1994-06-30 2001-07-03 Compaq Computer Corporation Distributed early arbitration
SE515316C2 (sv) * 1994-09-13 2001-07-16 Ericsson Telefon Ab L M Förfarande och anordning för att styra ett datanät
US5524235A (en) * 1994-10-14 1996-06-04 Compaq Computer Corporation System for arbitrating access to memory with dynamic priority assignment
US5625824A (en) * 1995-03-03 1997-04-29 Compaq Computer Corporation Circuit for selectively preventing a microprocessor from posting write cycles
US5596729A (en) * 1995-03-03 1997-01-21 Compaq Computer Corporation First arbiter coupled to a first bus receiving requests from devices coupled to a second bus and controlled by a second arbiter on said second bus
US5923859A (en) * 1995-04-13 1999-07-13 Compaq Computer Corporation Dual arbiters for arbitrating access to a first and second bus in a computer system having bus masters on each bus
US5701422A (en) * 1995-12-13 1997-12-23 Ncr Corporation Method for ensuring cycle ordering requirements within a hierarchical bus system including split-transaction buses
US5671369A (en) * 1995-12-22 1997-09-23 Unisys Corporation Bus grant overlap circuit
US5732226A (en) * 1996-04-08 1998-03-24 Vlsi Technology, Inc. Apparatus for granting either a CPU data bus or a memory data bus or a memory data bus access to a PCI bus
US5954809A (en) * 1996-07-19 1999-09-21 Compaq Computer Corporation Circuit for handling distributed arbitration in a computer system having multiple arbiters
US6012117A (en) * 1997-03-14 2000-01-04 Intel Corporation Methods and apparatus for arbitrating and controlling arbitration for access to a serial bus
US7197589B1 (en) * 1999-05-21 2007-03-27 Silicon Graphics, Inc. System and method for providing access to a bus

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2056894A1 (de) * 1969-07-31 1971-05-07 Cii
US3665412A (en) * 1970-07-20 1972-05-23 Informalique Comp Int Numerical data multi-processor system
US4030075A (en) * 1975-06-30 1977-06-14 Honeywell Information Systems, Inc. Data processing system having distributed priority network
US4161786A (en) * 1978-02-27 1979-07-17 The Mitre Corporation Digital bus communications system
US4232366A (en) * 1978-10-25 1980-11-04 Digital Equipment Corporation Bus for a data processing system with overlapped sequences
US4229791A (en) * 1978-10-25 1980-10-21 Digital Equipment Corporation Distributed arbitration circuitry for data processing system
JPS5672753A (en) * 1979-11-20 1981-06-17 Casio Comput Co Ltd Selective processor for occupation of common bus line
JPS5672752A (en) * 1979-11-20 1981-06-17 Casio Comput Co Ltd Controller for occupation of common bus line
JPS56159750A (en) * 1980-05-14 1981-12-09 Toshiba Corp Bus control system
US4375639A (en) * 1981-01-12 1983-03-01 Harris Corporation Synchronous bus arbiter
US4471481A (en) * 1981-02-11 1984-09-11 The Boeing Company Autonomous terminal data communications system
US4456956A (en) * 1981-08-24 1984-06-26 Data General Corp. Method and apparatus for controlling access of a network transmission bus between a plurality of spaced apart computer stations
US4423384A (en) * 1981-12-21 1983-12-27 Motorola, Inc. Asynchronous multi-port arbiter
JPS58119247A (ja) * 1982-01-08 1983-07-15 Hitachi Ltd デ−タ通信方式
US4473880A (en) * 1982-01-26 1984-09-25 Intel Corporation Arbitration means for controlling access to a bus shared by a number of modules
US4560985B1 (en) * 1982-05-07 1994-04-12 Digital Equipment Corp Dual-count, round-robin ditributed arbitration technique for serial buses
US4476467A (en) * 1982-06-08 1984-10-09 Cromemco Inc. Random entry intercomputer network with collision prevention
US4514843A (en) * 1982-12-02 1985-04-30 At&T Bell Laboratories Packet switched communication system comprising collision avoidance means
JPS59106021A (ja) * 1982-12-10 1984-06-19 Oki Electric Ind Co Ltd バス構成方式
JPS59111561A (ja) * 1982-12-17 1984-06-27 Hitachi Ltd 複合プロセツサ・システムのアクセス制御方式
US4644496A (en) * 1983-01-11 1987-02-17 Iowa State University Research Foundation, Inc. Apparatus, methods, and systems for computer information transfer
JPS59177628A (ja) * 1983-03-28 1984-10-08 Nec Corp バス制御回路
US4660169A (en) * 1983-07-05 1987-04-21 International Business Machines Corporation Access control to a shared resource in an asynchronous system
US4626843A (en) * 1983-09-27 1986-12-02 Trw Inc. Multi-master communication bus system with parallel bus request arbitration
US4628311A (en) * 1983-10-19 1986-12-09 International Business Machines Corporation Carrier sense multiple access with collision avoidance utilizing rotating time staggered access windows
US4622630A (en) * 1983-10-28 1986-11-11 Data General Corporation Data processing system having unique bus control protocol
US4646232A (en) * 1984-01-03 1987-02-24 Texas Instruments Incorporated Microprocessor with integrated CPU, RAM, timer, bus arbiter data for communication system
US4652873A (en) * 1984-01-18 1987-03-24 The Babcock & Wilcox Company Access control for a plurality of modules to a common bus
US4644348A (en) * 1984-11-13 1987-02-17 Itt Corporation Apparatus for providing masterless collision detection
US4638311A (en) * 1984-11-13 1987-01-20 Itt Corporation Apparatus for providing masterless collision detection
US4703420A (en) * 1985-02-28 1987-10-27 International Business Machines Corporation System for arbitrating use of I/O bus by co-processor and higher priority I/O units in which co-processor automatically request bus access in anticipation of need
US4730268A (en) * 1985-04-30 1988-03-08 Texas Instruments Incorporated Distributed bus arbitration for a multiprocessor system

Also Published As

Publication number Publication date
EP0370018A1 (de) 1990-05-30
DE3851534D1 (de) 1994-10-20
JPH01502623A (ja) 1989-09-07
AU1707988A (en) 1988-12-02
US4980854A (en) 1990-12-25
EP0370018B1 (de) 1994-09-14
JPH0782476B2 (ja) 1995-09-06
CA1306550C (en) 1992-08-18
AU604907B2 (en) 1991-01-03
KR910007644B1 (ko) 1991-09-28
KR890702139A (ko) 1989-12-23
WO1988008578A1 (en) 1988-11-03

Similar Documents

Publication Publication Date Title
DE3851534T2 (de) Vorrichtung und verfahren zur buszugriffssteuerung.
DE3850387T2 (de) Vorrichtung und verfahren zum zugriff eines knotens auf einen bus.
DE3882977T2 (de) Verfahren und anordnung zur implementierung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE3882989T2 (de) Verfahren und anordnung zur verwaltung von mehrverriegelungsanzeigen in einem multiprozessordatenverarbeitungssystem.
DE3883532T2 (de) Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus.
DE68922784T2 (de) Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE3888353T2 (de) Unterbrechungsknoten zum vorsehen von unterbrechungsanforderungen auf einem anstehenden bus.
DE3788805T2 (de) Prioritaetstechnik für einen zerteilten transaktionsbus in einem multiprozessorrechnersystem.
DE3882991T2 (de) Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus".
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE3689198T2 (de) Systembus für Kommunikation zwischen Prozessoren.
DE3878908T2 (de) Hochgeschwindigkeitsbusschnittstelle mit einer niedrigen pinanzahl.
DE3882988T2 (de) Verfahren und anordnung zur einleitung von vorgängen in einem multiprozessordatenverarbeitungssystem mit verwendung von mehrverriegelungsanzeigen.
DE3853574T2 (de) Steuerung von Benutzerantworten in einem Übertragungsbus.
DE3887886T2 (de) Verfahren und anordnung zur sicherung von angepasstem zugriff zu betriebsmitteln in einem multiprozessordatenverarbeitungssystem.
DE69021603T2 (de) Buszugriffsarbitrierung in digitalen Rechnern.
DE3751091T2 (de) Übertragungsprotokoll zwischen Prozessoren.
DE2854485C2 (de) Datenverarbeitungsanlage
DE3750680T2 (de) Multiprozessor-Busprotokoll.
DE69634182T2 (de) Direktspeicherzugriffssteuerung mit programmierbarer Zeitsteuerung
DE69531933T2 (de) Busarchitektur in hochgradiger pipeline-ausführung
DE3850585T2 (de) Datenverarbeitungssystem mit Überlappung von Buszyklusoperationen.
DE69834519T2 (de) Bussteuerungssystem und -verfahren
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE69108434T2 (de) Mehrgruppen-Signalprozessor.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Free format text: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER, 80538 MUENCHEN