DE69223304T2 - Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus - Google Patents
Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten BusInfo
- Publication number
- DE69223304T2 DE69223304T2 DE69223304T DE69223304T DE69223304T2 DE 69223304 T2 DE69223304 T2 DE 69223304T2 DE 69223304 T DE69223304 T DE 69223304T DE 69223304 T DE69223304 T DE 69223304T DE 69223304 T2 DE69223304 T2 DE 69223304T2
- Authority
- DE
- Germany
- Prior art keywords
- bus
- target slave
- interface
- master
- bus interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/17—Interprocessor communication using an input/output type connection, e.g. channel, I/O port
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
Description
- Die vorliegende Erfindung steht in Beziehung zu den folgenden parallel anhängigen europäischen Patentanmeldungen: EP-A-0 535 820 mit dem Titel "Verfahren und Einrichtungen für ein Register, das einen Einzelbitzugriff zum Setzen und Löschen von individuellen Bits von gemeinsam genutzten Registern ohne eine gegenseitige Software-Verriegelung zuläßt"; EP-A-0 534 662 mit dem Titel "Eine Bus-zu-Bus- Schnittstelle zum Verhindern von Dateninkohärenz in einem Multiprozessor-Computersystem"; EP-A-0 535 821 mit dem Titel "Verfahren und Einrichtungen zum dynamischen Lenken von ungerichteten Interrupts"; und EP-A-0 537 899 mit dem Titel "Eine Bus-zuweisungsentscheidungs-Architektur mit Blockade- Detektion und -Maskierung".
- Die vorliegende Erfindung bezieht sich allgemein auf Multibus-Multiprozessor-Computersysteme. Insbesondere bezieht sich die vorliegende Erfindung auf Bus-zuweisungsentscheidungen, bei denen eine unteilbare Sequenz von Schritten auf einem vom zugreifenden Master entfernten Bus arbeitenden Gerät bewahrt werden kann, obwohl dazwischen angeordnete Busse vor Abschluß der unteilbaren Sequenz von Schritten freigegeben werden können.
- Computersysteme verwenden häufig bidirektionale Datenpfade, die allgemein als Busse bekannt sind. Busse erlauben das Verbinden von verschiedenen internen und externen Peripheriegeräten, so daß die Geräte miteinander kommunizieren können. In größeren oder komplexeren Computersystemen können auch mehrere Busse verwendet werden, um eine große Anzahl von Geräten miteinander zu verbinden, einschließlich mehr als einem Prozessor. Die mit einem Bus verbundenen Geräte werden allgemein "Master" oder "Slave" genannt, was davon abhängt, ob das Gerät ein anderes Gerät steuert oder von einem anderen Gerät gesteuert wird. In Computersystemen mit mehreren Bussen muß ein Mechanismus zur Verfügung stehen, um festzustellen, welchem Gerät es erlaubt wird, auf einen Bus zuzugreifen und ihn zu steuern und welches Gerät die Priorität gegenüber einem anderen Gerät genießt. Der Mechanismus, der den Zugriff eines Masters auf einen Bus und damit auf ein Slave-Gerät, das mit dem Bus verbunden ist, steuert, ist allgemein als Bus-Zuweisungsentscheidung (Bus-Arbitration) bekannt. Zuweisungsentscheidungen können entweder in Hardware oder in Software realisiert werden und ermöglichen es mehreren Mastern, eine einzelne Ressource gemeinsam zu nutzen. Die Bus-Zuweisung erfolgt im allgemeinen mit Hilfe eines in Hardware implementierten Zuteilungsentscheiders (Arbiter), der Zugriffsanforderung auf einen Bus von all denjenigen Mastergeräten annimmt, die mit dem Bus verbunden sind. Der Zuweisungsentscheider verwendet irgendeinen Algorithmus, wie z.B. einen mit fest zugewiesenen Prioritäten oder einen zyklischen Algorithmus, um festzulegen, welchem anfordernden Master der nächste verfügbare Zugriffszyklus zum Benutzen eines bestimmten Busses erlaubt wird.
- Manchmal muß ein Master den Besitz und die Steuerung eines Busses für eine unteilbare Anzahl von Transaktionen beibehalten und dabei andere Master davon abhalten, auf den Bus zuzugreifen und diesen zu benutzen, solange die unteilbare Sequenz von Schritten nicht abgeschlossen ist. Die unteilbare Sequenz von Schritten oder Transaktionen wird gewöhnlich als "atomische" (unteilbare) oder "gesperrte" Sequenz bezeichnet. Unteilbare Sequenzen werden häufig dazu verwendet sicherzustellen, daß Schritte oder Transaktionen, die hintereinander ausgeführt werden müssen, tatsächlich ohne eine Unterbrechung durch andere auf den Bus zugreifende Master hintereinander ausgeführt werden. Bei Software-Sema phoren beispielsweise wird der Besitz des Semaphors durch einen Master durch Lesen des Inhalts eines Speicherorts, Überprüfen dieses Wert und ein Zurückschreiben eines geänderten Inhalts in diesen Speicherort erreicht. Der Besitz eines Semaphors könnte zunichte gemacht werden, wenn es einem anderen Masters erlaubt wäre, vom gleichen Speicherort zu lesen und zu versuchen, den vom ersten, den Semaphor anlegenden Master erlangten Semaphor zu erlangen. Die unteilbare oder gesperrte Sequenz von Schritten erlaubt es somit einem den Besitz einer Verriegelung behauptenden Master, auf das die Verriegelungsfunktion ausführende Register zuzugreifen und dieses zu steuern, während ein Zugriff auf dieses Register auf einen anderen Master ausgeschlossen wird.
- Unteilbare Sequenzen werden durch einen Mechanismus implementiert, bei dem der Zuweisungsentscheider derart gesperrt wird, daß einem Master auf eine Anforderung hin kein sofortiger Zugriff auf den Bus zugeteilt wird. Zuteilungsentscheidungen können auf zwei Arten gesperrt werden. Bei der ersten Art erkennt der Zuteilungsentscheider, daß ein Zugriff auf den Bus eine unteilbare Sequenz enthalten wird, woraufhin der Zuweisungsentscheider den Bus keinem anderen Master überläßt. Die zweite Art der Zugriffsverriegelung für einen Zuweisungsentscheider besteht darin, den Bus dem zugreifenden Master zuzuteilen, wobei aber der aktuell steuernde Master ein Signal anlegt, das anzeigt, daß der Bus belegt ist, und wobei tatsächlich kein anderer zugreifender Master den Bus steuern kann, bis der steuernde Master dieses Signal freigibt. Im zweiten Fall muß der Master, der die neue Bus-Zugriffszuteilung erhält, warten, bis das Bus-belegt-Signal des aktuellen Masters gelöscht ist. Nach Löschen des Bus-belegt-Signals kann der zugreifende Master die Steuerung des Busses übernehmen. Sowohl im ersten als auch im zweiten Fall muß ein zugreifender Master warten, bis der aktuell steuernde Master seine Transaktionen auf dem Bus beendet und anschließend seine Steuerung des Busses löst und das Bus-belegt-Signal löscht. Dauert die aktuelle Master- Transaktion lange, muß der zugreifende Master warten, wodurch die Gesamtleistung des Computersystems verschlechtert wird.
- Wie in den folgenden Abschnitten noch genauer beschrieben wird, beschreibt die vorliegende Erfindung Verfahren und Schaltungen, um ein Sperren von Zugriffsentscheidungen derart zu ermöglichen, daß unteilbare Sequenzen auf einem entfernten Bus ausgeführt werden können, ohne daß zwischengeschaltete oder dazwischenliegende Busse für einen eine solche unteilbare Sequenz versuchenden Master gesperrt bleiben müssen, wodurch die Leistung des Systems verbessert wird. Darüber hinaus ermöglicht es die vorliegende Erfindung, solche unteilbaren Sequenzen auf einem entfernten Bus auszuführen, ohne Gefahr zu laufen, die unteilbare Sequenz zu beeinträchtigen. Indem sichergestellt wird, daß unteilbare Sequenzen, die für einen entfernten Bus bestimmt sind, sicher bleiben, wird die Daten- und Signalkohärenz zwischen Masterund Slave-Einrichtungen, die auf unterschiedlichen Bussen arbeiten, erhalten.
- Die Erfindung wird in den Ansprüchen 1 und 12 angegeben Spezielle Ausführungsbeispiele der Erfindung werden in den abhängigen Ansprüchen angegeben.
- Es werden Verfahren und Vorrichtungen zum Sperren von Zuweisungsentscheidungen für eine Bewahrung von unteilbaren Sequenzen auf entfernten Bussen offenbart. Mehrere-Bus-zu- Bus-Schnittstellen enthalten Mittel zum Übersetzen von Protokollen und zum Weiterreichen von unteilbaren Transaktionen über irgendeine Anzahl von zwischengeschalteten Bussen, bis der Ziel-Bus erreicht ist, und zum Bewahren der Unteilbarkeit auf dem Ziel-Bus oder -Gerät selbst dann, wenn zwischengeschaltete Busse freigegeben werden. Beim gegenwärtig bevorzugten Ausführungsbeispiel gibt der Master auf dem ersten Bus einen Zugriffsbefehl zusammen mit einem Signal aus, das anzeigt, daß die Transaktion der Anfang einer unteilbaren Sequenz ist. Eine erste Bus-zu-Bus-Schnittstelle beginnt dann eine Transaktion auf dem zweiten Bus und, so bald sie Besitz und Steuerung des zweiten Busses erlangt hat, übermittelt sie die Transaktion an die zweite Bus-zu- Bus-Schnittstelle. Der an die zweite Bus-zu-Bus-Schnittstelle übergebend Zugriffsbefehl enthält außerdem ein Signal, das die Transaktion als Beginn einer unteilbaren Sequenz kennzeichnet. Zusätzlich wird ein Signal an die zweite Bus-zu-Bus-Schnittstelle übermittelt, um die Zuweisungsentscheidung auf einem dritten Ziel-Bus zu sperren. Die zweite Bus-zu-Bus-Schnittstelle wird, falls der Zugriff auf den dritten Bus von längerer Dauer ist, dem zwischengeschalteten zweiten Bus befehlen, "sich zu lösen und es später erneut zu versuchen". Die erste Bus-zu-Bus-Schnittstelle reicht dann das "Löse- und -Neuversuchts"-Signal an den ersten Bus weiter, was den Master dazu bringt, den ersten Bus freizugeben und es später erneut zu versuchen. Dauert der Zugriff auf den dritten Ziel-Bus nur kurz, so wird kein solches Löse-und-Neuversuchs-Signal an den zweiten Bus gesendet. Nach Empfangen der Zugriffsanforderung an den dritten Bus gibt die Bus-zu-Bus-Schnittstelle die Transaktionsanforderung an ein Zielgerät aus, das auf dem Ziel-Bus arbeitet, und sperrt außerdem die Zuweisungsentscheidungen bzgl. des dritten Ziel-Busses. In den Fällen, in denen die zweite Bus-zu-Bus- Schnittstelle ein Lösen-und-Neuversuchs-Signal ausgegeben hat, können der erste und zweite Bus zusammen mit an diesen Bussen betriebenen Mastern die Verwendung dieser Busse oder der an ihm betriebenen Slaves anfordern. Die Inituerung einer für den entfernten dritten Bus bestimmten unteilbaren Sequenz veranlaßt den Zuteilungsentscheider in der zweiten Bus-zu-Bus-Schnittstelle gesperrt zu bleiben, bis der zugreifende, die unteilbare Sequenz beaufschlagende Master, den Besitz des entfernten Busses erlangt hat, erneut mit dem am Zielbus betriebenen Ziel-Gerät verbunden ist und die für den zugreifenden Master bestimmten Daten erlangt hat. Ist der Zugriff eines Masters auf ein Ziel-Gerät auf einem entfernten Bus die letzte Aktion in einer unteilbaren Sequenz, so gibt der zugreifende Master einen "Freigabe-der-Zuweisungsentscheidung"-Befehl zusammen mit der Transaktion aus. Ist die letzte Operation mit dem Ziel- Gerät abgeschlossen, so gibt die zweite Bus-zu-Bus-Schnittstelle ihren internen Zuweisungsentscheider, der den dritten Bus sperrt, frei und reicht den Abgeschlossen-Status über den zweiten und ersten Bus an den zugreifenden Master zurück. Infolgedessen wird die Unteilbarkeit auf einem entfernten Bus und Gerät selbst dann aufrechterhalten, wenn zwischengeschaltete Busse freigegeben werden und auf ihnen Transaktionen ausgeführt werden, die nicht Teil einer un teilbaren Sequenz sind.
- Die Aufgaben, Eigenschaften und Vorteile der vorliegenden Erfindung werden in der folgenden detaillierten Beschreibung deutlich, in der:
- Fig. 1 eine Blockdarstellung von mehreren Bus-zu-Bus- Schnittstellen veranschaulicht, die das Sperren von Zuweisungsentscheidungen auf entfernten Bussen implementieren.
- Fig. 2 die internen Aspekte einer Bus-zu-Bus-Schnittstelle in Form einer Blockdarstellung zeigt.
- Fig. 3a-e ein Ablaufdiagramm des offenbarten Verfahrens zum Sperren der Zuweisungsentscheidungen auf entfernten Bussen zeigen.
- Fig. 4a-4j eine beispielhafte unteilbare Zugriffs-Operation zeigen, bei der ein zwischengeschalteter Bus freigesetzt wird.
- Verfahren und Vorrichtungen zum Sperren von Zuweisungsentscheidungen auf entfernten Bussen zum Bewahren von unteilbaren Sequenzen werden offenbart. In der folgenden Beschreibung werden zum Zwecke der Erläuterung spezielle Anzahlen, Zeiten, Signale etc. beschrieben, um ein gründliches Verständnis der vorliegenden Erfindung zu ermöglichen. Dem Fachmann ist jedoch klar, daß die vorliegende Erfindung auch ohne diese speziellen Details ausgeführt werden kann. An anderen Stellen werden wohlbekannte Schaltungen und Einrichtungen in Blockdarstellungsform gezeigt, um die vorliegende Erfindung nicht unnötig zu verdunkeln.
- In der folgenden Beschreibung wird auf Bus-zu-Bus- Schnittstellen Bezug genommen, die dazu verwendet werden, den Zugriff von an einem Bus arbeitenden Mastern auf an diesem oder einem anderen Bus arbeitenden Slaves zu steuern. Obwohl Bus-zu-Bus-Schnittstellen von jeder allgemein bekannten Bauart sein können, besteht speziell die Absicht, daß die Bus-zu-Bus-Schnittstelle, die in der ebenfalls anhängigen Anmeldung EP-A-0 534 662 mit dem Titel "Bus-zu-Bus- Schnittstelle zum Verhindern von Dateninkohärenz in einem Multiprozessor-Computersystem" beschrieben ist, im bevorzugten Ausführungsbeispiel der vorliegenden Erfindung verwendet wird. Die oben genannte Bus-zu-Bus-Schnittstelle ist mit einer internen Bus-Protokoll-Konversionshardware konfiguriert, und implementiert eine Hardware-Zuweisungsentscheidungs-Methodologie. Repräsentative Beispiele der zur Verwendung mit der vorliegenden Erfindung vorgesehenen Bus-zu-Bus- Schnittstelle werden von Sun Microsystems, Inc., Mountain View, Kalifornien, hergestellt und verbinden den Sun-Microsystems-MBus, -SBus und kommerzielle VMEBus-Standard-Datenpfad-Systeme.
- Im folgenden wird auf Fig. 1 Bezug genommen, die eine Blockdarstellung der die vorliegende Erfindung implementie renden Bus-zu-Bus-Schnittstellen zeigt. In Fig. 1 verbindet ein erster Bus, der Bus M, mehrere Master und Slaves. Ein zweiter Bus, der Bus S, verbindet eine Anzahl von Slave-Einrichtungen. Eine erste Bus-Schnittstelle 10 verbindet den Bus M und den Bus S und dient dazu, Bus-Protokolle vom Bus M zum Bus S sowie vom Bus S zum Bus M zu übersetzen. Die Buszu-Bus-Schnittstelle 10 enthält außerdem Master-Slave-Verzeichnis-Hardware, um den auf dem Bus S arbeitenden Slaves die Identifikation der auf dem Bus M arbeitenden Master zu erlauben, wie es genauer in der oben zitierten, parallel anhängigen Anmeldung EP-A-0 534 661 beschrieben ist, die den Titel trägt "Eine Bus-zu-Bus-Schnittstelle zum Verhindern von Dateninkohärenz in einem Multi-Prozessor-Computersystem". In Fig. 1 ist außerdem ein dritter Bus gezeigt, der Bus V, der dazu dient, eine Anzahl von Mastern und Slaves zu verbinden, die auf dem Bus V arbeiten. Die Busse S und V werden von einer zweiten Bus-zu-Bus Schnittstelle 20 verbunden, die ebenfalls Bus-Protokoll-Konvertierungshardware für die Kommunikation zwischen dem Bus S und dem Bus V sowie Bus-S-Zugriffs-Erkennungs-Hardware enthält. Da Bus-Zuwei sungsentscheidungen allgemein bekannt sind, werden diesbezüglich in der vorliegenden Beschreibung keine speziellen Details beschrieben. Für detaillierte Informationen über Bus-Zuweisungsentscheidungen möge der Leser bei F. Briggs und K. Hwang, Computer Architecture and Parallel Processing (1984) nachlesen.
- Die Bus-zu-Bus-Schnittstellen 10 und 20 enthalten außerdem die "Freigabe-und-Neuversuchs"-Merkmale, die in der parallel anhängigen Anmeldung EP-A-0 534 662 beschrieben sind. Kurz gesagt, erlauben es die "Freigabe-und-Neuversuchs"-Eigenschaften, die auch als RERUN and RERUN-ACKNOWLEDGE (Neuversuch-Bestätigung) bekannt sind, den Bus-zu-Bus-Schnittstellen 10 und 20, zugreifenden Mastern und Bussen, wenn ein Ziel-Gerät gegenwärtig besetzt ist und zum gegenwärtigen Zeitpunkt für einen Zugriff nicht verfügbar ist, zu befehlen, den Bus freizugeben und den Zugriff später erneut zu versuchen. RERUN und RERUN-ACKNOWLEDGE erlauben es zugreifenden Mastern, zwischengeschaltete Busse freizugeben, so daß die Gesamtleistung des Systems bis zum Abschluß einer Aufgabe mit langer Wartezeit nicht verschlechtert wird. Die Technik des Zugreifens auf einen Slave durch einen Master, gefolgt vom Trennen des Masters bei noch ausstehendem Abschluß durch den Slave mit einem anschließenden erneuten Verbinden des Masters mit dem Slave, um die Daten vom Slave zu gewinnen, wird häufig als "split cycle" (geteilter Zyklus) bezeichnet.
- Jedem Bus in Fig. 1, wenn auf ihn als Slave von einem anderen Bus aus zugegriffen wird, sowie jedem an einem Bus betriebenen Slave wird eine spezielle Adresse oder Bereich von Adressen zugeordnet. Die Identifikation von Einrichtun gen mittels eines Adreßraums ist in der Technik wohl bekannt und wird hier nicht weiter beschrieben. Wenn ein an einem Bus betriebender Master versucht, auf einen an diesem oder einem anderen, entfernten Bus betriebenen Slave zuzugreifen, so gibt der Master ein Zugriffskommando aus, das die Adresse der Ziel-Einrichtung oder des Ziel-Busses enthält. Zusätzlich kann der zugreifende Master ein "SPERRE ZUWEISUNGSENTSCHEIDUNG"-Signal ausgeben, das während der Adressierphase zu demjenigen Bus gesendet wird, mit dem die Ziel-Einrichtung verbunden ist, wobei das Signal anzeigt, daß die folgende Instruktion der Anfang einer unteilbaren oder gesperrten Sequenz von Operationen ist. Im gegenwärtig bevorzugten Ausführungsbeispiel wird das SPERRE-ZUWEISUNGS- ENTSCHEIDUNG-Signal über einen privaten Draht 12 zwischen der ersten Bus-zu-Bus-Schnittstelle 10 und der zweiten Buszu-Bus-Schnittstelle 20 gesendet. Das SPERRE-ZUWEISUNGSENT SCHEIDUNGS-Signal könnte jedoch ebensogut über irgendeine gemeinsam genutzte Datenpfad-Signalleitung innerhalb der Systembusse übermittelt werden, vorausgesetzt, daß das speziell verwendete Busprotokoll ein Signal unterstützt. Das SPERRE-ZUWEISUNGSENTSCHEIDUNG-Signal befiehlt der Bus-zu- Bus-Schnittstelle 20, ihren Zuweisungsentscheider zu sperren, oder, falls diese keinen Zuweisungsentscheider enthält, einen BUS-BELEGT-("BBSY" - bus busy)-Signal aufrechtzuhalten, sobald der Besitz des Busses V erlangt ist. SPERRE-ZU- WEISUNGSENTSCHEIDUNG wird während des von der Bus-zu-Bus- Schnittstelle 10 ausgegebenen Adreßzyklus beim Zugreifen auf die Bus-zu-Bus-Schnittstelle 20 angelegt. Weiterhin wird beim gegenwärtig bevorzugten Ausführungsbeispiel das auf den Bus M ausgegebene SPERRE-ZUWEISUNGSENTSCHEIDUNG-Signal während jeder Transaktion einer unteilbaren Sequenz angelegt, statt bei jeder Transaktion außer der letzten. Normalerweise würde ein Master das Ende einer unteilbaren Sequenz durch Nichtsenden eines "SPERRE-ZUWEISUNGSENTSCHEIDUNG"-Signals mit dem letzten Befehl der unteilbaren Sequenz signalisieren. Speziell beim Sun Microsystems M-Bus wird das SPERRE- ZUWEISUNGSENTSCHEIDUNG-Signal jedoch für alle Transaktionen einschließlich der letzten angelegt. Das bevorzugte Ausführungsbeispiel beschränkt unteilbare Sequenzen auf von Schreiboperationen gefolgten Leseoperationen. Daher wird eine mit einem SPERRE-ZUWEISUNGSENTSCHEIDUNG-Kommando ausgegebene LESE-Operation den Zuweisungsentscheider zum Sperren veranlassen. Analog wird eine SCHREIBE-Operation mit SPERRE- ZUWEISUNGSENTSCHEIDUNG als Kommando zur FREIGABE-DER-ZUWEISUNGSENTSCHEIDUNG auf dem letzten Ziel-Bus (Bus V in diesem Fall) nach Abschluß der SCHREIBE-Operation erkannt. Die Bus-zu-Bus-Schnittstelle 10 gibt dann den Bus-M-Zuweisungsentscheider frei, wodurch der Bus M für andere Master verfügbar wird. Zusätzlich enthalten alle Transaktionsanfragen Signale für die Adresse, den Transaktionstyp, die Transaktionsgröße und Daten (falls sie für eine SCHREIBE-Operation benötigt werden).
- Im folgenden wird auf Fig. 2 Bezug genommen, in der eine Blockdarstellung der Bus-zu-Bus-Schnittstelle 20 gezeigt ist. Gemäß Fig. 2 enthält die Bus-zu-Bus-Schnittstelle 20 Zuweisungsentscheidungs- und Wiederhollauf-Module sowohl für Bus S als auch für Bus V. Die Bus-zu-Bus-Schnittstelle 20 kann ein WIEDERHOLLAUF (RERUN)-Signal an den Bus S ausgeben, aber im gegenwärtigen Ausführungsbeispiel hat der Bus V selbst keinen Wiederhollauf-Mechanismus. Bus-S-und Bus-V-Protokollmodule sowie Protokoll-Konversions-Hardware sind ebenfalls in der Bus-zu-Bus-Schnittstelle 20 enthalten. Ein Schreib-Puffer 25 empfängt und speichert Daten und Statussignale, die von einem Master während seines Zugriffszyklus auf die Bus-zu-Bus-Schnittstelle 20 ausgegeben werden. Hat der Master einmal einen solchen Zugriffszyklus und Daten ausgegeben, kann ihm sodann befohlen werden, die Verbindung zu trennen, woraufhin der Schreib-Puffer 25 alle für den Abschluß der Transaktion nötigen Sigale und Bedingungen hält. Ein Zuweisungsentscheidungs-Sperrregister 30 empfängt das "SPERRE-ZUWEISUNGSENTSCHEIDUNG"-Signal, das über den privaten Draht 20 von der Bus-zu-Bus-Schnittstelle 10 gesendet wurde. Anders als die Bus-zu-Bus-Schnittstelle 10 hat die Bus-zu-Bus-Schnittstelle 20 kein Master-Slave-Verzeichnis, um auf dem Bus V arbeitenden Mastern Master-Identifizierungsinformationen zu Verfügung zu stellen, um "Slave-belegt"-Signale zugreifenden Mastern entweder auf dem Bus M oder dem Bus S zur Verfügung zu stellen. Stattdessen führt die Bus-zu-Bus-Schnittstelle 10 die Funktion für 20 aus; d.h. in den meisten Fällen erscheint die Bus-zu-Bus-Schnittstelle 20 der 10 nur als ein weiterer S-Slave. Die Bus-zu- Bus-Schnittstelle 20 hat auch bidirektionale Adreß- und Daten-Eingabe- und -Ausgabe-Leitungen, die jedem Bus zugeordnet sind. Gegenwärtig wird bevorzugt, daß Bus-S-Master nicht auf den Bus V zugreifen können, so daß kein Verzeichnis nötig ist.
- Im folgenden wird die Operation des Sperrmerkmals für den entfernten Bus mit bezug sowohl auf Fig. 1 als auch auf Fig. 2 beschrieben. Möchte ein auf dem Bus M arbeitender Master eine Instruktion an einen auf dem Bus V arbeitenden Ziel-Slave ausgeben, gibt der Master ein Zugriffs-Kommando zusammen mit einer den Ziel-Slave identifizierenden Adresse, der Größe der übermittelten Daten und, falls es eine Schreib-Operation ist, mit Daten aus, sowie mit einer Information, ob die sich anschließende Transaktion eine unteilbare Sequenz ist. Falls die sich anschließende Transaktion eine unteilbare Sequenz ist, wird das SPERRE-ZUWEISUNGSENTSCHEIDUNG-Signal angelegt. Der Bus M akzeptiert den Zugriffszyklus des Masters und gewährt dem Master den Bus M. Die Bus-zu-Bus-Schnittstelle 10 erkennt, daß die angelegte Ziel-Adresse einer gültigen Einrichtung zugeordnet ist, die auf einem mit der Bus-zu-Bus-Schnittstelle 10 verbundenen Bus arbeitet. Die Schnittstelle 10 fängt alle oben erwähnten Kommentare, Daten und Statussignale auf. Die Bus-zu-Bus-Schnittstelle 10 erbittet dann eine Entscheidung bzgl. der Kontrolle über den Bus S. Sobald der Zuweisungsentscheider des Busses S die Kontrolle über den Bus S der Bus-zu-Bus-Schnittstelle 10 gewährt hat, gibt die Schnittstelle 10 die zwischengespeicherte Adresse und Transaktion an die zweite Bus-zu-Bus-Schnittstelle 20 aus. Die Bus-zu-Bus-Schnittstelle 20 reicht den Zugriff an den Bus V weiter und erlaubt es Slaves an diesem Bus festzustellen, ob auf sie zugegriffen wird. Die Bus-zu-Bus-Schnittstelle 20 speichert die Transaktionsadresse, den Typ, Daten- und Statussignale im Schreibpuffer 25. Zusätzlich sendet die Bus-zu-Bus-Schnittstelle 10 über ihren privaten Draht 12 das "SPERRE-ZUWEISUNGSENTSCHEIDUNG"-Signal an das Zuweisungsentscheidungs-Sperregister 30 in der Bus-zu-Bus-Schnittstelle 20, was anzeigt, daß die sich anschließende Sequenz von Transaktionen eine unteilbare Sequenz ist. Ist das Zuweisungsentscheidungs-Sperregister 30 gesetzt, ist die Bus-V-Zuweisungsentscheidung gesperrt, so daß die Kontrolle über den Bus V allein bei der Bus-zu-Bus-Schnittstelle 20 verbleibt. D.h., keine andere Einrichtung kann als Master am Bus V arbeiten, solange das Zuweisungsentscheidungs-Sperregister 30 gesetzt ist. Beispielsweise ist daher der Master M3 40 am Bus V von einem Zugriff auf einen Bus-V-Slave ausgeschlossen und unteilbare Transaktionsschritte, die für ein am Bus V arbeitendes Gerät bestimmt sind, bleiben mit Sicherheit ungeteilt. Wird festgestellt, daß die spezielle Transaktionssequenz eine bestimmte, vorge gebene Zeitspanne überschritten hat, so befiehlt die Bus-zu- Bus-Schnittstelle 20 dem zugreifenden Master, den Bus S freizugeben und den Zugriff später erneut zu versuchen. Falls, wie in der vorliegenden Diskussion, der zugreifende Master die Bus-zu-Bus-Schnittstelle 10 ist, veranlaßt das WIEDERHOLLAUF-Kommando die Bus-zu-Bus-Schnittstelle 10, die Steuerung des Busses S freizugeben und ein Wiederhollauf- Kommando auf dem Bus M an den zugreifenden Master auszugeben. Dadurch, daß ein Master ein SPERRE-ZUWEISUNGSENTSCHEIDUNG-Signal zusammen mit anderen relevanten Transaktionsdaten ausgeben kann, sind unteilbare Sequenzen auf entfernten Bussen erlaubt, obwohl zwischengeschaltete Busse, wie in diesem Falle die Busse S und M, für eine alternative Nutzung durch andere Master freigegeben werden. Durch Freigeben von zwischengeschalteten Bussen, wie den Bussen S und M, kann die Gesamtleistung bei Computersystemen deutlich verbessert werden, bei denen die Wartezeit für einen Zugriff auf einen Slave viele Zehn, Hunderte oder sogar Tausende von Instruktionszyklen überschreiten kann.
- Im folgenden wird kurz auf Fig. 3 Bezug genommen, in der ein Ablaufdiagramm gezeigt ist, das das Sperren der Zuweisungsentscheidung auf einem entfernten Bus illustriert. In Fig. 3 ist zu sehen, daß die Steuerung des vom zugreifenden Master M1 ausgegebenen Befehls nacheinander an die Bus-zu- Bus-Schnittstellen 10 und 20 übergeben wird, bis das Slave- Gerät auf dem Bus V erreicht wird.
- Wie weiter oben in Verbindung mit der parallel anhängigen Anmeldung mit der Seriennummer 766, 784 mit dem Titel "Eine Bus-zu-Bus-Schnittstelle zum Verhindern von Dateninkohärenz in einem Multi-Prozessor-Computersystem" diskutiert wurde, sind der WIEDERHOLLAUF-Befehl und der Neuversuchs-Zyklus auf diesem Gebiet wohl bekannt und brauchen nicht im Detail erörtert werden. Man muß jedoch beachten, daß ein Master, einschließlich der als Master arbeitenden Bus-zu-Bus-Schnittstellen 10 oder 20, wenn er sich einmal von einem Slave, auf den er zugegriffen hat, löst, sich erneut selbst in einem Wiederholzyklus bringen muß, um die Verbindung mit dem Slave wieder herzustellen und Daten oder Signale von dem Slave zu gewinnen. Jeder Master, der in Verbindung mit einem WIEDERHOLLAUF-Kommando sich von einem Slave oder Bus trennt, wird den Zugriff zu einem späteren Zeitpunkt erneut versuchen und sich mit diesem Slave verbinden, in Übereinstimmung mit seinem jeweiligen Wiederhol- und Wiederhol-Bestätigungs-Konstrukt. Im wesentlichen arbeitet die Bus-zu-Bus-Schnittstelle in der Art eines Paketvermitt lungsbusses, wobei eine Transaktionsbestätigung einige Zeit nach dem Initiieren der Transaktion zurückgegeben wird, obwohl der Bus selbst zum Arbeiten als Leitungsvermittlungsbus konf iguriert ist. Üblicherweise bleibt ein Leitungsvermittlungsbus an dem Bus, bis die Transaktion abgeschlossen wurde und die zugreifende Einrichtung das Transaktions-Bestätigungssignal erhalten hat. Zu Zwecken der Erläuterung in Bezug auf die vorliegende Erfindung können die Bus-zu-Bus- Schnittstellen 10 und 20 als Paketvermittlungsbusse angesehen werden unter der Maßgabe, daß der zugreifende Master, einschließlich der Schnittstellen 10 und 20, das erneute Verbinden durch Ausführen eines Wiederholzyklus initiieren muß, um eine früher begonnene Transaktion, während derer dem Master das spätere Wiederholen befohlen wurde, abzuschließen.
- Um ein besseres Verständnis der Erfindung zu ermöglichen, die Gegenstand der vorliegenden Anmeldung ist, beschreibt das folgende Beispiel die Kommandos und den Datentransfer zwischen Mastern, Busschnittstellen und entfernten Slaves während einer unteilbaren Sequenz. Bezugnehmend auf die Fig. 4a-j sei angenommen, daß der Master M1 eine Zugriffsanforderung für den Slave V1 auf dem entfernten Bus V ausgibt. Zur Veranschaulichung wird eine unteilbare Sequenz eines LESENS gefolgt von einem SCHREIBEN beschrieben. Der Master M1 gibt eine Anforderung für die Benutzung des Busses M aus. Stellt der Zuweisungsentscheider des Busses M fest, daß der Bus verfügbar ist, gibt er eine Zuteilung an den Master M aus. Wie in Fig. 4a gezeigt, gibt der Master M1 dann ein auf den am Bus V arbeitenden Slave V1 zielendes LESE-Kommando zusammen mit einem Hinweis an den Bus M aus, daß dieser Zugriff Teil einer GESPERRTEN Sequenz ist. Sobald der Zugriff an den Bus M ausgegeben ist, erkennt die Bus-zu-Bus-Schnittstelle 10, daß der Zugriff auf eine Einrichtung am Bus S zielt, und wird Zugriff auf den Bus S vom Zuweisungsentscheider des Busses S erbitten. Ist der Bus S nicht frei, gibt die Bus-zu-Bus-Schnittstelle 10 ein WIEDERHOLLAUF-Kommando an den Master M1 aus. Ist der Bus S jedoch frei, wird der Bus-zu-Bus-Schnittstelle 10 die Steuerung des Busses S als Master zugeteilt, und sie wird daher Zugang zur Bus-zu-Bus-Schnittstelle 20 haben (Fig. 4b). Im Besitz der Steuerung des Busses S führt die Bus-zu-Bus-Schnittstelle 10 einen Zugriff auf die Bus-zu-Bus-Schnittstelle 20 aus und zeigt eine LESE-Instruktion zusammen mit einer Adresse und der Datengröße an. Gleichzeitig bewirkt das SPERRE-ZUWEISUNGSENTSCHEIDUNGS-Signal, das von der Bus-zu-Bus-Schnittstelle 10 über den privaten Draht 12 übergeben wurde dazu, daß das Zuweisungsentscheidungs-Sperregister 30 in der Bus-zu-Bus-Schnittstelle 20 gesetzt wird (Fig. 4c). Sobald das Zuweisungsentscheidungs-Sperregister 30 gesetzt ist und die Bus-zu-Bus-Schnittstelle 20 die Steuerung des Busses V erlangt hat, kann kein anderes Master-Gerät auf den Bus V auf den Bus V zugreifen und kann daher auf kein am Bus V arbeitendes Gerät zugreifen, bis diese Sperre gelöscht ist. Nach Erkennen des LESE-Zugriffs gibt die Bus-zu-Bus-Schnittstelle 20 den Zugriff auf den gewünschten Slave auf den Bus V aus. Die Bus-zu-Bus-Schnittstelle 20 verbindet sich mit dem Slave (Fig. 4d), und das LESE-Kommando wird an den Slave V1 ausgegeben. Überschreitet der Zugriff die maximal erlaubte Zeit, befiehlt die Bus-zu-Bus-Schnittstelle 20 der Bus-zu-Bus- Schnittstelle 10 zu wiederholen (RERUN). Die Bus-zu-Bus- Schnittstelle 20 führt dann den Zugriff auf den Slave V1 selbständig weiter. Da das Zuweisungsentscheidungs-Sperregister 30 der Bus-zu-Bus-Schnittstelle 20 gesetzt ist, wird jedes andere Gerät, das versucht, auf ein Gerät am Bus V zuzugreifen, zurückgewiesen. Die Bus-zu-Bus-Schnittstelle 20 bleibt mit dem Bus V und somit mit dem Slave V1 solange verbunden, wie es zum Abschließen der in Frage stehenden Transaktion, in diesem Fall einer LESE-Operation, nötig ist. Sobald die LESE-Operation abgeschlossen ist, wartet der Slave V1, bis der Master M1 die Verbindung zum Slave V1 wiederherstellt, um Daten zu empfangen, die während der LESE-Operation gewonnen wurden..
- Bis zum Abschluß der LESE-Operation durch den Slave und der erneuten Verbindungsaufnahme des Masters M1, der die gelesenen Daten zu gewinnen sucht, können andere Geräte die freigegebenen Busse M und S benutzen. Der Master M2 kann beispielsweise Siaves am Bus S steuern (Fig. 4e). Man beachte, daß der zugreifende Master die Verbindung über alle zuvor in Verbindung mit dem anfänglich auf dem Slave V1 zugreifenden Master M1, beschriebenen Schritte erneut herstellen muß. Während der Zeit, in der der Master M1 infolge des WIEDERHOLLAUFS entkoppelt ist und der Slave V1 den Zugriff ausführt, hindert die Bus-zu-Bus-Schnittstelle 10 andere Master am Bus M daran, auf den Bus V zuzugreifen. Insbesondere hindert die Sperre der Zuweisungsentscheidung für den Bus V andere Master am Bus V daran, diesen zu benutzen.
- Fahren wir nun mit der zweiten Hälfte des Beispiels einer von einer SCHREIB-Operation gefolgten unteilbaren LESE-Operation fort. Der Master M1 gibt jetzt einen SCHREIB- Befehl zusammen mit für den Slave V1 bestimmten Daten aus. Wie oben beschrieben, hat der Master M1 bereits die Steuerung des Busses M zurückgewonnen (Fig. 4f), um die erste Operation abzuschließen. Der Master M1 sendet daraufhin die nächste Operation der gesperrten Sequenz zum Bus M, dann zur BUS-ZU-BUS-SCHNITTSTELLE 10, dann zum Bus S, dann zur BUS- ZU-BUS-SCHNITTSTELLE 20 (Fig. 4d), wobei jedesmal der SCHREIB-Befehl zusammen mit der Datengröße und den Daten selbst weitergereicht wird. Das SPERR-ZUWEISUNGSENTSCHEIDUNG-Signal wird zusammen mit dem SCHREIB-Befehl übermittelt, obwohl der SCHREIB-Befehl die letzte Operation der unteilbaren Sequenz ist. Man möge sich von der obigen Diskussion her erinnern, daß die Bus-zu-Bus-Schnittstelle 20 die Steuerung des Busses V während dieser unteilbaren Sequenz behalten hat. Der Zuweisungsentscheider des Busses V bleibt gesperrt, wodurch irgendein anderer Master an einem Zugriff auf den Bus V gehindert wird. Das Sperren des Zuteilungsentscheiders des Busses V schließt nicht einen Wechsel der Ziel-Geräte auf den Bussen M oder S aus. Nachdem der Master M1 sich erneut mit der Bus-zu-Bus-Schnittstelle 20 verbunden hat, schreibt er die gewünschten Daten in den Schreibpuffer 25 der Schnittstelle 20.
- Nachdem die Bus-zu-Bus-Schnittstelle 20 die in den Slave Vl zu schreibenden Daten zusammen mit der Adresse und Größeninformationen gespeichert hat, schreibt sie die Daten aus dem Schreibpuffer 25 in das Slave-Gerät V1. Nachdem der SCHREIB-Befehl ausgeführt wurde und weil der SCHREIB-Befehl die letzte Operation der unteilbaren Sequenz war, gibt die Bus-zu-Bus-Schnittstelle 20 das Zuweisungsentscheidungs-Sperregister 30 frei und löst danach den Bus V zusammen mit dem Slave V1 (Fig. 4a). Man möge sich erinnern, daß, obwohl der SCHREIB-Befehl die letzte Transaktion des unteilbaren Zugriffs ist und von einem SPERR-ZUWEISUNGSENTSCHEIDUNG-Signal begleitet ist, der Bus-Zuweisungsentscheider den SCHREIB-Befehl als letzten Schritt erkennt und daher den Zuweisungsentscheider des Busses V nach dem SCHREIB-Befehl freigibt. Nachdem der Bus V freigegeben ist, nimmt die Bus-zu-Bus-Schnittstelle 20 das BBSY-Signal weg, wodurch es einem anderen Master erlaubt wird, die Kontrolle über den Bus V mit Hilfe des Zuweisungsentscheiders des Busses V zu erlangen. Man beachte, daß es eine zu dem Zuweisungsentscheider gehörige Zustandsmaschine derart gibt, daß jedes von der Bus-zu-Bus-Schnittstelle 10 an die Bus-zu-Bus-Schnittstelle 20 übergebene SPERR-ZUWEISUNGSENT- SCHEIDUNGS-Signal in die Zuweisungsentscheidung, die die Steuerung des Busses V dem zugreifenden Master zuteilt, mit aufgenommen wird. Einmal gesetzt, bleibt die Zustandsmaschine gesetzt, bis Bedingungen erfüllt sind, die für ein Freigeben des Busses notwendig sind. Eine der Bedingungen zum Freigeben des Busses V besteht darin, daß die S-V-Bus-zu-Bus-Schnittstelle 20 keine Bedingung abgetastet hat, daß die Schnittstelle 20 den Zuweisungsentscheider des Busses V infolge einer Bus-Anfrage von einem entfernten Master sperren soll Hat die S-V-Bus-zu-Bus-Schnittstelle 20 eine von einem entfernten Master ausgegebene SPERR-ZUWEISUNGSENTSCHEIDUNG-Anforderung abgetastet, so weist der Zuweisungsentscheider des Busses V den Bus V keinem anderen Gerät zu, und die Zustandsmaschine speichert die Bedingung ab, daß die SPERR-ZUWEISUNGSENTSCHEIDUNG gesetzt ist. Obwohl keine anhängigen Datenanforderungen für mit den Bus V verbundene Geräte vörliegen, bleibt der Bus V dennoch auf die Bus-zu-Bus-Schnittstelle 20 eingerastet, da der Zuweisungsentscheider das SPERR- ZUWEISUNGSENTSCHEIDUNG-Signal zwischengespeichert hat. Schließlich wird die S-V-Bus-zu-Bus-Schnittstelle 20 von der M-S-Bus-zu-Bus-Schnittstelle 10 freigegeben (Fig. 4e), woraufhin der Master M1 die Bus-zu-Bus-Schnittstelle 10 freigibt (Fig. 4j)
- Es wurden Verfahren und Vorrichtungen zum Sperren von Zuweisungsentscheidungen auf einen entfernten Bus zum Bewahren von unteilbaren Sequenzen beschrieben. Bis zum Abschluß der unteilbaren Sequenz können zwischengeschaltete Busse innerhalb eines Multi-Bus-Computersystems, das die vorliegende Erfindung verwendet, freigegeben werden, ohne die Unteilbarkeit auf dem gesperrten entfernten Bus zu beeinflussen.
Claims (20)
1. In einem Mehrfachprozessor-Mehrfachbus-Computersystem
mit einem ersten Bus, einem zweiten Bus und einem entfernten
Ziel-Slave-Bus, die miteinander über eine Vielzahl von
Buszu-Bus-Schnittstellen gekoppelt sind, ein Verfahren, zum
Bewahren einer unteilbaren Sequenz von Busoperationen auf dem
entfernten Ziel-Slave-Bus gleichzeitig den ersten Bus und
den zweiten Bus zur Verwendung durch andere Einrichtungen
innerhalb des Computersystems freigeben wird, wobei das
Verfahren die Schritte aufweist:
Ausgeben eines Slave-Zugriffssignals, das ein
Operationskommando einschließt, von einem zugreifenden Master (10)
an dem ersten Bus gerichtet an einen Ziel-Slave;
Ausgeben eines Unteilbare-Sequenz-Signals zusammen mit
dem Slave-Zugriffssignal, wobei das
Unteilbare-Sequenz-Signal anzeigt, daß eine unteilbare Sequenz von Busoperationen
beginnt;
Koppeln des zugreifenden Masters an dem ersten Bus mit
einer Vielzahl von Bussen;
Initiieren einer Transaktion auf dem zweiten Bus von
einer ersten Bus-zu-Bus-Schnittstelle, wobei die erste Bus-zu-
Bus-Schnittstelle den ersten Bus und den zweiten Bus
koppelt;
Verwenden eines entfernten Ziel-Slave-Busses, um eine
entfernte Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) mit einem
Ziel-Slave zu koppeln, wobei die entfernte Ziel-Slave-Bus-
zu-Bus-Schnittstelle den zweiten Bus mit dem entfernten
Ziel-Slave-Bus koppelt;
Übermitteln der Transaktion zusammen mit dem Ungeteilte-
Sequenz-Signal an die entfernte Ziel-Slave-Bus-zu-Bus-
Schnittstelle durch die erste Bus-zu-Bus-Schnittstelle, wenn
die erste Bus-zu-Bus-Schnittstelle die Kontrolle über den
zweiten Bus erlangt hat;
Empfangen und Speichern des Slave-Zugriffssignals und
Transaktion an der entfernten
Ziel-Slave-Bus-zu-Bus-Schnittstelle;
Übermitteln eines Zuweisungssperrsignals (12) an die
entfernte Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) zum
Sperren der Zuweisungsentscheidung auf dem entfernten Ziel-
Slave-Bus, wodurch der entfernte Ziel-Slave-Bus zur
ausschließlichen Verwendung durch den zugreifenden Master zum
Zugreifen auf den Ziel-Slave reserviert wird;
Reservieren des entfernten Ziel-Slave-Busses zur
ausschließlichen Verwendung durch den zugreifenden Master zum
Zugreifen auf den Ziel-Slave durch Übermitteln eines
Zuweisungssperrsignals an die entfernte Ziel-Slave-Bus-zu-Bus-
Schnittstelle zum Sperren der Zuweisungsentscheidung auf dem
entfernten Ziel-Slave-Bus;
Freigeben des ersten Busses, des zweiten Busses und der
ersten Bus-zu-Bus-Schnittstelle, die den zugreifenden Master
mit der entfernten Ziel-Slave-Bus-zu-Bus-Schnittstelle
verbinden, vor dem Abschluß der unteilbaren Sequenz von
Busoperationen, wodurch der erste Bus, der zweite Bus und die
erste Bus-zu-Bus-Schnittstelle für einen Zugriff durch einen
anderen Master als den zugreifenden Master während der
unteilbaren Sequenz von Busoperationen freigegeben wird; und
Freigeben des entfernten Ziel-Slave-Busses und der ent
fernten Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) nachdem der
zugreifende Master (10) eine abschließende Operation der
unteilbaren Sequenz von Busoperationen ausgibt.
2. Verfahren nach Anspruch 1, wobei das Reservieren des
entfernten Ziel-Slave-Busses ausgeführt wird, indem eine
Zuweisungsentscheidung für einen anderen Master als den
zugreifenden Master (10) verhindert wird.
3. Verfahren nach Anspruch 2, wobei das Verhindern der
Zuweisungsentscheidung ausgeführt wird, indem ein
Zuweisungsentscheidersperregister gesetzt wird.
4. Verfahren nach Anspruch 3, wobei das Setzen des
Zuweisungsentscheidersperregisters ausgeführt wird, indem von
dem zugreifenden Master ein
Zuweisungsentscheidungssperrsignal (12) ausgegeben wird, wonach der erste Bus, der zweite
Bus und die erste Bus-zu-Bus-Schnittstelle das
Zuweisungsentscheidungssperrsignal (12) an die entfernte Ziel-Slave-
Bus-zu-Bus-Schnittstelle (20) übermitteln.
5. Verfahren nach Anspruch 4, wobei das Setzen des
Zuweisungsentscheidersperregisters ferner das Setzen des
Zuweisungsentscheidersperregisters in Abhängigkeit von einem
bestimmte Busoperationen während der unteilbaren Sequenz von
Busoperationen begleitenden
Zuweisungsentscheidungssperrsignals (12) umfaßt.
6. Verfahren nach Anspruch 5, wobei das
Zuweisungsentscheidersperregister gesetzt wird, wenn das
Zuweisungsentscheidungssperrsignal (12) eine Lese-Operation begleitet.
7. Verfahren nach Anspruch 5, wobei das
Zuweisungsentscheidungssperrsignal (12) im wesentlichen gleichzeitig mit
dem Slave-Zugriffssignal übermittelt wird.
8. Verfahren nach Anspruch 4, wobei das
Zuweisungsentscheidungssperrsignal im wesentlichen gleichzeitig mit dem
von dem zugreifenden Master (10) während der unteilbaren
Sequenz von Busoperationen ausgegebenen Slave-Zugriffssignal
übermittelt wird.
9. Verfahren nach Anspruch 1, wobei der zugreifende
Master (10) , der erste Bus, der zweite Bus und die erste
Buszu-Bus-Schnittstelle, aber nicht die entfernte Ziel-Slave-
Bus-zu-Bus-Schnittstelle (20) in Abhängigkeit von einem
Freigabe-und-Neuversuchs-Signal freigegeben werden, das von
der entfernten Ziel-Slave-Bus-zu-Bus-Schnittstelle (20)
ausgegeben wird.
10. Verfahren nach Anspruch 1, wobei das Reservieren des
entfernten Ziel-Slave-Busses zur ausschließlichen Benutzung
durch den Ziel-Slave das Sperren der Zuweisungsentscheidung
für den entfernten Ziel-Slave-Bus gemäß dem
Zuweisungsentscheidungssperrsignal (12) umfaßt.
11. Verfahren nach Anspruch 1, wobei das
Zuweisungentscheidersperregister in einem gesetzten Zustand solange
bleibt, bis der zugreifende Master (10) eine abschließende
Operation der unteilbaren Sequenz von Busoperationen
ausgibt, wobei das Verfahren darüber hinaus die folgenden
zusätzlichen Schritte umfaßt:
Ausgeben eines Neuversuchs-Kommandos durch den
zugreifenden Master, um auf den Ziel-Slave erneut zuzugreifen;
sequentielles erneutes Ankoppeln des zugreifenden
Masters an den ersten Bus, den zweiten Bus und die erste
Buszu-Bus-Schnittstelle sowie die entfernte Ziel-Slave-Bus-zu-
Bus-Schnittstelle (20);
Ausführen der abschließenden Operation durch den Ziel-
Slave;
sequentielles Abkoppeln des entfernten
Ziel-Slave-Busses, der Bus-zu-Bus-Schnittstellen einschließlich der
entfernten Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) und der
ersten Bus-zu-Bus-Schnittstelle, sowie des zugreifenden
Masters (10) von dem Target-Slave; und
Löschen des Zuweisungsentscheidersperregisters.
12. Busschnittstellensystem zum Absichern einer
unteilbaren Sequenz von Busoperationen auf einem entfernten Ziel-
Slave-Bus innerhalb eines Mehrprozessor-Computersystems,
wobei das Busschnittstellensystem aufweist:
einen zugreifenden Master (10), der ein
Slave-Zugriffssignal einschließlich einer ersten Operation der unteilbaren
Sequenz von Busoperationen ausgeben kann;
eine Vielzahl von Bussen, die zwischen dem zugreifenden
Master eingekoppelt sind;
mehrere Bus-zu-Bus-Schnittstellen einschließlich einer
entfernten Ziel-Slave-Bus-zu-Bus-Schnittstelle, die die
Vielzahl von Bussen miteinander koppeln, wobei die Bus-zu-
Bus-Schnittstellen das Slave-Zugriffssignal empfangen und
speichern;
einen über einen entfernten Ziel-Slave-Bus mit der
entfernten Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) gekoppelten
Ziel-Slave;
wobei die entfernte Ziel-Slave-Bus-zu-Bus-Schnittstelle
(20) ein Freigabe-und-Neuversuchs-Signal ausgibt, wenn der
Ziel-Slave eine erste Operation der unteilbaren Sequenz von
Busoperationen empfängt, wodurch der zugreifende Master (10)
die Vielzahl von Dussen und die Bus-zu-Bus-Schnittstellen
von der entfernten Ziel-Slave-Bus-zu-Bus-Schnittstelle (20)
vor dem Abschluß der unteilbaren Sequenz von Busoperationen
sequentiell abgekoppelt werden.
13. Busschnittstellensystem nach Anspruch 12, wobei die
entfernte Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) ferner
ein Zuweisungsentscheidersperregister aufweist, wobei ein
Setzen des Zuweisungsentscheidersperregisters eine
Zuweisungsentscheidung verhindert.
14. Busschnittstellensystem nach Anspruch. 12, wobei die
Busse und die Bus-zu-Bus-Schnittstellen anschließend
sequentiell das Zuweisungsentscheidungssperrsignal an die
entfernte Ziel-Slave-Bus-zu- Bus-Schnittstelle (20) übermitteln,
wenn der zugreifende Master (10) ein
Zuweisungsentscheidungssperrsignal ausgibt.
15. Busschnittstellensystem nach Anspruch 12, wobei der
zugreifende Master (10) das
Zuweisungsentscheidungssperrsignal im wesentlichen gleichzeitig mit dem
Slave-Zugriffssignal während der unteilbaren Sequenz von Busoperationen
ausgibt.
16. Busschnittstellensystem nach Anspruch 13, wobei die
entfernte Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) das
Zuweisungsentscheidersperregister setzt, wenn das
Zuweisungsentscheidungssperrsignal (12) eine Lese-Operation begleitet.
17. Busschnittstellensystem nach Anspruch 16, wobei die
entfernte Ziel-Slave-Bus-zu-Bus-Schnittstelle (20) das
Zuweisungsentscheidersperregister löscht, wenn das
Zuweisungsentscheidungssperrsignal (12) eine Schreiboperation
begleitet.
18. Busschnittstellensystem nach Anspruch 12, wobei die
mehreren Busse zumindest einen zwischen dem Master-Bus und
dem entfernten Bus angeordneten Bus umfassen.
19. Busschnittstellensystem nach Anspruch 18, wobei auf
die Busse und Bus-zu-Bus-Schnittstellen mit Ausnahme der
entfernten Bus-zu-Bus-Schnittstelle von anderen Mastern als
den zugreifenden Master während der unteilbaren Sequenz von
Busoperationen zugegriffen werden kann.
20. Busschnittstellensystem nach Anspruch 12, wobei:
das Zuweisungsentscheidersperregister gesetzt bleibt,
bis der zugreifende Master eine abschließende Operation der
unteilbaren Sequenz von Busoperationen ausgegeben hat;
der zugreifende Master erneut das zuvor ausgegebene
Slave-Zugriffssignal ausgibt, um auf den Ziel-Slave erneut
zuzugreifen;
der zugreifende Master sequentiell wiederholt auf die
Vielzahl von Bussen, die Bus-zu-Bus-Schnittstellen und die
entfernte Bus-zu-Bus-Schnittstelle zugreift;
der Ziel-Slave die abschließende Operation ausführt;
der entfernte Bus, die Bus-zu-Bus-Schnittstellen
einschließlich der entfernten Bus-zu-Bus-Schnittstelle, und der
zugreifende Master sequentiell von dem Ziel-Slave
abgekoppelt werden, und
das Zuweisungsentscheidersperregister gelöscht wird.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US76683491A | 1991-09-27 | 1991-09-27 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE69223304D1 DE69223304D1 (de) | 1998-01-08 |
| DE69223304T2 true DE69223304T2 (de) | 1998-06-18 |
Family
ID=25077663
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE69223304T Expired - Fee Related DE69223304T2 (de) | 1991-09-27 | 1992-09-15 | Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5572734A (de) |
| EP (1) | EP0535822B1 (de) |
| JP (1) | JP3388549B2 (de) |
| KR (1) | KR100192529B1 (de) |
| DE (1) | DE69223304T2 (de) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| BR9405516A (pt) * | 1993-07-16 | 1999-09-08 | D2B Systems Co Ltd | Sistema de duto de comunicação de multiestações e estação mestre para emprego no mesmo. |
| US5835742A (en) * | 1994-06-14 | 1998-11-10 | Apple Computer, Inc. | System and method for executing indivisible memory operations in multiple processor computer systems with multiple busses |
| FR2726383A1 (fr) * | 1994-10-26 | 1996-05-03 | Trt Telecom Radio Electr | Systeme de traitement d'informations comportant au moins deux processeurs |
| JPH0981507A (ja) * | 1995-09-08 | 1997-03-28 | Toshiba Corp | コンピュータシステム |
| US5943483A (en) * | 1995-12-11 | 1999-08-24 | Lsi Logic Corporation | Method and apparatus for controlling access to a bus in a data processing system |
| US5737545A (en) * | 1996-05-21 | 1998-04-07 | Vlsi Technology, Inc. | Computer bus mastery system and method having a lock mechanism |
| US6275890B1 (en) | 1998-08-19 | 2001-08-14 | International Business Machines Corporation | Low latency data path in a cross-bar switch providing dynamically prioritized bus arbitration |
| US6323755B1 (en) | 1998-08-19 | 2001-11-27 | International Business Machines Corporation | Dynamic bus locking in a cross bar switch |
| US6895456B2 (en) * | 1998-12-01 | 2005-05-17 | Hewlett-Packard Development Company, L.P. | System supporting multicast master cycles between different busses in a computer system |
| US6381663B1 (en) | 1999-03-26 | 2002-04-30 | Hewlett-Packard Company | Mechanism for implementing bus locking with a mixed architecture |
| KR100338954B1 (ko) * | 1999-12-30 | 2002-05-31 | 박종섭 | 멀티-버스 컴퓨터 시스템의 데드록 회피 장치 및 방법 |
| US6587964B1 (en) * | 2000-02-18 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Transparent software emulation as an alternative to hardware bus lock |
| KR100716950B1 (ko) * | 2000-08-11 | 2007-05-10 | 삼성전자주식회사 | 버스 시스템 |
| US6658510B1 (en) | 2000-10-18 | 2003-12-02 | International Business Machines Corporation | Software method to retry access to peripherals that can cause bus timeouts during momentary busy periods |
| US6754753B2 (en) * | 2001-04-27 | 2004-06-22 | International Business Machines Corporation | Atomic ownership change operation for input/output (I/O) bridge device in clustered computer system |
| US6832280B2 (en) * | 2001-08-10 | 2004-12-14 | Freescale Semiconductor, Inc. | Data processing system having an adaptive priority controller |
| US7856346B2 (en) * | 2002-05-10 | 2010-12-21 | Arm Limited | Emulating multiple bus used within a data processing system |
| US7007122B2 (en) * | 2002-11-27 | 2006-02-28 | Lsi Logic Corporation | Method for pre-emptive arbitration |
| US7594053B2 (en) * | 2003-12-12 | 2009-09-22 | Alcatel-Lucent Usa Inc. | Adaptive object level locking |
| KR20070010152A (ko) * | 2004-04-26 | 2007-01-22 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | 트랜잭션을 발행하기 위한 집적 회로 및 방법 |
| US7305510B2 (en) * | 2004-06-25 | 2007-12-04 | Via Technologies, Inc. | Multiple master buses and slave buses transmitting simultaneously |
| US20080059674A1 (en) * | 2006-09-01 | 2008-03-06 | Jiaxiang Shi | Apparatus and method for chained arbitration of a plurality of inputs |
| US8156273B2 (en) * | 2007-05-10 | 2012-04-10 | Freescale Semiconductor, Inc. | Method and system for controlling transmission and execution of commands in an integrated circuit device |
| US8549630B2 (en) * | 2010-03-05 | 2013-10-01 | The Regents Of The University Of California | Trojan-resistant bus architecture and methods |
| US20130191572A1 (en) * | 2012-01-23 | 2013-07-25 | Qualcomm Incorporated | Transaction ordering to avoid bus deadlocks |
| KR102285749B1 (ko) * | 2014-11-10 | 2021-08-05 | 삼성전자주식회사 | 세마포어 기능을 갖는 시스템 온 칩 및 그것의 세마포어 구현 방법 |
| KR102649020B1 (ko) | 2021-10-08 | 2024-03-18 | 한국수력원자력 주식회사 | 원자력발전소 연계 수소생산시스템 및 운용방법 |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2494010B1 (fr) * | 1980-11-07 | 1986-09-19 | Thomson Csf Mat Tel | Dispositif d'arbitration decentralisee de plusieurs unites de traitement d'un systeme multiprocesseur |
| US4586128A (en) * | 1983-04-14 | 1986-04-29 | Burroughs Corporation | Arbitrator circuit and technique for use in a digital computing system having multiple bus controllers |
| US4787033A (en) * | 1983-09-22 | 1988-11-22 | Digital Equipment Corporation | Arbitration mechanism for assigning control of a communications path in a digital computer system |
| US4633394A (en) * | 1984-04-24 | 1986-12-30 | International Business Machines Corp. | Distributed arbitration for multiple processors |
| US4760521A (en) * | 1985-11-18 | 1988-07-26 | White Consolidated Industries, Inc. | Arbitration system using centralized and decentralized arbitrators to access local memories in a multi-processor controlled machine tool |
| US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
| JPS63284660A (ja) * | 1987-05-16 | 1988-11-21 | Nec Corp | プロセッサ間通信方式 |
| US5168568A (en) * | 1989-02-06 | 1992-12-01 | Compaq Computer Corporation | Delaying arbitration of bus access in digital computers |
-
1992
- 1992-09-15 EP EP92308380A patent/EP0535822B1/de not_active Expired - Lifetime
- 1992-09-15 DE DE69223304T patent/DE69223304T2/de not_active Expired - Fee Related
- 1992-09-25 KR KR1019920017500A patent/KR100192529B1/ko not_active Expired - Fee Related
- 1992-09-28 JP JP28111192A patent/JP3388549B2/ja not_active Expired - Fee Related
-
1995
- 1995-05-02 US US08/432,887 patent/US5572734A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| KR930006556A (ko) | 1993-04-21 |
| EP0535822A1 (de) | 1993-04-07 |
| EP0535822B1 (de) | 1997-11-26 |
| DE69223304D1 (de) | 1998-01-08 |
| US5572734A (en) | 1996-11-05 |
| JP3388549B2 (ja) | 2003-03-24 |
| JPH06266681A (ja) | 1994-09-22 |
| KR100192529B1 (ko) | 1999-06-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE69223304T2 (de) | Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus | |
| DE69228582T2 (de) | Vorrichtung zur Vermeidung von Prozessorblockierungen in einem Multiprozessorsystem | |
| DE68913914T2 (de) | Multiprozessorsystem mit Vervielfältigung von globalen Daten. | |
| DE69936060T2 (de) | Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten | |
| DE3146356C2 (de) | Vorrichtung zur Steuerung der Übertragung von Gerätesteuerinformation in einem Datenendgerät | |
| DE69519926T2 (de) | Verfahren und vorrichtung zum einhalten der transaktionssteuerung und zur unterstützung von verzögerten antworten in einer busbrücke | |
| DE69032481T2 (de) | Buszugriff für Digitalrechnersystem | |
| DE69230428T2 (de) | Verklemmungserkennung und Maskierung enthaltende Busarbitrierungsarchitektur | |
| DE69027515T2 (de) | Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung | |
| DE69329904T2 (de) | Echtzeitverarbeitungssystem | |
| DE3889366T2 (de) | Interface für ein Rechnersystem mit reduziertem Befehlssatz. | |
| DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
| DE3689198T2 (de) | Systembus für Kommunikation zwischen Prozessoren. | |
| DE69825915T2 (de) | Verfahren und vorrichtung zur umschaltung zwischen quellen-synchron-takt/- und gemeinsam-takt-datenübertragungs-modi in einem mehragent-übertragungs-system | |
| DE3909948C2 (de) | ||
| DE69108434T2 (de) | Mehrgruppen-Signalprozessor. | |
| DE19983026B4 (de) | Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu | |
| DE69018100T2 (de) | Datenübertragung über Busadressleitungen. | |
| DE69114961T2 (de) | Vorrichtung für Zusammenschaltungskanäle. | |
| DE4142756A1 (de) | Datenweg-einrichtung zur kopplung zweier busse | |
| DE69131840T2 (de) | Verfahren zur Vervielfältigung eines geteilten Speichers | |
| DE4003759C2 (de) | Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen | |
| DE3485980T2 (de) | Datenverarbeitungsapparat zur verbindung mit einem gemeinsamen uebertragungsbus in einem datenverarbeitungssystem. | |
| DE69026018T2 (de) | Rechnersystem mit Vorrichtung zur Verbesserung der Wirksamkeit von Übertragungen zwischen einem Hauptprozessor und Peripheriegeräten verbunden durch einen SCSI-Bus | |
| DE69615327T2 (de) | Logische Adressbusarchitektur für Mehrprozessorsysteme |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |