DE69028017T2 - Arbitrierungssystem mit Beschränkung der aufeinanderfolgenden Zugriffsberechtigungen von Hochprioritätsanforderungen - Google Patents

Arbitrierungssystem mit Beschränkung der aufeinanderfolgenden Zugriffsberechtigungen von Hochprioritätsanforderungen

Info

Publication number
DE69028017T2
DE69028017T2 DE69028017T DE69028017T DE69028017T2 DE 69028017 T2 DE69028017 T2 DE 69028017T2 DE 69028017 T DE69028017 T DE 69028017T DE 69028017 T DE69028017 T DE 69028017T DE 69028017 T2 DE69028017 T2 DE 69028017T2
Authority
DE
Germany
Prior art keywords
access
request
bump
signals
requester
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
Application number
DE69028017T
Other languages
English (en)
Other versions
DE69028017D1 (de
Inventor
Gerald Donald Boldt
Stephen Dale Hanna
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Application granted granted Critical
Publication of DE69028017D1 publication Critical patent/DE69028017D1/de
Publication of DE69028017T2 publication Critical patent/DE69028017T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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

    Hintergrund und Zusammenfassung der Erfindung
  • Diese Erfindung bezieht sich auf Arbitrierungen von Prioritätsanforderungen für den Zugriff auf Systemressourcen und im einzelnen auf die Busarbitrierung, inbesondere die Sternbusarbitrierung, ein Prozeß zur Regelung der Zuweisung eines Anforderers aus einer Vielzahl von gleichzeitigen Anforderern für den Zugriff auf eine Systemressource, normalerweise einen Systembus. Wenn einem Anforderer (einem Gerät oder einem Prozessor) die Kontrolle über die Ressource gegeben wird, kann er diese besitzen, bis seine Aufgabe abgeschlossen ist, oder für einen vorbestimmten Zeitraum.
  • Bei elektronischen Rechnersystemen muß der Prozessor normalerweise auf die Eingabe- und Ausgabegeräte zugreifen, damit er funktionieren kann. Um den Rechnerbetrieb so effizient wie möglich zu gestalten, arbeiten solche Geräte unabhängig vom Zentralprozessor. Das heißt, anders als bei den ersten Rechnersystemen, bei denen die Geräte durch den Zentralprozessor gesteuert wurden, wird bei modernen Geräten die Verarbeitungsfunktion in die einzelnen Geräte verlagert, wodurch der Zentralprozessor und die einzelnen Geräte gleichzeitig und voneinander unabhängig arbeiten können. Es kommt jedoch manchmal vor, daß die Geräte sich Ressourcen mit anderen Geräten und mit dem Zentralprozessor teilen müssen. Der Hauptspeicher ist beispielsweise eine Ressource, die sich mehrere Geräte teilen müssen; auf ihn wird über einen Systembus zugegriffen. Der Zentralprozessor bearbeitet Daten, die im Speicher stehen, und einige Geräte dienen dazu, von außerhalb des Systems zur Verarbeitung vorliegende Daten in dem Speicher zu speichern, während andere Geräte Daten aus dem Speicher aus lesen, die außerhalb des Systems gebraucht werden, zum Beispiel um Ergebnisse einer Berechnung und Verarbeitung auszudrucken.
  • Um eine Störung der Arbeitsabläufe im Zentralprozessor weitestgehend zu vermeiden, wird eine Technik eingesetzt, die als direkter Speicherzugriff (DMA) bekannt ist; mit dieser Technik können die Geräte aus dem Speicher lesen oder in diesen schreiben, ohne daß ein Eingreifen des Zentralprozessors erforderlich ist. Die Adresse der Daten im Speicher ist in dem Gerät gespeichert (oder in einem Kanal, über den das Gerät arbeitet) und dient zum Adressieren des Speichers in einem oder mehreren Zyklen, während der Zentralprozessor und andere Geräte auf den Speicher nicht zugreifen können. Das DMA-Verfahren arbeitet als Interrupt-Verfahren, so genannt, weil es nicht immer regelmäßig und periodisch Zugriff zum Speicher verlangt, und das Zentralsystem fur einen Zugriff asynchron unterbricht. Ein solcher Prozeß wird auch Zyklusraub genannt.
  • Es können nicht alle Geräte, einschließlich des Zentralprozessors, gleichzeitig auf den Speicherbus zugreifen, weil es dann keine Möglichkeit geben würde, die einzelnen Signale voneinander zu unterscheiden. Die Anforderungen von Ressourcen müssen daher arbitriert werden, und zwar so, daß die Anforderungen aller Geräte erfüllt werden. Einige Geräte arbeiten mit höheren Datenübertragungsraten als andere. Ein Plattenspeicher kann zum Beispiel die Daten schneller lesen und schreiben, als ein Lochstreifengerät. Das heißt, das schnellere Gerät benötigt schnelleren und häufigeren Zugriff auf den Speicherbus, als langsamere Geräte. Es muß daher für eine Zugriffspriorität zwischen den einzelnen Geräten gesorgt werden.
  • Bei der Zuweisung von Prioritäten an die einzelnen Geräte eines Systems müssen jedoch noch andere Gesichtspunkte als nur die Geschwindigkeit berücksichtigt werden. Es muß auch verhindert werden, daß ein oder mehrere Hochprioritätsgeräte ein Gerät mit niedriger Priorität verdrängen, so daß dieses Gerät nicht mehr richtig arbeitet, weil es nicht ausreichenden Zugang zu den Systemressourcen bekommt, oder weil es zu selten Zugang zu den Ressourcen bekommt, was zu einem Datenverlust führen würde.
  • Systeme mit fester Priorität mit Hardware-Implementierung haben den Vorteil einer sehr schnellen Arbitrierung ohne Störung der Vorgänge im Zentralprozessor. Systeme mit variabler Priorität, die vom Zentralprozessor gesteuert werden, sind flexibler, jedoch auch langsamer, und erfordern ein Eingreifen des Zentralprozessors.
  • Es wurden mehrere Techniken entwickelt, in denen die Zuweisungspriorität wechselte, z.B. bei der umlaufenden Priorität zwischen den einzelnen Geräten, bei der serielle Prozeduren oder Abfrageprozeduren und andere komplizierte Verfahren eingesetzt werden.
  • Die U.S. Patentschrift 4,229,791 beschreibt den Einsatz einzelner Arbitrierungsschaltungen, die den Zugriff auf einen gemeinsamen Bus steuern. Jede Schaltung hat eine vorher zugewiesene Prioritätsstufe, kann jedoch dem System zugeschaltet oder aus diesem entfernt oder gesperrt werden, ohne daß die Abläufe in den anderen Einheiten beeinflußt werden.
  • In der U.S. Patentschrift 4,257,095 wird ein gemeinsam genutzter Systembus mit einer Arbitrierungsschaltung beschrieben, die es einem Gerät mit niedrigerer Priorität erlaubt, auf den Systembus zuzugreifen, wenn ein Gerät mit höherer Priorität, das die Kontrolle über den Systembus hat, gerade nicht in Betrieb ist oder nicht auf den Systembus, sondern auf einen anderen Bus zugreift.
  • In der U.S. Patentschrift 4,499,538 wird eine parallele asynchrone Arbitrierung von Zugriffsanforderungen beschrieben, die eine feste Prioritat, eine zyklisch-sequentielle oder eine gemischte Priorität haben können.
  • Die U.S. Patentschrift 4,716,523 beschreibt einen programmierbaren selektiven Datentransfer-Modus, durch den der Datentransfer im DMA-Verfahren oder in einem Interrupt-gesteuerten Verfahren erfolgen kann. DMA- und Zeichen-Interrupt-Anforderungen werden arbitriert, um die Kontrolle an einen DMA- Controller oder einen Zeichen-Interrupt-Controller zu übergeben.
  • In der U.S. Patentschrift 3,840,859 wird eine Eingabe/Ausgabesteuereinheit in einem Datenverarbeitungssystem beschrieben, bei der die Anzahl der gleichzeitig ablaufenden E/A-Operationen, die diese Einheit annehmen kann, geregelt ist, um das Auftreten übermäßig häufiger Zugriffsfehler zu verhindern und bei der Verteilung der System-E/A-Operationen zwischen allen Eingabe-/Ausgabesteuereinheiten zu helfen, wenn hiervon mehr als eine vorhanden ist. Es wird ein kontinuierlicher Vergleich zwischen einer Schwellenvariablen, welche die momentane Bandbreite einer E/A-Steuereinheit definiert, und einer Verkehrsvariablen durchgeführt, wobei die Verkehrsvariable von der Anzahl und dem Typ der gleichzeitigen E/A-Operationen abgeleitet wird, die zu einem gegebenen Zeitpunkt auf einer bestimmten Eingabe-/Ausgabesteuereinheit ablaufen. Wenn die Verkehrsvariable gleich der Schwellenvariablen für diese Einheit oder größer als diese ist, wird diese Eingabe-/Ausgabesteuereinheit angewiesen, keine weiteren E/A-Operationen mehr anzunehmen. Durch entsprechendes Anpassen der Schwellenvariablen für jede Eingabe- /Ausgabesteuereinheit bei einer Vielzahl von E/A-Steuereinheiten in einem Datenverarbeitungssystem, kann eine optimale Zuweisung der E/A-Operationen des gesamten Systems unter den einzelnen Eingabe-/Ausgabesteuereinheiten des Systems erfolgen.
  • In der Forschungsoffenlegung Nr. 271 vom November 1986, Havant GB, Seite 668, wird ein Algorithmus zur Anpassung der Arbitrierungspriorität beschrieben. Ein Algorithmus wird mit einem Arbitrierer verwendet, der sein Prioritätsschema dynamisch anpassen kann, um sich an veränderte Bedingungen in einer gemeinsam genutzten Einrichtung einzustellen. Einrichtungen, in denen dieser Algorithmus eingesetzt wird, sind zum Beispiel ein Busarbitrierer mit wählbarer umlaufender Höchstpriorität, der nach jeder Anforderung/Zugriffsberechtigung eine neue Stelle in dem PRIORITÄTS-ARRAY referenziert und die Untereinheit, deren Adresse an dieser neuen Stelle gefunden wird, in die höchste Priorität erhebt, ein Prioritäts-Array, das mindestens einen Eintrag für jede Untereinheit enthält (die durch ihre Adresse identifiziert wird); wenn für eine bestimmte Untereinheit mehr Einträge, das heißt Adressen, vorhanden sind, so wird diese Untereinheit öfter zur höchsten Priorität erhoben; und ein Aktivitätsregister, das den Aushungerungsgrad angibt. Ein größere Zahl zeigt an, daß eine bestimmte Untereinheit eine beliebige Anzahl von Malen längere Zeit auf eine Zuteilung gewartet hat.
  • Die Erfindung nach Anspruch 1 vermeidet die Nachteile eines reinen Software- oder eines reinen Hardware-Systems, indem sie die Vorteile beider Systeme miteinander verbindet. Sie vermeidet außerdem das Problem, daß ein langsamer Anforderer mit niedriger Priorität ausgegrenzt wird, indem die Anzahl der den Hochprioritätsanforderern gewährten aufeinanderfolgenden Zugriffe begrenzt wird.
  • Mit der Erfindung kann mehreren Anforderern eine Prioritätsstufe zugewiesen werden, und es können sämtliche Konflikte gelöst werden, wobei der Anzahl der aufeinanderfolgenden Zugriffe eines Anforderers eine Grenze zugewiesen wird, und zwar in einem einzigen Anforderungs/Zugriffsberechtigungszyklus.
  • Gemäß der Erfindung weist ein System Zugriffsprioritätsstufen zu und setzt die zugehörigen Bump-Werte. Wenn Zugriffsanforderungen empfangen werden, erfolgt die Arbitrierung dieser Anforderungen entsprechend den zugewiesenen Prioritäten, den Bump-Werten und den empfangenen Zugriffsanforderungen. Wenn eine Zugriffsaniorderung auf Höchstprioritätsstufe gewährt wird, wird für diese Anforderung entsprechend den gesetzten Bump-Werten eine aufeinanderfolgende Anzahl von Zugriffsberechtigungen festgehalten. Wenn für mehr als einen aufeinanderfolgenden Anforderungs-/Zugriffsberechtigungszyklus ein Zugriff verlangt wird, kann der Zugriff auf dieser Prioritätsstufe solange wie erforderlich gehalten werden.
  • Spezifische Ausführungsbeispiele der Erfindung sind in den Unteransprüchen 2 bis 8 dargelegt.
  • Kurze Beschreibung der Zeichnung
  • Die Erfindung wird unter Bezugnahme auf die verschiedenen Figuren, in denen spezifische Ausführungsbeispiele der Erfindung dargestellt werden, und in denen gleiche Zahlen gleiche Elemente bezeichnen, ausführlich beschrieben.
  • FIG. 1 ist ein Blockdiagramm der Arbitrierungslogik.
  • FIG. 2 ist ein Blockdiagramm des Controllers für das Arbitrierungssystem.
  • FIG. 3 ist ein Blockdiagramm der Bumplogiksteuerung.
  • FIG. 4 ist eine Tabelle, in der die Zustandsmaschine zur Steuerung der Arbitrierungslogik spezifiziert wird.
  • Beschreibung des bevorzugten Ausführungsbeispiels
  • Folgende Definitionen sollen die Beschreibung des bevorzugten Ausführungsbeispiels verständlicher und überschaubarer machen.
  • Ein Bus-Master ist ein Schaltkreis, der auf mindestens einen zugeordneten Bus zugreifen und diesen steuern kann, und der für ein ordnungsgemäßes Funktionieren auf einen Bus zugreifen muß, zum Beispiel für Transfers mit direktem Speicherzugriff (DMA) zum Austausch von Daten zwischen einem Systemspeicher und einem Eingabe-/Ausgabegerät ohne Eingreifen des Systemprozessors.
  • Eine Sternarbitrierung ist ein Prioritätsanforderungssystem, das Zugriffsanforderungen parallel empfängt, und bei dem eine von mehreren parallelen Anforderungen zu einer Zugriffsberechtigung für den Anforderer mit der höchsten Priorität oder gemäß einem anderen Kriterium führt.
  • Das beschriebene Sternarbitrierungssystem hat vier Bus-Master, die in jeder Kombination und Reihenfolge um die Kontrolle eines Busses miteinander konkurrieren. Durch die Beschränkung auf vier Bus-Master wird die Systembeschreibung leichter verständlich, das System kann jedoch auf eine beliebige Anzahl von Bus-Mastern erweitert werden. Die verwendete Notation macht die Erweiterung des Systems auf mehr als vier Anforderer deutlich und hilft zum Verständnis der Beschreibung. Das für den Buszugriff beschriebene System gilt auch für andere Systeme mit mehreren Anforderern für den Zugriff auf Systemressourcen im allgemeinen.
  • Das Sternarbitrierungssystem gemäß der Erfindung hat programmierbare Variablen, die durch einen zugeordneten Prozessor gesetzt werden können. Zu den programmierbaren Funktionen gehört eine Prioritätsstufenzuweisung für jeden Bus-Master und ein jedem Bus-Master zugeordneter Bump-Wert, der eine Bussperrfunktion steuert. Das System kann Konflikte lösen, die dadurch entstehen, daß mehr als einem Bus-Master dieselbe Prioritätsstufe zugewiesen wird.
  • Der Bump-Wert bestimmt die Anzahl von Anforderungs/Zugriffsberechtigungszyklen, die ein Bus-Master höherer Priorität anderen Bus-Mastern, die einen Zugriff auf den Bus anfordern, abtreten muß.
  • Die Anzahl der Bus-Master in der folgenden Beschreibung ist auf vier begrenzt; sie sind mit A, B, C oder D bezeichnet und allgemein als X dargestellt. Jeder hat eine getrennte Anforderungsleitung, REQX, und eine getrennte Berechtigungsleitung, GNTX. Jeder Bus-Master hat eine zugewiesene Priorität, Px(1,0), das heißt, eine aus zwei Bits bestehende binäre Zahl. Der Wert 00, oder dezimal 0, stellt die höchste Priorität dar, und der Wert 11, dezimal 3, ist die niedrigste Priorität. Die den Bus-Mastern zugewiesenen Prioritäten müssen sich nicht unbedingt gegenseitig ausschließen. Mit anderen Worten, es können verschiedenen Bus-Mastern dieselben Prioritätsstufen zugewiesen werden.
  • Jeder Bus-Master hat außerdem einen ihm zugewiesenen Bump- Wert, BX(1,0), aus Darstellungsgründen eine binäre Zahl mit zwei Bits. Der einem Bus-Master zugewiesene Bump-Wert legt die Anzahl von Anforderungs-/Zugriffsberechtigungszyklen fest, die der Bus-Master an andere Bus-Master abtreten muß, und zwar ausschließlich dann, wenn noch andere Anforderungen anstehen.
  • Die Prioritätsstufen und die Bump-Werte werden vom steuernden Prozessor über einen Prozessorbus geliefert. Zur Taktung wird eine Zweiphasen-Takt eingesetzt und das System ist so angeordnet, daß die in Reaktion auf Anforderungen gewährte Prioritat in einem Anforderungs-/Zugriffsberechtigungszyklus abgeschlossen wird, durch Einsetzen eines mehrstufigen logischen Netzes.
  • Obwohl PX und BX als Zwei-Bit-Werte beschrieben sind, können sie auf eine beliebige Bit-Anzahl erweitert werden. Wenn X eine Prioritätsanforderung gewährt wird, wird ein Signal GPX gesetzt und bleibt für die Anzahl von Anforderungs/Zugriffsberechtigungszyklen gesetzt, die durch den Bump- Wert, BX(1,0), dargestellt sind. Das Setzen von GPX bewirkt, daß die Prioritätsstufe des zugeordneten Busmasters X um eine Stufe nach unten gesetzt wird, beispielsweise von Stufe 0 auf Stufe 1. Wenn ein anderer Bus-Master die Kontrolle über den Bus bekommt, wird der Bump-Wert bei jedem Anforderungs/Zugriffsberechtigungszyklus zurückgezählt, bis er Null erreicht, wodurch der zugehörige Bus-Master nochmals die Kontrolle über den Bus erhält, oder wenn die anderen einen Zugriff anfordernden Bus-Master bis zur selben Prioritätsstufe zurückgesetzt wurden. Mit anderen Worten, der Bump-Wert setzt die Anzahl von Anforderungs-/Zugriffsberechtigungszyklen, in denen andere Bus-Master die Kontrolle über den Bus zwischen aufeinanderfolgenden Zugriffen durch jeden Bus-Master bekommen können. Der Wert von BX wird
  • 1) zurückgezählt, wenn ein neuer Bus-Master die Kontrolle über den Bus bekommt,
  • 2) auf Null gesetzt, wenn kein Bus-Master die Kontrolle über den Bus anfordert, und
  • 3) auf seinen ursprünglichen Wert gesetzt, wenn der zugehörige Bus-Master die Kontrolle über den Bus bekommt.
  • Wenn zwei Bus-Mastern dieselbe Prioritätsstufe zugewiesen wurde oder es zu einem Konflikt kommt, wird die Priorität in alphabetischer Reihenfolge gewährt. Das heißt, A geht vor B, B geht vor C, und so weiter. Die Entscheidung hieruber wird aufgrund der Art und Weise getroffen, in der die Anforderungsleitungen mit der Logik verbunden sind.
  • Es werden zwei programmierbare Betriebsmodi bereitgestellt. Der eine ist ein nicht verzahnter Betriebsmodus, ACMODE = 1, bei dem der Prozessor häufiger auf den Bus zugreifen kann, der andere ist ein verzahnter Betriebsmodus, ACMODE = 0, der aufeinanderfolgende Prioritätsanforderungen effizienter abwickeln kann. Der Betriebsmodus kann abhängig davon gesetzt werden, ob eine große Anzahl von Prozessor-Speicherzugriffen voraussehbar ist, oder eine große Anzahl von Prioritätsanforderungen erforderlich sein wird, zum Beispiel das Laden großer Datenmengen, beispielsweise Seitenpuffer.
  • In der folgenden Beschreibung stellt "&" die logische UND- Operation dar; "v" stellt die logische ODER-Operation dar; "@" stellt die logische Exklusiv-ODER-Operation dar; und "'" stellt die logische NICHT-Operation dar.
  • Der Buchstabe X stellt in dem bevorzugten Ausführungsbeispiel die variablen Bezeichner A, B, C und D dar. REQX stellt zum Beispiel vier Signale dar, nämlich REQA, REQB, REQC und REQD. Hierdurch kann eine Notation allgemeiner Art eingesetzt werden, die jede Anzahl von variablen Bezeichnern einschließt. Zum Beispiel: bei einem Ausführungsbeispiel, das acht Anforderungsstufen benötigt, kann REQX REQA bis REQH darstellen. Für die Prioritäts- und Bump-Werte können auch mehr als zwei Bits (Binärziffern) verwendet werden. Die verwendete Notation macht die Erfindung außerdem leichter verständlich.
  • Zwei Zeitimpulse, T1 und T2, wechseln einander ab; sie enthalten einen Zweiphasentakt für Taktgabezwecke.
  • FIG. 1 zeigt das logische Diagramm für das Arbitrierungsnetz. Ein Bus-Latch 101, der eine Vielzahl von Flip-Flops umfaßt, dient zum Einleiten des Prozesses durch Speichern von Bits von einem Prozessorbus in Reaktion auf ein START-Signal, das von einem Zeitimpuls T1 durch ein UND-Gatter 103 durchgeschaltet wird. Das Ausgangssignal von dem UND-Gatter 103 wird auch als RST-Signal von der Steuerlogik verwendet.
  • In dem beschriebenen Ausführungsbeispiel bilden acht Bits (zwei Bits pro Bus-Master) die Bump-Werte, die über einen Multiplexer 105 in ein Acht-Bit-Register 109 eingetastet werden. Das heißt, die gespeicherten Bits aus dem Register 101 werden durch den Multiplexer 105 durch einen Zeitimpuls T2 in das Register 109 eingetastet. Zur gleichen Zeit werden acht Bits, welche die Prioritätszuweisungen bezeichnen, in ein Register 111 eingetastet. Zu einem Zeitpunkt T1 wird der Inhalt des Registers 109 in ein Register 119 eingetastet und der Inhalt des Registers 111 wird in ein Register 115 eingetastet.
  • Derselbe T1-Taktgebeimpuls speichert außerdem in einem Vier- Bit-Register 117 die aktiven Prioritätsanforderungssignale REQA, REQB, REQC oder REQD. Diese Signale werden kollektiv mit REQX bezeichnet und werden zusammen geODERt, um ein VREQX-Signal zu erzeugen, das von der Steuerlogik verwendet wird.
  • Zwischen dem Zeitimpuls T1 und dem nächsten Zeitimpuls T2 laufen die Signale von den Registern 115, 117 und 119 durch vier Stufen einer Kombinationslogik. Die Kombinationslogik auf der vierten Stufe 127 erzeugt eine neue durch ein Zeitgabesignal eingetastete Prioritätsgewährung, PGNT. Die Ausgangssignale aus der vierten Stufe 127 der Kombinationslogik werden durch einen Zeitimpuls T2 in die Flip-Flops 131, 133, 135 und 137 eingetastet.
  • Die erste Stufe 121 der Kombinationslogik kombiniert die Bump-Wert-Bits BX(1,0) und die REQX-Bits, um vier Ausgangssignale&sub1; XREQ, zu erzeugen.
  • XREQ = REQX & (GPX & LR)' ( 1)
  • hierbei ist GPX = BX1 v BX0, und ( 2)
  • LR = v(REQX & GPX') ( 3)
  • Enthält das linke Element der logischen Gleichung ein X, wird der Ausdruck, der das rechte Element der logischen Gleichung bildet, viermal ausgewertet, und es werden hintereinander für X die logischen Variablenbezeichner A, B, C und D eingesetzt.
  • In der Gleichung (1) wird beispielsweise angezeigt, daß vier logische Signale erzeugt werden, nämlich AREQ, BREQ, CREQ und DREQ. Jede Signalkomponente wird abgeleitet, indem man in dem rechten Element der Gleichung denselben Variablenbezeichner austauscht, zum Beispiel,
  • AREQ = REQA & (GPA & LR)',
  • BREQ = REQB & (GPB & LR)',
  • und so weiter.
  • Die Gleichung (3) hat für LR auf der linken Seite keinen Variablenbezeichner X, jedoch erscheint X in dem rechten Ausdruck. Die in Gleichung (3) verwendete Notation gibt an, daß der Term in Klammern für alle Werte von X geEODERt wird, das heißt, für A, B, C und D. Das heißt,
  • LR=(REQA & GPA') v (REQB & GPB') v
  • (REQC & GPC') v (REQD & GPD').
  • Die XREQ-Signale von der ersten Stufe 121 der Kombinationslogik werden als Eingangssignale an die nächsten beiden Stufen der Kombinationslogik 123 und 125 angelegt.
  • Die XREQ-Signale werden ebenfalls geODERt und liefern ein VXREQ-Signal an den Controller, das in einer nachfolgend noch ausführlicher beschriebenen Weise eingesetzt wird.
  • Die zweite Stufe 123 der Kombinationslogik kombiniert die XREQ-Signale und die PX(1,0)-Prioritätssignale und erzeugt vier Ausgangssignale, GNT(0-3), und zwar wie folgt:
  • GNT0 = REQ0; ( 4)
  • GNT1 = REQ1 & REQ00'; ( 5)
  • GNT2 = REQ2 & (REQ1 v REQ0)'; ( 6)
  • GNT3 = REQ3 & (REQ2 v REQ1 v REQ0)', ( 7)
  • hierbei ist REQn = v(XREQ & PX(1,0)=n), n=0,1,2,3. ( 8)
  • Gleichung (8) wird als das ODERn der geUNDeten Werte von XREQ mit den Prioritätsbits Px(1,0) interpretiert, welche auf den angegebenen Wert von n dekodiert werden. Zum Beispiel
  • REQ0 = v(XREQ & PX1 & PX0') ( 9)
  • = v(XREQ & (PX1 v PX0)') (10)
  • Gleichung (10) wird unter Anwendung des Demorganschen Theorems von Gleichung (9) abgeleitet.
  • Ein anderes Beispiel der Gleichung (8) unter Einsatz von n=2 ist
  • REQ2 = (AREQ & (PA1' v PA0)') v
  • (BREQ & (PB1' v PB0)') v
  • (CREQ & (PC1' v PC0)') v
  • (DREQ & (PD1' v PD0)'). (11)
  • Die Gleichungen (4) bis (7) können verallgemeinert werden zu GNTn = REQn & v(REQi)' für i = 0,1,...,n-1
  • In der dritten Stufe 125 der Kombinationslogik werden die Signale XREQ, GNT (0-3) und PX (1,0) miteinander kombiniert und erzeugen vier Ausgangssignale, XGNT, durch XGNT = XREQ & v(GNTn & PX(1,0)=n) (12)
  • Die XGNT-Signale werden durch ein Steuersignal PGNT eingetastet, das nachfolgend noch ausführlich beschrieben wird, und erzeugen ein Signal GNTX, das letzte Prioritätsgewährungssignal, das in einem entsprechenden Flip-Flop 131, 133, 135 oder 137 durch einen Zeitimpuls T2 gespeichert wird. Die Prioritätsgewährungssignale werden erzeugt durch GNTX=PGNT & XGNT & (v(YGNT))' Y=A,B...,X-1 (13)
  • wobei Y eine Ersatzvariable, das heißt, eine Scheinvariable für X ist, um den geODERten Wert der logischen Variablenbezeichner bis X, jedoch X nicht einschließend, zu benennen. Zum Beispiel,
  • GNTC = PGNT & CGNT & (AGNT v BGNT)' (14)
  • Die GNTX-Signale werden von der Steuerlogik verwendet und werden auch geODERt, um ein VGNTX-Signal zu erzeugen, das vom Controller verwendet wird.
  • Der Multiplexer 105 stellt acht parallele Multiplexer dar, die jeweils von den Signalen XK0 und XK1 gesteuert werden. Das heißt, es gibt zwei Bit-Bump-Werte für jeden Anforderungskanal, A, B, C und D. Die Multiplexer können die Register 109 zurücksetzen, indem sie logische Nullen eintasten, wenn die Werte von XK1 und XK0 gleich Null sind. Wenn die XK- Werte gleich Eins sind, werden die Bits vom Register 101 zum Register 109 durchgeschaltet. Wenn die XK-Werte Zwei sind, werden die momentanen Bump-Werte im Register 119 zurückge- zählt und im Register 109 gespeichert. Ein XK-Wert von Drei führt den vorherigen Bump-Wert des Registers 119 in das Register 109 zurück.
  • FIG. 3 zeigt ein Blockdiagramm der Bump-Steuerlogik. Die Steuerlogik 301 wird für jeden Wert von X beliefert, in dem beschriebenem Ausführungsbeispiel vier Werte. Alle Eingangssignale zu der Logik 301 sind für jeden Wert von X, mit Ausnahme des Signals GNTX, gleich. Die Signale STATE C und DMAREQ werden von der Controller-Logik geliefert, wie nachfolgend ausführlich beschrieben wird. Die Signale VXREQ und VREQX wurden weiter oben beschrieben. Das Signal HOLD wird von einem steuernden Prozessor geliefert und kann in einem zusätzlichen Latch von den Prozessormagazinen im Register 101 der FIG. 1 gespeichert werden.
  • Die Ausgangssignale, XK1 und XK0, von der Bump-Steuerlogik 301 steuern einen zugehörigen Multiplexer 1051 der in FIG. 1 gezeigt wird.
  • Der Multiplexer 105 wird durch folgende logischen Gleichungen gesteuert:
  • XK=0: v(REQX)' v RST (15)
  • XK=1: PRI & XGNT (16)
  • XK=2: PRI & XGNT' (17)
  • XK=3: v(REQX) & RST' & PRI' (18)
  • hierbei ist PRI = STATE C & VXREQ & DMAREQ & HOLD' (19)
  • Von den Gleichungen (15)-(18) werden die logischen Gleichungen für die einzelnen Steuerbits abgeleitet:
  • XK1 = (PRI & GNTX') v (v(REQX) & RST' & PRI') (20)
  • XK0 = v(REQX)' v RST v (PRI & GNTX) (21)
  • Die obigen Gleichungen sind eine komplette Spezifikation des logischen Netzes der Bump-Steuerlogik 301.
  • Der Rückwärtszähler 107 in FIG. 1, einer pro Bump-Wert- Gruppe&sub1; arbeitet entsprechend den folgenden logischen Gleichungen:
  • BX1* = (BX1 @ BX0)' (22)
  • BX0* = BX0' (23)
  • hierbei steht BXn* für die Ausgangssignale vom Rückwärtszähler 107, die durch den Zeitimpuls T1 in das Register 109 eingetastet werden.
  • Die Quelle der Signale, welche in der Gleichung 19 die PRI- Signale bilden, ist der Controller, wie nachfolgend noch ausführlich erklärt wird.
  • Zusätzlich zu den Prioritätszuordnungen, PX, und den Bump- Werten BX, die vom Prozessor geliefert werden, gibt es noch andere Signale vom Prozessor, die von Interesse sind, hierunter ein LSP-Signal (Laden/Speichern steht an), welches anzeigt, daß der Zentralprozessor den Zugriff auf den Bus anfordert. Hierdurch werden die Prioritätsanforderungsgewährungen gesperrt, bis der Zentralprozessor den von ihm angeforderten Zugriff auf den Bus abgeschlossen hat.
  • Wenn ein Bus-Master die Kontrolle über den Bus für mehr als einen Anforderungs-/Zugriffsberechtigungszyklus anfordert, das heißt, für ein DMA-Bündel von mehreren Anforderungs/Zugriffsberechtigungszyklen, sendet er ein HOLD-Signal. Ein HOLD-Signal kann aber auch von einer Ressource gesendet werden, wenn diese mehrere zusammenhängende Anforderungs/Zugriffsberechtigungszyklen anfordert.
  • Diese Signale steuern die in FIG. 2 gezeigte Controller-Zustandsmaschine. Die Controller-Logik umfaßt eine sequentielle Zustandsmaschine mit vier Zuständen. Die Signale vom Control- ler, die hierbei von Interesse sind, sind die Signale PGNT und DMAREQ.
  • Das DMAREQ-Signal wird vom Controller gesendet, wenn eine Anforderung die Zugriffsberechtigung erhält, um den Controller, eine Zustandsmaschine, davon abzuhalten, einen Zustand zu verändern, oder einer weiteren Anforderung die Zugriffsberechtigung zu gewähren&sub1; bis der Bus-Master, dem die Zugriffsberechtigung gewährt wurde, tatsächlich die Kontrolle über den Bus übernommen hat. Das DMAREQ-Signal wird zurückgesetzt, wenn ein Bus-Master die Kontrolle über den Bus übernimmt. In der Logik des Controllers wird durch ein Ausgangssignal von der Steuerlogik ein Flip-Flop 203 gesetzt, der das DMAREQ- Signal liefert. Der Flip-Flop 203 wird zurückgesetzt, wenn ein Bus-Master die Kontrolle über den Bus erhält, wie es von dem Signal VGNTX angezeigt wird.
  • Die Eingangssignale in die controller-Logik 201 sind das momentane Zustandssignal, die Signale vom Prozessor (HOLD, LSP, ACMODE) und das VXREQ-Signal von der Arbitrierungslogik der FIG. 1.
  • Die Ausgangssignale von der Controller-Logik 201 sind das Signal PGNT und das Signal, welches das DMAREQ-Signal setzt. In einem kompletten System sind möglicherweise noch andere Ausgangssignale erforderlich, die jedoch zur Beschreibung der Erfindung nicht von Interesse und auch nicht erforderlich sind.
  • Die Tabelle der FIG. 4 ist eine vollständige Spezifikation der Controller-Logik.
  • Die ersten neun Reihen der FIG. 4 stellen Eingangssignale und Zustandssignale des Controllers dar.
  • Die unteren sechs Reihen der FIG. 4 sind die Ausgangssignale, die sich aus den Eingangs- und den Zustandssignalen ergeben.
  • Die oberen vier Reihen sind die möglichen Maschinenzustände. (Die Zustandskennzeichen von A, B, C und D haben keine Beziehung zueinander und sind vollkommen unabhängig von den Kennzeichen der Bus-Master.) Im verzahnten Modus verwendet der Controller alle vier Zustände. Im nicht verzahnten Modus werden nur die Zustände A und C verwendet.
  • Zustand A ist der Ausgangszustand beim ersten Einschalten der Maschine und ist im Betrieb der Leerlauf zustand. Zustand B ist der Wartezustand oder der Festhaltezustand. Zustand C ist der GO-Zustand, in dem die Operationen der Hardware gesteuert werden, hauptsächlich durch die Erzeugung des PGNT-Signals. Zustand D ist der Lückenzustand; er erhält die Steuersignale vom Zustand C, um einen glatten übergang in den Leerlaufzustand zu ermöglichen.
  • In den Spalten der ersten neun Reihen zeigt ein Wert 1, daß sich die Maschine in dem Zustand befindet, der durch die Reihe dargestellt wird, in der die 1 erscheint, oder daß das durch die Reihe dargestellte logische Signal wahr (aktiv) ist. Eine 0 stellt das dazugehörige logische Signal als falsch (inaktiv) dar. Eine Leerstelle bedeutet, daß der Wert des logischen Signals nicht benötigt wird, allgemein als nicht zu beachtender Wert bezeichnet.
  • In den Spalten der unteren sechs Reihen weist ein X darauf hin, daß das der Reihe mit dem X zugeordnete Signal erzeugt wird. Die Maßnahme ist das logische UND-Ergebnis der Variablen in den oberen neun Reihen derselben Spalte.
  • Beispielsweise zeigt die erste Spalte, daß sich der Controller im Zustand A befindet, daß das Signal LSP aktiv ist und daß das Signal ACMODE inaktiv ist. Die aus dieser Kombination von Signalen entstehende Maßnahme ist die Auswahl von A, das heißt, bewirke, daß der Zustand A der nächste Zustand ist. Die logische Gleichung, die durch die erste Spalte dargestellt wird, sieht wie folgt aus:
  • SELECT A = STATE A & LSP & ACMODE' (24)
  • Die zweite Spalte stellt die Maßnahme im Zustand A dar, wenn sich die Maschine nicht im ACMODE befindet und sowohl das Signal DMAREQ als auch das Signal HOLD aktiv sind, während das Signal LSP inaktiv ist. Der nächste ausgewählte Zustand ist der Zustand B. Das heißt,
  • SELECT B = STATE A & LSP' & ACMODE' & DMAREQ & HOLD (25)
  • Im Zustand B bewirken dieselben Signale, daß der Zustand B als der nächste Zustand ausgewählt wird, das heißt, der Controller tritt in den Wartezustand ein und bleibt in diesem Zustand.
  • Wenn das LSP-Signal im Zustand B aktiv ist, während das ACMODE-Signal inaktiv bleibt, wird der Zustand A ausgewählt.
  • Die Maßnahmen, die in den Zuständen des Controllers der FIG. 4 von Interesse sind, finden in den Zuständen C und D statt, wenn das Signal VXREQ aktiv ist. Diese Bedingungen erzeugen die Signale DMAREQ und PGNT. Diese beiden Signale hängen nur von dem Zustand und vorn Signal VXREQ ab.
  • Die letzten sechs Spalten zeigen die Zustandsübergänge im ACMODE. Die Ausgangssignale, DMAREQ und PGNT, werden nur im Zustand C erzeugt, wenn das Signal VXREQ aktiv ist. Ohne die Zwischenzustände B und D kann die Controller-Maschine jedoch auf voneinander abhängige, aufeinanderfolgende Anforderungssignale reagieren.

Claims (8)

1. Ein Zugriffsprioritäts-Arbitrierungssystem in einem Datenverarbeitungssystem, um für die Dauer eines Zeitraums einen Anforderer aus einer Vielzahl von gleichzeitigen Anforderern auszuwählen, folgendes umfassend:
Mittel, um an jedem Zeitraum Zugriffsanforderungen von jedem der genannten Vielzahl von Anforderern zu empfangen;
Mittel, um jedem Anforderer der genannten Vielzahl von Anforderern Prioritätsstufen zuzuweisen;
Mittel, um für jeden Anforderer der genannten Vielzahl von Anforderern die ursprünglichen Bump-Werte zu setzen, wobei der genannte Bump-Wert die Anzahl von Zeiträumen darstellt, die ein gegebener Anforderer an andere Anforderer mit niedrigerer Prioritätsstufe zwischen aufeinanderfolgenden Auswahlen des genannten gegebenen Anforderers abtreten muß;
Mittel, um an jedem Zeitraum den genannten Bump-Wert, der einem gegebenen Anforderer zugeordnet ist, auf Null zu setzen, wenn kein anderer Anforderer da ist;
Mittel, um an jedem Zeitraum den genannten Bump-Wert, der einem gegebenen Anforderer zugeordnet ist, auf seinen ursprünglichen Wert zu setzen, wenn der genannte gegebene Anforderer ausgewählt wird;
Mittel, um an jedem Zeitraum einen Bump-Wert, der nicht Null ist, und der einem gegebenen Anforderer zugeordnet ist, zurückzuzählen, wenn ein anderer Anforderer ausgewählt wird; Mittel, die auf die genannten Prioritätsstufen, auf die genannten Zugriffsanforderungen und auf die genannten Bump-Werte reagieren, zum Auswählen eines Anforderers aus der genannten Vielzahl von Anforderern.
2. Das System nach Anspruch 1, Mittel enthaltend zum Steuern eines Betriebsmodus, so daß die Arbitrierung schneller ausgeführt werden kann, wenn eine große Anzahl von Zugriffsanforderungen erwartet wird.
3. Datenverarbeitungsystem, ein Zugriffsprioritäts-Arbitrierungssystem nach Anspruch 1 umfassend, und weiter folgendes umfassend:
eine Vielzahl von Anforderungsleitungen, um an das genannte Zugriffsprioritäts-Arbitrierungssystem Anforderungssignale zu senden, die anzeigen, daß ein Zugriff auf Ressourcen angefordert wird;
ein erstes Mittel zur Zuweisung von Prioritätsstufen für jede der genannten Vielzahl von Anforderungsleitungen;
ein zweites Mittel, um jeder der genannten Vielzahl von Anforderungsleitungen einen Bump-Wert zuzuweisen; und
Ausgabemittel, die auf das genannte Zugriffsprioritäts- Arbitrierungssystem und die genannten Anforderungssignale reagieren, zur Einspeisung von Zugriffsgewährungssignalen in eine der genannten Vielzahl von Anforderungsleitungen.
4. System nach Anspruch 3, folgendes umfassend:
Modus-Mittel zum Setzen eines Betriebsmodus; und Mittel, die auf das genannte Modus-Mittel reagieren, und die bewirken, daß der genannte Ausgang Zugriffsberechtigungssignale mit einer anderen Geschwindigkeit einspeist.
5. System nach Anspruch 3 oder 4, Aussperrungsmittel enthaltend, die auf die genannten Zugriffsberechtigungssignale und auf die genannten Bump-Werte reagieren, zum Sperren eines Zugriffsberechtigungssignals an eine Anforderungsleitung, an die zuvor ein Zugriffsberechtigungssignal gesendet wurde, wenn der diesem zugeordnete Bump-Wert größer als Null ist.
6. System nach Anspruch 5, weiter umfassend Rückzählmittel, die auf das genannte Aussperrmittel und die genannten Berechtigungssignale reagieren, zum Rückzählen eines Bump-Wertes, der nicht Null ist, und der einer Anforderungsleitung zugeordnet ist, wenn ein Zugriffssignal einer anderen Anforderungsleitung gewährt wird.
7. System nach Anspruch 6, weiter enthaltend Initialisierungs-Mittel, die auf ein Nichtvorhandensein der genannten Anforderungssignale reagieren, um alle Bump-Werte auf einen Wert zu setzen, der von dem genannten zweiten Mittel gesetzt wurde.
8. System nach Anspruch 7, weiter enthaltend Nullstellungsmittel, die auf die genannten Anforderungssignale reagieren, um einen Bump-Wert einer Anforderungsleitung, die ein Anforderungssignal sendet, auf Null zu setzen, wenn keine anderen Anforderungssignale vorliegen.
DE69028017T 1990-01-31 1990-12-28 Arbitrierungssystem mit Beschränkung der aufeinanderfolgenden Zugriffsberechtigungen von Hochprioritätsanforderungen Expired - Fee Related DE69028017T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/473,014 US5506989A (en) 1990-01-31 1990-01-31 Arbitration system limiting high priority successive grants

Publications (2)

Publication Number Publication Date
DE69028017D1 DE69028017D1 (de) 1996-09-12
DE69028017T2 true DE69028017T2 (de) 1997-02-06

Family

ID=23877830

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69028017T Expired - Fee Related DE69028017T2 (de) 1990-01-31 1990-12-28 Arbitrierungssystem mit Beschränkung der aufeinanderfolgenden Zugriffsberechtigungen von Hochprioritätsanforderungen

Country Status (4)

Country Link
US (1) US5506989A (de)
EP (1) EP0439987B1 (de)
JP (1) JP2559906B2 (de)
DE (1) DE69028017T2 (de)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE515316C2 (sv) * 1994-09-13 2001-07-16 Ericsson Telefon Ab L M Förfarande och anordning för att styra ett datanät
US5787264A (en) * 1995-05-08 1998-07-28 Apple Computer, Inc. Method and apparatus for arbitrating access to a shared bus
US6330326B1 (en) 1998-03-27 2001-12-11 At&T Corp. Dynamic staffing of service centers to provide substantially zero-delay service
US6233645B1 (en) * 1998-11-02 2001-05-15 Compaq Computer Corporation Dynamically disabling speculative prefetch when high priority demand fetch opportunity use is high
US6530000B1 (en) 1999-03-24 2003-03-04 Qlogic Corporation Methods and systems for arbitrating access to a disk controller buffer memory by allocating various amounts of times to different accessing units
US6425032B1 (en) 1999-04-15 2002-07-23 Lucent Technologies Inc. Bus controller handling a dynamically changing mix of multiple nonpre-emptable periodic and aperiodic devices
US6523098B1 (en) * 1999-12-22 2003-02-18 Intel Corporation Mechanism for efficient low priority write draining
FR2829253A1 (fr) * 2001-08-31 2003-03-07 Koninkl Philips Electronics Nv Controle d'acces dynamique d'une fonction a ressource collective
US7111228B1 (en) 2002-05-07 2006-09-19 Marvell International Ltd. System and method for performing parity checks in disk storage system
US7287102B1 (en) 2003-01-31 2007-10-23 Marvell International Ltd. System and method for concatenating data
US7007114B1 (en) * 2003-01-31 2006-02-28 Qlogic Corporation System and method for padding data blocks and/or removing padding from data blocks in storage controllers
US7099963B2 (en) * 2003-03-10 2006-08-29 Qlogic Corporation Method and system for monitoring embedded disk controller components
US7039771B1 (en) 2003-03-10 2006-05-02 Marvell International Ltd. Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers
US7219182B2 (en) * 2003-03-10 2007-05-15 Marvell International Ltd. Method and system for using an external bus controller in embedded disk controllers
US7870346B2 (en) * 2003-03-10 2011-01-11 Marvell International Ltd. Servo controller interface module for embedded disk controllers
US7064915B1 (en) 2003-03-10 2006-06-20 Marvell International Ltd. Method and system for collecting servo field data from programmable devices in embedded disk controllers
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo controllers
US7526691B1 (en) 2003-10-15 2009-04-28 Marvell International Ltd. System and method for using TAP controllers
US7139150B2 (en) * 2004-02-10 2006-11-21 Marvell International Ltd. Method and system for head position control in embedded disk drive controllers
US7120084B2 (en) 2004-06-14 2006-10-10 Marvell International Ltd. Integrated memory controller
US8166217B2 (en) * 2004-06-28 2012-04-24 Marvell International Ltd. System and method for reading and writing data using storage controllers
US9201599B2 (en) * 2004-07-19 2015-12-01 Marvell International Ltd. System and method for transmitting data in storage controllers
US7757009B2 (en) 2004-07-19 2010-07-13 Marvell International Ltd. Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
US8032674B2 (en) * 2004-07-19 2011-10-04 Marvell International Ltd. System and method for controlling buffer memory overflow and underflow conditions in storage controllers
US20060026329A1 (en) * 2004-07-30 2006-02-02 Yu James K System and method for an arbiter rewind
US7386661B2 (en) 2004-10-13 2008-06-10 Marvell International Ltd. Power save module for storage controllers
US7240267B2 (en) * 2004-11-08 2007-07-03 Marvell International Ltd. System and method for conducting BIST operations
US7802026B2 (en) * 2004-11-15 2010-09-21 Marvell International Ltd. Method and system for processing frames in storage controllers
US7577832B2 (en) * 2004-12-14 2009-08-18 Hewlett-Packard Development Company, L.P. Apparatus and method for booting a system
US7609468B2 (en) 2005-04-06 2009-10-27 Marvell International Ltd. Method and system for read gate timing control for storage controllers
US8984198B2 (en) * 2009-07-21 2015-03-17 Microchip Technology Incorporated Data space arbiter

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3840859A (en) * 1972-07-03 1974-10-08 Burroughs Corp Method and apparatus for regulating input/output traffic of a data processing system
US4554628A (en) * 1981-08-17 1985-11-19 Burroughs Corporation System in which multiple devices have a circuit that bids with a fixed priority, stores all losing bids if its bid wins, and doesn't bid again until all stored bids win
JPH0193854A (ja) * 1987-10-05 1989-04-12 Fujitsu Ltd バス・アービタ
US4920486A (en) * 1987-11-23 1990-04-24 Digital Equipment Corporation Distributed arbitration apparatus and method for shared bus
JPH02181854A (ja) * 1989-01-06 1990-07-16 Toshiba Corp 要求調停方式

Also Published As

Publication number Publication date
JP2559906B2 (ja) 1996-12-04
JPH04260954A (ja) 1992-09-16
EP0439987B1 (de) 1996-08-07
EP0439987A2 (de) 1991-08-07
US5506989A (en) 1996-04-09
DE69028017D1 (de) 1996-09-12
EP0439987A3 (en) 1992-05-06

Similar Documents

Publication Publication Date Title
DE69028017T2 (de) Arbitrierungssystem mit Beschränkung der aufeinanderfolgenden Zugriffsberechtigungen von Hochprioritätsanforderungen
DE3687257T2 (de) Arbitrierungsvorrichtung zur bestimmung der zugriffsprioritaet auf einen gemeinsamen bus.
DE3751391T2 (de) Verfahren und Vorrichtung zur Speichersteuerung.
DE69032481T2 (de) Buszugriff für Digitalrechnersystem
DE69632369T2 (de) HDLC-Anordnung mit verteiltem internen Bus
DE69312192T2 (de) Aufteilung des buszugriffs zwischen mehreren endlichen automaten mit minimaler wartezeit und priorisierung von ähnlichen zyklustypen
DE68922784T2 (de) Mehrfachbus-Mikrorechnersystem mit Busarbitrierung.
DE102005051478B4 (de) Flashdatenspeichervorrichtung
DE69423928T2 (de) Dynamisch programmierbarer Busarbiter mit Einrichtung zur historischen Rückmeldung
DE69128815T2 (de) Warteschlangen für gegenseitige Verriegelung
DE69124905T2 (de) Datenverarbeitungsvorrichtung zur dynamischen Zeiteinstellung in einem dynamischen Speichersystem
DE69834519T2 (de) Bussteuerungssystem und -verfahren
DE2809405C3 (de) Prioritätssteuerschaltung
DE69027515T2 (de) Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung
DE60314347T2 (de) Betriebsmittelverwaltungsgerät
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE69634182T2 (de) Direktspeicherzugriffssteuerung mit programmierbarer Zeitsteuerung
DE69030640T2 (de) Multiprozessorarbitrierung in für Einzelprozessor bestimmten Arbitrierungsschemas
DE69224279T2 (de) Verfahren und Gerät zur Arbitrierung auf Basis der Verfügbarkeit von Betriebsmitteln
DE3850387T2 (de) Vorrichtung und verfahren zum zugriff eines knotens auf einen bus.
DE69515355T2 (de) Mehrfacharbitrierungsschema
DE69030636T2 (de) Doppeldomänenspeichersteuerung
DE69026367T2 (de) Prioritätsvorrichtung mit programmierbarer knotenverweilzeit
DE602004012310T2 (de) Speicherschnittstelle für systeme mit mehreren prozessoren und einem speichersystem
DE4018481A1 (de) Mikroprozessor hold- und lock-schaltung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee