DE69131548T2 - Schneller Arbitrierer mit einfacher Anpassung für eine grosse Anzahl von Anforderern mit grosser Anzahl von mehreren Betriebsmitteltypen und selektierbaren Methoden von Warteschleifen - Google Patents

Schneller Arbitrierer mit einfacher Anpassung für eine grosse Anzahl von Anforderern mit grosser Anzahl von mehreren Betriebsmitteltypen und selektierbaren Methoden von Warteschleifen

Info

Publication number
DE69131548T2
DE69131548T2 DE69131548T DE69131548T DE69131548T2 DE 69131548 T2 DE69131548 T2 DE 69131548T2 DE 69131548 T DE69131548 T DE 69131548T DE 69131548 T DE69131548 T DE 69131548T DE 69131548 T2 DE69131548 T2 DE 69131548T2
Authority
DE
Germany
Prior art keywords
request
resource
position information
queue position
grant
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
DE69131548T
Other languages
English (en)
Other versions
DE69131548D1 (de
Inventor
Robert J. Simcoe
Robert E. Thomas
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.)
Enterasys Networks Inc
Original Assignee
Cabletron Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cabletron Systems Inc filed Critical Cabletron Systems Inc
Publication of DE69131548D1 publication Critical patent/DE69131548D1/de
Application granted granted Critical
Publication of DE69131548T2 publication Critical patent/DE69131548T2/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

Landscapes

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

Description

    Erfindungsfeld
  • Die vorliegende Erfindung betrifft die elektronische Systemzuteilung von einer oder mehreren gemeinsamen Ressourcen und insbesondere Systeme mit einer großen Anzahl von Anforderern und mehreren Instanzen von verschiedenen Ressourcentypen, wobei eine schnelle Zuteilung erforderlich ist.
  • Hintergrund
  • In modernen elektronischen Systemen ist häufig eine Ressourcenzuteilung erforderlich, um die Reihenfolge zu bestimmen, in welcher Anforderer auf gemeinsame Ressourcen zugreifen können. Bei größeren elektronischen Systemen wie zum Beispiel Computersystemen, Kommunikationssystemen wie etwa Telefonsystemen, lokalen oder weiträumigen Computernetzen ist die Anzahl der Anforderer und der Ressourcen groß. Die Ressourcen können in verschiedene Typen unterteilt werden, wobei viele der Typen mehrere Instanzen umfassen. Die Zuteilung der Ressourcen ist um so schwieriger, je größer die Anzahl der Anforderer und der Ressourcen ist.
  • Bei Computerkommunikationen muß der Zuteilungsprozeß schnell sein, weil die Verbindungszeit für die Übertragung eines Datenpakets nur einige wenige Mikrosekunden bis zu einigen wenigen Millisekunden dauern darf. Außerdem muß die Zuteilung schnell genug sein, um ein effizientes Schalten für derartig kurze Verbindungszeiten zu ermöglichen.
  • Eine schnelle Zuteilung bei großen Anzahlen von Anforderern und Ressourcen stellt eine schwierige Anforderung für die Entwicklung von Zuteilungsschemata dar. Gegenwärtige Zuteiler sind entweder zu langsam oder sind nicht für die Verwendung mit großen Anzahlen von Anforderern und Resssourcentypen mit jeweils mehreren Instanzen geeignet.
  • Im folgenden werden Beispiele für bekannte Zuteilungssysteme beschrieben.
  • Ein erstes Beispiel für ein bekanntes Zuteilungssystem ist ein als Ringmodell-Abfrage bezeichneter Typ von Ressourcenzuteilung. In dem Ringmodell werden alle Anforderer für die gemeinsamen Ressourcen entweder logisch oder physikalisch in einem Ring angeordnet. Der Zuteiler fragt die Anforderer in der Reihenfolge ab, in welcher diese im Ring angeordnet sind. Der Zuteiler gewährt dem ersten Anforderer mit einer aktiven Anforderung im Ring Zugang zu einer gemeinsamen Ressource. Wenn ein Anforderer den Zugriff auf die Ressource beendet, nimmt der Zuteiler das Abfragen beim nächsten Anforderer in der vorbestimmten Reihenfolge wieder auf. Ein Beispiel für ein verteiltes Ringmodell ist ein Tokenweitergabe- Lokalnetzwerk wie etwa der IEEE-Standard 802.5.
  • Ein zweites Beispiel für ein bekanntes Zuteilungssystem ist ein Abfragen mit festgelegter Priorität. Dieses Schema ist der Ringmodell-Abfrage ähnlich, unterscheidet sich aber wie folgt: wenn die gemeinsame Ressource wieder frei wird, beginnt das Abfragen der Anforderer immer an einem konstanten vorbestimmten Punkt, d. h. bei dem Anforderer mit der höchsten Priorität.
  • Als drittes Beispiel für ein bekanntes Zuteilungssystem kann das Abfragen mit festgelegter Priorität auch mit einem "Anforderungsschnappschuß" durchgeführt werden, um zu verhindern, daß ein bestimmter Anforderer über einen längeren Zeitraum hinweg nicht auf eine gemeinsame Ressource zugreifen kann. Das kann zum Beispiel bei Anforderern mit niedriger Priorität in dem Abfragesystem mit festgelegter Priorität der Fall sein.
  • In dem Schnappschußschema wird ein "Schnappschuß" aller anstehenden Anforderungen gemacht, nachdem alle Anforderungen eines vorhergehenden "Schnappschusses" bedient wurden. Alle Anforderungen in dem "Schnappschuß" werden dann in Übereinstimmung mit den vorbestimmten Abfrageregeln bedient. Neue während der Zeitperiode nach dem "Schnappschuß" auftretende Anforderungen werden verhindert oder ignoriert, bis der nächste Schnappschuß gemacht wird. Das Schema mit den Anforderungsschnappschüssen garantiert, daß auch der Anforderer mit der niedrigsten Priorität bedient wird, wenn seine Anforderung in einem Schnappschuß erscheint. Weiterhin kann jeder der Anforderer eine gemeinsame Ressource nicht öfter als einmal pro Schnappschuß erhalten. Ein Beispiel für ein verteiltes Abfrageschema mit festgelegter Priorität und mit Schnappschüssen ist das IEEE P1196 Nußus-Schema.
  • Ein viertes Beispiel für ein bekanntes Zuteilungssystem ist die Konkurrenzzuteilung, welche es erlaubt, daß ein oder mehrere Anforderer versuchen, die gemeinsame Ressource zu einem beliebigen Zeitpunkt zu erhalten, wenn die Anforderer feststellen, daß die Ressource verfügbar ist. Ein mögliches Problem bei diesem Schema tritt jedoch dann auf, wenn ein oder mehrere Ressourcen miteinander kollidieren, ohne daß eine der Ressourcen Zugriff auf die gemeinsame Ressource erhält. Es wurden Schemata entwickelt, um dieses Problem zu beseitigen, wobei die betreffenden Anforderer dann bei einer Kollision einer vorbestimmten Prozedur für eine erneute Anforderung folgen. Diese Prozedur kann das Warten für ein zufällig gewähltes Zeitintervall nach der Kollision umfassen, bevor die Anforderung erneut erzeugt wird. Ein Beispiel für eine Konkurrenzzuteilung ist das Ethernetschema für einen Vielfachzugriff mit Leitungsüberwachung des IEEE 802.3-Standards (CSMA-CD).
  • Ein fünftes Beispiel für ein bekanntes Zuteilungssystem ist ein als Warteschlange bezeichnetes Verfahren zur Ressourcenzuteilung. In dem Warteschlangenschema werden alle Anforderungen in einen als Warteschlange bezeichneten Speicherbereich eingegeben. Die Anforderungen aus der Warteschlange werden in Übereinstimmung mit einer vorbestimmten Warteschlangenregel bedient, wobei die am häufigsten verwendete Regel darin besteht, daß die zuerst eingegebenen Anforderungen zuerst bedient werden. Es bestehen viele verschiedene Möglichkeiten zur Implementierung eines Warteschlangenschemas, wie zum Beispiel die Verwendung von Schieberegisterspeichern, zirkulären Puffern und verknüpften Listen.
  • Zuteilungsschemata können weiterhin danach klassifiziert werden, ob sie zentralisierte oder verteilte Zuteilungsschemata sind. In einem zentralisierten Zuteilungsschema ist ein Zuteiler separat zu den Anforderern vorgesehen, wobei der Zuteiler nur dafür verantwortlich ist, das vorbestimmte Zuteilungsschema zu implementieren. Bei einer verteilten Zuteilung dagegen ist die Zuteilungslogik über das System verteilt, so daß die Logik eng mit jedem Anforderer und/oder jeder Ressource assoziiert ist. Deshalb ist jeder Anforderer für die Implementierung eines bestimmten Teils des Zuteilungsprotokolls verantwortlich. Die zentralisierten und die verteilten Zuteilungsschemata weisen in Abhängigkeit von der besonderen Anwendung jeweils bestimmte Vorteile auf. Die Hauptunterschiede zwischen den beiden Schemata bestehen in der Anzahl und in dem Typ der Signalwege zwischen den Anforderern und dem Zuteiler sowie in den Fehlertoleranzeigenschaften.
  • Alle diese Zuteilungsschemata sind jedoch begrenzt und nicht für eine schnelle Zuteilung für Computerkommunikationen, für ein Computersystem mit einer großen Anzahl von Anforderern und Ressourcen oder für Systeme mit mehreren Typen von Ressourcen tauglich. Wenn zum Beispiel bei diesen herkömmlichen Zuteilungsschemata mehrere Ressourcen mit mehreren Instanzen gegeben sind, dann werden mehrere Zuteiler häufig für jeden Ressourcentyp dupliziert, was die Kosten erhöht und eine umständliche Redundanz in das System einführt.
  • Zusammenfassung der Erfindung
  • Es ist ein erster Zuteiler vorgesehen, der einfach für eine große Anzahl von Anforderern und für eine große Anzahl von Ressourcentypen mit mehreren Instanzen für jeden Ressourcentyp angepaßt werden kann, wobei weiterhin die Warteschlangenregel des Zuteilers ausgewählt werden kann.
  • Die vorliegende Erfindung umfaßt ein Verfahren und eine Vorrichtung zum Zuteilen eines Zugriffs bei einer Vielzahl von Anforderern und einer Vielzahl von Ressourcentypen, wobei jeder Ressourcentyp wenigstens eine Instanz umfaßt, wobei die Vorrichtung gekennzeichnet ist durch: je eine mit jedem der Anforderer gekoppelte Anforderungs-Logikschaltung, wodurch eine Vielzahl von Anforderungs-Logikschaltungen gebildet wird, je eine mit jeder der Instanzen der Vielzahl von Ressourcentypen gekoppelte Gewährungs-Logikschaltung, wodurch eine Vielzahl von Gewährungs-Logikschaltungen gebildet wird, ein Übertragungsmedium zum Übertragen von Information unter der Vielzahl von Anforderungs-Logikschaltungen und der Vielzahl von Gewährungs-Logikschaltungen, Einrichtungen, die auf einen ausgewählten der Anforderer reagieren, der einen vorgewählten Ressourcentyp zu verwenden wünscht, um die mit dem ausgewählten Anforderer gekoppelte Anforderungs-Logikschaltung eine Anforderung für den ausgewählten Ressourcentyp auf das Übertragungsmedium übertragen zu lassen, Einrichtungen, die auf das Übertragen der Anforderung reagieren, um eine erste Gewährungs-Logikschaltung Schlangenpositionsinformation für den vorgewählten Ressourcentyp auf das Übertragungsmedium übertragen zu lassen, wobei die Schlangenpositionsinformation für den vorgewählten Ressourcentyp im folgenden als erste Schlangenpositionsinformation bezeichnet wird, Einrichtungen, die auf das Übertragen der ersten Schlangenpositionsinformation reagieren, um die mit dem ausgewählten Anforderer gekoppelte Anforderungs-Logikschaltung die erste Schlangenpositionsinformation speichern zu lassen, wobei die gespeicherte Schlangenpositionsinformation im folgenden als zweite Schlangenpositionsinformation bezeichnet wird, Einrichtungen, welche auf eine Instanz des vorgewählten Ressourcentyps reagieren, welche frei wird und bereit ist, einen Anforderer zu bedienen, um eine zweite Gewährungs-Logikschaltung eine Angabe auf das Übertragungsmedium übertragen zu lassen, daß eine freie Instanz des vorgewählten Ressourcentyps bereit ist, einen Anforderer zu bedienen, wobei die Angabe, daß eine freie Instanz des vorgewählten Ressourcentyps bereit ist, einen Anforderer zu bedienen, im folgenden als dritte Schlangenpositionsinformation bezeichnet wird, Einrichtungen, die auf die zweite Schlangenpositionsinformation und auf die dritte Schlangenpositionsinformation reagieren, um dem ausgewählten Anforderer den Zugriff zur Verwendung der freien Instanz des vorgewählten Ressourcentyps zu gewähren.
  • Eine Vorrichtung zum Zuteilen des Zugriffs unter einer Vielzahl von Anforderern und einer Vielzahl von Ressourcentypen, wobei jeder Ressourcentyp wenigstens eine Instanz aufweist, umfaßt je eine mit jedem Anforderer verbundene Anforderungs-Logikschaltung, wodurch eine Vielzahl von Anforderungs-Logikschaltungen gebildet wird, je eine mit jeder der Instanzen der Vielzahl von Ressourcentypen gekoppelte Gewährungs-Logikschaltung, wodurch eine Vielzahl von Gewährungs-Logikschaltungen gebildet wird, und ein Übertragungsmedium zum Übertragen von Information unter der Vielzahl von Anforderungs-Logikschaltungen und der Vielzahl von Gewährungs-Logikschaltungen.
  • Während eines ersten Zyklus sehen die Anforderungs-Logikschaltungen eine Einrichtung vor, die auf einen ausgewählten Anforderer reagiert, der einen vorgewählten Ressourcentyp zu verwenden wünscht, um die mit dem ausgewählten Anforderer gekoppelte Anforderungs- Logikschaltung eine Anforderung für den vorgewählten Ressourcentyp auf das Übertragungsmedium übertragen zu lassen.
  • Während eines zweiten Zyklus sehen die Gewährungs-Logikschaltungen eine Einrichtung vor, die auf das Übertragen der Anforderung reagiert, um eine erste Gewährungs-Logikschaltung Schlangenpositionsinformation für den vorgewählten Ressourcentyp auf das Übertragungsmedium übertragen zu lassen, wobei die Schlangenpositionsinformation für den vorgewählten Ressourcentyp im folgenden als erste Schlangenpositionsinformation bezeichnet wird. Weiterhin ist während des zweiten Zyklus eine Einrichtung vorgesehen, die auf das Übertragen der ersten Schlangenpositionsinformation reagiert, um die mit dem ausgewählten Anforderer gekoppelte Anforderungs-Logikschaltung die erste Schlangenpositionsinformation speichern zu lassen, wobei die gespeicherte Schlangenpositionsinformation im folgenden als zweite Schlangenpositionsinformation bezeichnet wird.
  • Nach einem synchronen Warten darauf, daß eine Instanz des angeforderten Ressourcentyps frei wird, beginnt ein dritter Zyklus, in dem eine Einrichtung darauf reagiert, daß eine Instanz des vorgewählten Ressourcentyps frei wird und zum Bedienen eines Anforderers bereit ist, um eine mit der freien Instanz assoziierte Gewährungs-Logikschaltung eine Angabe auf das Übertragungsmedium übertragen zu lassen, welche angibt, daß eine freie Instanz des vorgewählten Ressourcentyps bereit ist, einen Anforderer zu bedienen. Die Angabe, daß eine freie Instanz des vorgewählten Ressourcentyps bereit ist, einen Anforderer zu bedienen, wird im folgenden als dritte Schlangenpositionsinformation bezeichnet.
  • Während eines vierten Zyklus gewährt eine Einrichtung, die auf die zweite Schlangenpositionsinformation und die dritte Schlangenpositionsinformation reagiert, dem ausgewählten Anforderer Zugriff auf die Verwendung der freien Instanz des vorgewählten Ressourcentyps.
  • In einem ersten Beispiel wird eine First-In-First-Out-(FIFO)-Schlangenregel angewendet (die ersten Anforderer werden zuerst bedient), wobei die während des zweiten Zyklus durch die Gewährungs-Logikschaltung übertragene und durch die Anforderungs-Logikschaltung gespeicherte Schlangenpositionsinformation eine Ticketnummer für den Ressourcentyp ist, wobei die Ticketnummer sequentiell in aufsteigender Reihenfolge erzeugt wird. Während des dritten Zyklus überträgt die Gewährungs-Logikschaltung die nächste zu bedienende sequentielle Ticketnummer zusammen mit einer Angabe des Ressourcentyps, der frei ist. Dabei lesen alle Anforderungs-Logikschaltungen die Übertragung vom Übertragungsmedium, wobei die eine Schaltung mit einer übereinstimmenden Ticketnummer für den vorgewählten Ressourcentyp diese Übereinstimmung feststellt. Während eines vierten Zyklus wird der Zugriff über einen Zugriffsweg gewährt.
  • In einem zweiten Beispiel wird auch eine FIFO-Schlangenregel angewendet, wobei die während des zweiten Zyklus durch die Gewährungs-Logikschaltung übertragene und durch die Anforderungs-Logikschaltung gespeicherte Schlangenpositionsinformation eine Schlangenlänge für den angeforderten Ressourcentyp ist. Ein weiterer Anforderer wird zu der Liste mit denjenigen hinzugefügt, die auf diesen Ressourcentyp warten, so daß die Schlangenlänge um eine Einheit länger wird. Während des dritten Zyklus überträgt die Gewährungs-Logikschaltung die Identifikation des Ressourcentyps, der zum Bedienen eines Anforderers verfügbar geworden ist, wobei jede auf diesen Ressourcentyp wartende Anforderungs-Logikschaltung ihre gespeicherte Schlangenlänge dekrementiert, wobei die Schaltung mit dem dekrementierten Wert gleich einer vorbestimmten Zahl diese Übereinstimmung feststellt. In dem vierten Zyklus wird dem Anforderer der Zugriff auf die Verwendung der Instanz des Ressourcentyps gewährt, wobei der gewinnende Anforderer derjenige ist, dessen dekrementierte Schlangenposition gleich der vorbestimmten Zahl ist.
  • In einem dritten Beispiel wird die Schlangenlänge wie in Beispiel 2 während des zweiten Zyklus übertragen, wobei jedoch die Schlangenlängen während des zweiten Zyklus durch die Anforderungs-Logikschaltungen inkrementiert werden, um eine Last-in-First-Out-(LIFO)- Schlangenregel (die letzten Anforderer werden zuerst bedient) vorzusehen.
  • Der Zugriffsweg zwischen dem Anforderer und der Instanz der Ressource kann gewährt werden, indem ein Kreuzschienenschalter aktiviert wird. Alternativ dazu kann der Zugriffsweg ein Eindrahtbus oder ein Mehrdrahtbus sein.
  • Ein Subzuteiler wird verwendet, um den Zugriff auf das Übertragungsmedium für die Übertragung der Schlangenpositionsinformation zuzuteilen. Für den Fall, daß mehrere Instanzen des angeforderten Ressourcentyps zum Bedienen einer Anforderung verfügbar sind, wählt der Subzuteiler die Instanz, welche die Anforderung bedient, als die Instanz aus, welche die Zuteilung für das Übertragungsmedium gewinnt.
  • Alternativ dazu, kann das Übertragungsmedium zwei Mehrdrahtbusse umfassen, die als Anforderungsbus und als Gewährungsbus bezeichnet werden.
  • Als weitere Alternative kann das Übertragungsmedium mehr als zwei Busse umfassen.
  • Um die vorliegende Erfindung zu verdeutlichen, wird im folgenden ein analoges Verfahren der verteilten Zuteilung des Zugriffs auf gemeinsame Ressourcen erläutert. Ein seit vielen Jahren in Einzelhandelsgeschäften wie etwa einer Bäckerei verwendetes verteiltes Zuteilungsschema funktioniert wie folgt. Jeder Kunde nimmt beim Betreten der Bäckerei ein Nummernticket. Es gibt mehrere Verkaufstheken: eine Plätzchentheke, eine Brottheke und eine Krapfentheke. Jede der Theken stellt einen Ressourcentyp dar. Jeder an einer bestimmten Theke arbeitende Verkäufer stellt eine Instanz des Ressourcentyps der Theke dar. Jeder Kunde, oder Anforderer, für die Plätzchentheke erhält eine Schlangennummer für die Plätzchentheke, jeder Kunde für die Brottheke erhält eine Schlangennummer für die Brottheke und jeder Kunde für die Krapfentheke erhält eine Schlangennummer für die Krapfentheke usw. Dabei können die entsprechenden Schlangennummern auf farbig codierten Tickets geschrieben sein; zum Beispiel kann ein grünes Ticket die Plätzchentheke wiedergeben, kann ein rotes Ticket die Brottheke wiedergeben, kann ein gelbes Ticket die Krapfentheke wiedergeben usw. Das heißt, das Ticket ist farbig codiert, um den Ressourcentyp anzugeben. Die Ticketfarbe ist ein Ressourcentyp-Identifikationscode.
  • Es bestehen verschiedene Möglichkeiten für die Anordnung der Ticketnummern. Zum Beispiel können verschiedene Farbrollen für jede Theke vorgesehen sein, wobei jede Rolle in Sequenz numeriert wird.
  • Der Kunde hält das Ticket in seiner Hand, bewahrt es in seiner Tasche auf, behält die Nummer im Gedächtnis usw. Der Kunde wartet dann asynchron, bis seine Nummer von der entsprechenden Theke aufgerufen wird, und vergleicht die aufgerufene Nummer mit seiner Ticketnummer, um festzustellen, ob seine Nummer aufgerufen wurde. Der Kunde geht zur Theke, zeigt seine Ticketnummer und bekommt den Zugriff auf den Ressourcentyp gewährt. Es können mehrere Verkäufer an einer Theke arbeiten, wobei jeder Verkäufer eine Instanz der Thekenressource darstellt. Da es für den Kunden gleichgültig ist, welcher Verkäufer auf ihn wartet, kümmert sich die erste verfügbare Instanz des Ressourcentyps um den Einkauf.
  • Es kann eine alternative Schlangenregel gewählt werden, indem eine gewünschte Reihenfolge für das Aufrufen der Nummern ausgewählt wird. Zum Beispiel kann bevorzugten Kunden ein Prioritätsstatus eingeräumt werden, indem deren Ticketnummern zuerst aufgerufen werden.
  • Kurzbeschreibung der Zeichnungen
  • Die vorliegende Erfindung wird beispielhaft durch die folgende Beschreibung einer bevorzugten Ausführungsform mit Bezug auf die beigefügten Zeichnungen verdeutlicht, in denen gleiche Bezugszeichen ähnliche Teile in verschiedenen Ansichten angeben:
  • Fig. 1 ist ein Blockdiagramm eines Systems mit einem elektronischen Zuteilungsmechanismus in Übereinstimmung mit einer Ausführungsform der vorliegenden Erfindung.
  • Fig. 1A ist ein Blockdiagramm einer anderen Ausführungsform des Systems von Fig. 1.
  • Fig. 1B ist ein Blockdiagramm einer weiteren Ausführungsform des Systems von Fig. 1.
  • Fig. 1C ist ein Blockdiagramm einer weiteren Ausführungsform des Systems von Fig. 1.
  • Fig. 1D ist ein Blockdiagramm einer weiteren Ausführungsform des Systems von Fig. 1.
  • Fig. 2 ist ein detailliertes Blockdiagramm des Ressourcenzuteilers von Fig. 1.
  • Fig. 3 ist ein detailliertes Blockdiagramm der Zuteilungslogik und der Zuteilungszyklen von Fig. 2.
  • Fig. 3D ist ein detailliertes Blockdiagramm einer anderen Ausführungsform der Zuteilungslogik und der Zuteilungszyklen von Fig. 2.
  • Fig. 4 ist ein Blockdiagramm eines Systems mit einem elektronischen Zuteilungsmechanismus und einem Kreuzschienenschalter, welcher die Anforderer mit den Ressourcen koppelt.
  • Fig. 5 ist ein Blockdiagramm eines elektronischen Zuteilungsmechanismus in Übereinstimmung mit einer bevorzugten Ausführungsform der vorliegenden Erfindung für die Verwendung in einem Paket- oder Schaltungskommunikationsschalter.
  • Fig. 6 ist ein Blockdiagramm eines elektronischen Zuteilungsmechanismus in Übereinstimmung mit der vorliegenden Erfindung, der in einem verteilten Workstationsystem mit einem gemeinsamen Bus verwendet wird.
  • Ausführliche Beschreibung
  • Ein erstes Beispiel der vorliegenden Erfindung ist in Fig. 1 bis 3 gezeigt.
  • Fig. 1 zeigt ein Blockdiagramm eines Systems mit einem elektronischen Zuteilungsmechanismus in Übereinstimmung mit der vorliegenden Erfindung. Eine Vielzahl von Anforderern, die mit 1 bis "m" identifiziert (ID) sind, werden über einen Ressourcenzugriffsweg 14 mit einer Vielzahl von Ressourcen 16 mit IDs von 1 bis "n" gekoppelt. In der dargestellten Ausführungsform umfaßt der Ressourcenzugriffsweg 14 einen gemeinsamen Bus, um selektiv einen der Anforderer 12 mit einer der Ressourcen 16 zu koppeln. Die Ressourcen 16 können in Ressourcentypen 18 gruppiert werden, die als Ressourcentypen 1 bis "k" identifiziert werden. Die Ressourcentypen können zum Beispiel CPUs, Speichereinrichtungen, I/O- Einrichtungen, Ressourcen für bestimmte Aufgaben wie zum Beispiel CPUs, die für die Stapelauftragverarbeitung verfügbar sind, Leitungsbündel usw. sein. Wie in Fig. 1 gezeigt, umfaßt der Ressourcentyp 1 Ressourcen 16 mit den IDs 1 bis "i", und der Ressourcentyp k umfaßt Ressourcen 16, die mit "j" bis "n" identifiziert sind. Ein Anforderer 12 kann eine beliebige mit dem Ressourcenzugriffsweg gekoppelte Einrichtung wie zum Beispiel eine CPU sein, die einen Zugriff auf eine Ressource 16 wünscht.
  • Ein verteilter Ressourcenzuteiler, allgemein durch Block 10 angegeben, ist mit den Anforderern 12 und den Ressourcen 16 gekoppelt. Der Ressourcenzuteiler 10 umfaßt in einer Ausführungsform einen Zugriffsweg-Controller 20. Der Ressourcenzuteiler 10 nimmt Anforderungen von jedem der Anforderer 12 für einen Zugriff auf einen der Ressourcentypen 18 an. Der Ressourcenzuteiler 10 stellt Quell- und Zielinformationen wie die ID des Anforderers und die ID der Ressource jeweils auf den Leitungen 30 und 32 in einer gesteuerten Reihenfolge für den Zugriffsweg-Controller 20 bereit. Die Quell- und Zielinformation ermöglicht es dem Zugriffsweg-Controller 20, die Ressourcenzugriffsweg zu steuern, um einen ausgewählten Anforderer 12 mit einer angeforderten Ressource 15 zu koppeln, nachdem die Ressourcenanforderung des ausgewählten Anforderers 12 durch den Ressourcenzuteiler 10 gewährt wurde.
  • Wenn ein Anforderer 12 den Zugriff auf eine Ressource 16 anfordert, dann überträgt er ein Anforderungssignal 22 mit dem angeforderten Ressourcentyp 24 an den Ressourcenzuteiler 10. Der Ressourcenzuteiler 10 überwacht den Status der Ressourcen 16, um zu bestimmen, ob diese frei oder beschäftigt sind. Das Überwachen des Status der Ressourcen kann zum Beispiel über eine Signalleitung 28 für jede Ressource 16 vorgenommen werden. Wenn der Anforderer 12 die Zuteilung im Ressourcenzuteiler 10 erhält, wird ein Gewährungssignal 26 an den Anforderer 12 zurückgegeben. Zu diesem Zeitpunkt werden wie in Fig. 1 gezeigt die Anforderer-ID 30 und die Ressourcen-ID 32 aus dem Ressourcenzuteiler 10 an den Zugriffsweg-Controller 20 ausgegeben. Der Zugriffsweg-Controller 20 koppelt dann den Anforderer 12 über den Ressourcenzugriffsweg 14 mit der Ressource 16.
  • Fig. 1A und 1B stellen weitere Ausführungsformen des Systems von Fig. 1 dar, wobei entweder der Anforderer 12 (Fig. 1A) oder die Ressource 16 (Fig. 1 B) anstelle des Zugriffsweg- Controllers 20 verwendet wird, um das Koppeln des Anforderers 12 über den gemeinsamen Zugriffsweg 14 mit der Ressource 16 zu steuern. Fig. 1 A zeigt den Ressourcenzuteiler 10, der das Gewährungssignal 26 und die Ressourcen-ID 32 an den Anforderer 12 überträgt. In diesem Verfahren kann der Anforderer 12, der seine eigene Anforderer-ID 30 (nicht gezeigt) und die Ressourcen-ID 32 hat, direkt über den Ressourcenzugriffsweg 14 auf die Ressource 16 zugreifen. Alternativ dazu überträgt der Ressourcenzuteiler 10, wie in Fig. 1B gezeigt, die Anforderer-ID 30 an die Ressource 16. Die Ressource 16, die ihre eigene Ressourcen-ID 32 (nicht gezeigt) und die Anforderer-ID 30 hat, kann direkt über den Ressourcenzugriffsweg 14 auf den Anforderer 12 zugreifen.
  • Fig. 1C zeigt ein Blockdiagramm einer weiteren Ausführungsform des Zuteilungsmechanismus von Fig. 1. In Fig. 1C sind assoziierte Gruppen 34 von jeweils einem Anforderer 12 und einer Ressource 16 gezeigt. Die Gruppen 34 ermöglichen den Fall, daß ein Benutzer des Zuteilers sowohl Anforderer wie Ressource sein kann, z. B. eine CPU, eine I/O-Einrichtung usw. Fig. 1D zeigt, daß die Gruppen 34 von einem bestimmten Ressourcentyp 18 sein können.
  • Fig. 2 zeigt ein ausführlicheres Diagramm des Ressourcenzuteilers 10. Der Ressourcenzuteiler 10 umfaßt Anforderungs-Logikblöcke 40 und Ressourcengewährungs-Logikblöcke 42. Jeder Anforderer 12 ist mit einem assoziierten Logikblock 40 gekoppelt und jede Ressource 16 ist mit einem assoziierten Gewährungs-Logikblock 42 gekoppelt. Die Anforderungs- und Ressourcengewährungs-Logikblöcke 40 und 42 sind weiterhin jeweils mit einem gemeinsamen Übertragungsmedium 50 gekoppelt. Die Anforderungs-Logikblöcke 40 sind auch mit einem herkömmlichen Buszuteiler 44 gekoppelt, während die Ressourcengewährungs-Logikblöcke 42 mit einem herkömmlichen Buszuteiler 46 gekoppelt sind. Diese Buszuteiler 44 und 46 sind zum Beispiel Ringmodell-Zuteiler, Zuteiler mit festgelegten Prioritäten, Zuteiler, die bei der Abfrage mit Anforderungsschnappschüssen arbeiten, oder Zuteiler eines anderen bekannten Typs.
  • Das gemeinsame Übertragungsmedium 50, das im folgenden ausführlicher beschrieben wird, kann ein Einfachbus, ein Mehrfachbus, ein Ethernet, ein Token-Ring-Netz usw. sein. Fig. 2 zeigt eine Zweifachbusstruktur 53 und 55. Während der verschiedenen Zuteilungszyklen dient der Bus 53 als Anforderungsbus und dient der Bus 55 als Gewährungsbus. Wenn ein Einfachbus verwendet wird, werden die Anforderungssignale und die Gewährungssignale auf die Einfachbusstruktur gemultiplext. Weiterhin kann eine Einfachbusstruktur als gemeinsames Übertragungsmedium 50 verwendet werden, wobei der Ressourcenzugriffsweg 14 mit allen Signalen für die Anforderungen, Gewährungen und Kommunikationen zwischen den Anforderern und den Ressourcen auf die Einfachbusstruktur gemultiplext wird, wie weiter unten ausführlicher beschrieben wird.
  • Der Ressourcenzuteiler 10 kann in einer einzelnen Komponente neben dem Ressourcenzugriffsweg 14 angeordnet sein oder auf eine Reihe von verschiedenen Logikplatten verteilt sein, z. B. auf jeweils eine Platte pro Anforderer/Ressource, wobei jede Logikplatte in der Nähe der assoziierten Anforderer/Ressource angeordnet ist.
  • Der Betrieb von Beispiel 1 der vorliegenden Erfindung ist in dem oberen Eintrag von Tabelle 1 zusammengefaßt. Wie in Tabelle 1 gezeigt, überträgt der Anforderer während Zyklus 1 eine Angabe des Ressourcentyps, den der Anforderer zu verwenden wünscht, auf das Übertragungsmedium. Diese Übertragung wird vorgenommen, nachdem ein Subzuteiler dem Anforderer den Zugriff auf das Übertragungsmedium gewährt hat.
  • Während Zyklus 2 überträgt dann die Gewährungslogik des angeforderten Ressourcentyps, unmittelbar nachdem sie durch den Subzuteiler den Zugriff auf das Übertragungsmedium gewährt bekommen hat, eine Ticketnummer. Weiterhin während Zyklus 2 speichert die Anforderungslogik die Ticketnummer als eine gespeicherte Ticketnummer.
  • Dann wird asynchron gewartet, bis eine Instanz des Ressourcentyps mit dem Bedienen einer vorhergehenden Anforderung fertig ist und für das Bedienen eines weiteren Anforderers bereit ist.
  • In Zyklus 3 überträgt dann zuerst eine Gewährungs-Logikschaltung, die mit einer freien Instanz des Ressourcentyps assoziiert ist, nachdem sie durch einen Subzuteiler den Zugriff auf das Übertragungsmedium gewährt bekommen hat, die aktuelle Bedienungsnummer und eine Angabe des Ressourcentyps. Weiterhin während Zyklus 3 hören alle Anforderungs- Logikschaltungen auf das Übertragungsmedium, wobei diejenigen, die auf die in der Übertragung enthaltene Angabe des Ressourcentyps warten, ihre Ticketnummer mit der aktuellen Bedienungsnummer vergleichen. Die Anforderungs-Logikschaltung mit der übereinstimmenden Ticketnummer stellt dann die Übereinstimmung fest.
  • Während Zyklus 4 wird durch den Zuteiler der Zugriff auf die verfügbare Instanz des angeforderten Ressourcentyps gewährt. Die Gewährung des Zugriffs wird durch den Weg-Controller erleichtert, der über die Anforderer-ID und die Ressourcen-ID verfügt. Tabelle 1 - Zyklustabelle
  • Fig. 3 zeigt in der Form eines Blockdiagramms ein Beispiel für einen Anforderungs-Logikblock 40, der mit dem gemeinsamen Übertragungsmedium 50 gekoppelt ist und eine bestimmte Ressource über einen Ressourcengewährungs-Logikblock 42 anfordert, der mit dem durch den Anforderer gewünschten Ressourcentyp assoziiert ist. Die Signale und die Zyklusverbindungen, die bei der Verarbeitung einer Anforderung durch den Ressourcenzuteiler verwendet werden, sind ebenfalls in Fig. 3 gezeigt.
  • Der Anforderungs-Logikblock 40 umfaßt eine Anforderungs-Steuerlogikeinrichtung 52, ein Ressourcentyp-Register 54, ein Schlangenposition-Register 56 und ein Anforderer-ID- Register 58. Vergleicher 60 und 62 sind jeweils mit dem Ressourcentyp-Register 54 und dem Schlangenposition-Register 56 verbunden. Ein Anforderungsbus-Zuteiler 44 ist weiterhin mit der Anforderungs-Steuerlogikeinrichtung 52 im Anforderungs-Logikblock 40 gekoppelt. Die Anforderungs-Steuerlogikeinrichtung 52 weist einen Steuereingabe für jedes der Register 54, 56, 58 auf.
  • Das Schlangenposition-Register 56 kann auch als "Ticketnummer"-Register bezeichnet werden, um zu betonen, daß die darin gespeicherte Zahl eine Ticketnummer für die Verwendung durch den angeforderten Ressourcentyp wiedergibt. Die Ticketnummer ist eine Zahl, die durch die Gewährungs-Logikschaltungen ausgegeben wird. Die Ticketnummer wird modulo eine größere Zahl als die längste gewünschte Schlangenlänge gewählt.
  • Der Ressourcengewährungs-Logikblock 42 umfaßt eine Gewährungs-Steuerlogikeinrichtung 70, ein Aktuelle-Schlangenposition-Register 72, ein Nächste-Verfügbare-Schlangenposition- Register 74, ein Ressourcentyp-Register 76, ein Ressourcen-ID-Register 78 und ein Antworter-Register 80. Das Ressourcentyp-Register 76 speichert die Ressourcentypinformation, die den Typ der mit dem Gewährungs-Logikblock 42 gekoppelten Ressource identifiziert. Das Ressourcen-ID-Register 78 enthält die Information, welche die tatsächliche Ressourcenkomponente 16 identifiziert, die mit dem Gewährungs-Logikblock 42 gekoppelt ist. Weiterhin sind Vergleicher 84, 86, 90, 92 und 94 wie in Fig. 3 gezeigt mit den Registern in der Ressourcengewährungs-Logik 42 gekoppelt. Außerdem sind Inkrementierungs-Logikeinrichtungen 82 und 88 mit dem Aktuelle-Schlangenposition-Register 72 und dem Nächste- Verfügbare-Schlangenposition-Register 74 gekoppelt.
  • Das Aktuelle-Schlangenposition-Register 72 kann auch als "Aktuelle-Bedienungsnummer- Register" bezeichnet werden, um zu betonen, daß der Ressourcentyp zum Bedienen des Wertes aus diesem Register, der zu dem Gewährungsbus 55 übertragen wird, bereit ist.
  • Weiterhin kann das Nächste-Verfügbare-Schlangenposition-Register 74 auch als "Nächste- Verfügbare-Ticketnummer-Register" bezeichnet werden, um zu betonen, daß der auf dem Anforderungsbus 53 während Zyklus 2 übertragene Wert die nächste Ticketnummer ist, die der Ressourcentyp ausgeben kann.
  • Ein Gewährungsbus-Zuteiler 46 ist mit der Gewährungs-Steuerlogikeinrichtung 70 gekoppelt. Weiterhin weist die Gewährungs-Steuerlogikeinrichtung 70 eine Steuereingabe für jedes der Register 72, 74, 76, 78, 80 in dem Ressourcengewährungs-Logikblock 42 auf.
  • Das gemeinsame Übertragungsmedium 50 umfaßt einen Anforderungsbus 53 und einen Gewährungsbus 55. Der Anforderungsbus 53 umfaßt weiterhin eine Datenleitung 108, die mehrere Leitungen umfassen kann, eine Übereinstimmungsleitung 106 und eine Fehlerleitung 104. Entsprechend umfaßt der Gewährungsbus 55 eine Datenleitung 114, die wiederum eine Vielzahl von Leitungen umfassen kann, eine Übereinstimmungsleitung 112 und eine Fehlerleitung 110. Die Fehler- und Übereinstimmungsleitungen 104, 106, 112 und 110 funktionieren jeweils als Steuerleitungen für die Datenleitungen 108 und 114 der Anforderungs- und Gewährungsbusse 53 und 55. Die Steuerleitungen für die Anforderungs- und Gewährungsbusse 53 und 55 senden und empfangen Signale von der Anforderungs-Steuerlogikeinrichtung 52 und der Gewährungs-Steuerlogikeinrichtung 70.
  • Im folgenden wird der elektronische verteilte Ressourcenzuteilungsmechanismus mit Bezug auf Fig. 3 beschrieben. Die durch das in Fig. 3 gezeigte Beispiel erhaltene Schlangenregel ist eine First-In-First-Out-(FIFO)-Regel (die ersten Anforderer werden zuerst bedient). Während des Betriebs überträgt ein Anforderer 12 (siehe Fig. 2) ein Anforderungssignal 22 an die assoziierte Anforderungs-Steuerlogikeinrichtung 52 im Ressourcenzuteiler 10. Bei Empfang des Anforderungssignals 22 speichert die Anforderungs-Steuerlogikeinrichtung 52 den durch den Anforderer 12 ausgegebenen Ressourcentyp 24 in dem Ressourcentyp-Register 54.
  • Zu diesem Zeitpunkt überträgt die Anforderungs-Steuerlogikeinrichtung 52 ein Busanforderungssignal 128 an den Anforderungsbus-Zuteiler 44. Wie oben beschrieben, kann der Anforderungsbus-Zuteiler 44 ein beliebiger bekannter Typ einer Zuteilungsmechanismus sein. Zum Beispiel kann ein Ringmodell-Zuteilungsschema verwendet werden, um zu verhindern, daß ein bestimmter Anforderer über eine längere Zeitperiode hinweg mit seinen Anforderungsversuchen erfolglos bleibt. Bei Gewinn der Zuteilung wird ein Busgewährungssignal 130 an die Anforderungs-Steuerlogikeinrichtung 52 übertragen, worauf der Anforderungs- Logikblock 40 die Steuerung des Anforderungsbusses 53 erhält.
  • Der Anforderungs-Logikblock 40 beginnt dann mit der Zuteilung unter Verwendung eines Betriebes mit vier Zyklen. Während des ersten Zyklus (Zyklus 1) wird der im Ressourcentyp- Register 54 gespeicherte Ressourcentyp auf die Datenleitung 108 des Anforderungsbusses 53 gegeben. Während desselben Zyklus überwacht der Gewährungs-Logikblock 42 in jeder Ressource jedes Ressourcentyps den Anforderungsbus 53, um den Ressourcentyp von der Datenleitung 108 für die Eingabe in den Vergleicher 92 zu empfangen. Der Vergleicher 92 vergleicht den von der Datenleitung 108 erhaltenen Ressourcentyp mit dem im Ressourcentyp-Register 76 des Gewährungs-Logikblocks 42 gespeicherten Ressourcentyp. Der Vergleich wird gleichzeitig durch alle Ressourcengewährungs-Logikblöcke 42 vorgenommen, die mit dem Übertragungsmedium 50 gekoppelt sind. Dabei stimmen jedoch nur die Gewährungs-Logikblöcke 42 desselben Ressourcentyps mit der durch den Anforderungs-Logikblock 40 auf die Datenleitung 108 gegebenen Ressourcentypinformation überein. Der Vergleicher 92 überträgt ein Übereinstimmungs-/Nicht-Übereinstimmungssignal an die Gewährungs- Steuerlogikeinrichtung 70. Nur die Ressourcengewährungs-Logikblöcke 42 mit einem Übereinstimmungssignal fahren mit Zyklus 2 fort.
  • Weil jeder Ressourcentyp mehrere Ressourcen umfassen kann, bestimmt das Antworter- Register 80, welcher Ressourcengewährungs-Logikblock 42 innerhalb des Ressourcentyps das Übereinstimmungssignal an den Anforderungsbus 53 ausgibt. Die Bestimmung eines Antworters innerhalb eines Typs wird beliebig gewählt, wenn der Zuteiler initialisiert wird. Zu diesem Zeitpunkt muß genau ein Antworter-Register 80 in allen Ressourcengewährungs- Logikblöcken 42 desselben Ressourcentyps gesetzt werden.
  • Während des zweiten Zyklus (Zyklus 2) gibt die antwortende Gewährungs-Steuerlogikeinrichtung 70 ein Übereinstimmungssignal 122 auf der Übereinstimmungsleitung 106 des Anforderungsbusses 53 aus. Gleichzeitig wird die im Nächste-Verfügbare-Schlangenposition-Register 74 gespeicherte Zahl auf die Datenleitung 108 des Anforderungsbusses 53 gegeben. Die Anforderungs-Steuerlogikeinrichtung 52 empfängt das Übereinstimmungssignal 116 und speichert die auf die Datenleitung 108 des Anforderungsbusses 53 gegebene nächste verfügbare Schlangenposition in dem Schlangenposition-Register 56.
  • Weiterhin betreibt während Zyklus 2 jeder der Ressourcengewährungs-Logikblöcke 42 innerhalb des angefordertes Ressourcentyps den Vergleicher 90, um die nächste verfügbare Schlangenpositionsnummer auf der Anforderungsbus-Datenleitung 108 mit der in seinem assoziierten Nächste-Verfügbare-Schlangenposition-Register 74 gespeicherten Zahl zu vergleichen. Das Vergleichsergebnis wird an die Gewährungs-Steuerlogik 70 übertragen, um die Ressourcengewährungs-Logikeinrichtung darüber zu informieren, ob ein Fehler aufgetreten ist, d. h. ob die Zahl in ihrem Nächste-Verfügbare-Schlangenposition-Register 74 mit der auf die Datenleitung 108 gegebenen Zahl übereinstimmt. Wenn einer der Ressourcengewährungs-Logikblöcke 42 bestimmt, daß ein Fehler aufgetreten ist, dann überträgt diese Gewährungs-Steuerlogikeinrichtung 70 ein Fehlersignal 120 auf der Fehlerleitung 104 des Anforderungsbusses 53. Das Überwachen des entsprechenden Ressourcengewährungs- Logikblocks 42 durch die nicht antwortenden Gewährungs-Logikblöcke 42 innerhalb desselben Ressourcentyps sieht ein erforderliches Fehlerfeststellungsverfahren vor. Wenn die Fehlerprüfung abgeschlossen ist, wird das Nächste-Verfügbare-Schlangenposition-Register 74 für jeden Gewährungs-Logikblock 42 innerhalb des Ressourcerityps durch die Inkrementierungs-Logikeinrichtung 88 inkrementiert, um die Zahl in dem entsprechenden Nächste- Verfügbare-Schlangenposition-Register 74 um eins zu erhöhen, um die nächste Schlangenpositionsnummer für die nächste für diesen Ressourcentyp gemachte Anforderung vorzusehen. Die ersten zwei Zyklen werden durch einen der Anforderungs-Logikblöcke 40 initiiert und erscheinen auf dem Anforderungsbus 53. Die Zyklen 3 und 4 werden durch einen der Ressourcengewährungs-Logikblöcke 42 initiiert und erscheinen auf dem Gewährungsbus 55.
  • Um anstehende Anforderungen zu bedienen, vergleicht der Vergleicher 86 kontinuierlich die im Aktuelle-Schlangenposition-Register 72 gespeicherte Zahl mit dem Nächste-Verfügbare- Schlangenposition-Register 74. Wenn eine Differenz zwischen den Registern 72 und 74 besteht, d. h. wenn angegeben wird, daß eine Anforderung zu bedienen ist, dann prüft die Gewährungs-Steuerlogikeinrichtung 70 die Statusleitung 28 von den Ressourcen 16 (siehe Fig. 1). Wenn wenigstens eine der Gewährungs-Steuerlogikeinrichtungen 70 ein Nicht-Beschäftigt-Statussignal auf der Leitung 28 empfängt, welches angibt, daß die assoziierte Ressource zum Bedienen einer Anforderung bereit ist, und wenn durch den Vergleicher 86 angegeben wird, daß eine zu bedienende Anforderung ansteht, dann fordert die mit der verfügbaren Ressource assoziierte Gewährungs-Steuerlogikeinrichtung 70 den Zugriff auf den Gewährungsbus 55 an. Die Zuteilung von verfügbaren Ressourcen zum Bedienen der nächsten anstehenden Anforderung wird durch den Gewährungsbus-Zuteiler 46 vorgenommen, der ein Busanforderungssignal 132 von der Gewährungs-Steuerlogikeinrichtung (den Gewährungs-Steuerlogikeinrichtungen) 70 empfängt und ein Busgewährungssignal 134 an die Gewährungssteueurungs-Logik 70 ausgibt.
  • Es ist möglich, daß mehr als eine Ressource in einem angeforderten Ressourcentyp ein Nicht-Beschäftigt-Statussignal ausgibt. In diesem Fall fordert jeder Ressourcengewährungs- Logikblock 42 einen Zugriff auf den Gewährungsbus 55 an. Die mit dem gewinnenden Ressourcengewährungs-Logikblock 42 assoziierte Ressource des angeforderten Ressourcentyps wird mit dem Anforderer gekoppelt. Wenn zum Beispiel "CPU" ein Ressourcentyp ist und mehrere CPUs gleichzeitig verfügbar sind, dann fordert der Gewährungs-Logikblock 42 jeder CPU den Zugriff auf den Gewährungsbus 55 an. Der Gewährungsbus-Zuteiler 46 wählt dann aus, welche CPU den Gewährungsbus 55 steuert und dementsprechend den nächsten angeforderten CPU-Dienst vorsieht. Wiederum kann der Gewährungsbus-Zuteiler 46 ein beliebiges bekanntes und vorzugsweise dem Anforderungsbus-Zuteiler 44 entsprechendes Zuteilungsschema verwenden.
  • Bei Empfang des Busgewährungssignals 134 beginnt der dritte Zyklus (Zyklus 3) zum Bedienen der Anforderung. Die Gewährungs-Steuerlogikeinrichtung 70, welche die Zuteilung erhält, gibt die aktuelle Schlangenpositionsnummer aus dem Register 72 und die Ressourcentypinformation aus dem Register 76 auf die Datenleitung 114 des Gewährungsbusses 55 aus. Die Datenleitung 114 kann eine ausreichende Anzahl von einzelnen Leitungen umfassen, um die aktuelle Schlangenpositionsnummer und die Ressourcentypinformation gleichzeitig zu übertragen. Jeder der anderen Ressourcengewährungs-Logikblöcke 42 verwendet seinen Vergleicher 94, um die Ressourcentypinformation auf der Datenleitung 114 mit der in seinem Register 76 gespeicherten Ressourcentypinformation zu vergleichen. Jeder der Ressourcengewährungs-Logikblöcke 42 innerhalb desselben Ressourcentyps, d. h. jeder Ressourcengewährungs-Logikblock 42, dessen Vergleicher 94 eine Übereinstimmung angibt, vergleicht die aktuelle Schlangenpositionsnummer mit der in seinem Register 72 gespeicherten Zahl unter Verwendung des Vergleichers 84. Wenn eine Unstimmigkeit gefunden wird, dann überträgt die Gewährungs-Steuerlogikeinrichtung 70 ein Fehlersignal 124 an die Fehlerleitung 110 des Gewährungsbusses 55. Das Fehlersignal kann verwendet werden, um alle Register zurückzusetzen und um den Ressourcenzuteilungsmechanismus neu zu starten.
  • Während des dritten Zyklus überwachen alle Anforderungs-Logikblöcke 40 den Gewährungsbus 55 und empfangen die aktuelle Schlangenpositionsnummer und die Ressourcentypnummer von dem antwortenden Ressourcengewährungs-Logikblock 42. Die Vergleicher 60 und 62 in den Anforderungs-Logikblöcken 40 vergleichen die Ressourcentypnummer und die aktuelle Schlangenpositionsnummer von der Gewährungsbus-Datenleitung 114 jeweils mit den im Ressourcentyp-Register 54 und im Schlangenposition-Register 56 gespeicherten Zahlen. Wenn diese beiden Register eine Übereinstimmung ihrer entsprechenden Ressourcentyp- und Schlangenpositionsnummern angeben, dann überträgt die Anforderungs-Steuerlogikeinrichtung 52 ein Übereinstimmungssignal 118 an die Übereinstimmungsleitung 112 des Gewährungsbusses 55.
  • Während des vierten Zyklus (Zyklus 4) betreibt jeder Gewährungs-Logikblock 42 innerhalb des in Zyklus 3 festgestellten Ressourcentyps die Inkrementierungs-Logikeinrichtung 82, um die Zahl im Aktuelle-Schlangenposition-Register 72 zu inkrementieren. Weiterhin gibt in Zyklus 4 der Anforderungs-Logikblock 40, der die Übereinstimmungsleitung 112 gesteuert hat, den Inhalt des Anforderer-ID-Registers 58 auf die Gewährungsbus-Datenleitung 114 aus. Der Gewährungs-Logikblock 42, der die Zuteilung zum Initiieren von Zyklus 3 erhalten hat, gibt den Inhalt seines Ressourcen-ID-Registers 78 auf die Datenleitungen 114 des Gewährungsbusses 55 aus. Die Datenleitungen 114 sind breit genug, um sowohl die Anforderer-ID wie die Ressourcen-ID zu übertragen.
  • Wenn in Zyklus 3 keine Übereinstimmung gefunden wird, ist die Information auf den Datenleitungen 114 in Zyklus 4 ohne Bedeutung.
  • Der Anforderungs-Logikblock 40 überträgt ein Gewährungssignal 26 an den Anforderer 12 (siehe Fig. 1). Weil sowohl die Anforderer-ID wie die Ressourcen-ID auf dem Gewährungsbus 55 sind, kann die Verbindung vom Anforderer zur Ressource in jeder der in Fig. 1, 1A und 1B dargestellten Ausführungsformen über den Ressourcenzugriffsweg 14 vorgesehen werden. Insbesondere kann die Verbindung zwischen dem Anforderer und der Ressource über den Ressourcenzugriffsweg mit Hilfe des Zugriffsweg-Controller 20 sowie des Anforderers 12 oder der Ressource 16 vorgesehen werden, was davon abhängt, welche Komponente die Anforderer-ID- und Ressourcen-ID-Information erhält.
  • Dabei sollte deutlich sein, daß das Beispiel von Fig. 3 nur eine einzige Anforderung für einen bestimmten Ressourcentyp beschreibt und daß die Anzahl der Anforderungen für verschiedene Ressourcentypen über den Ressourcenzuteiler 10 sehr groß sein kann, wobei eine sehr schnelle Antwort erforderlich ist. Insbesondere wenn zwei Busse jeweils zwei Zyklen der Verbindungssequenz handhaben, kann die Anzahl der pro Sekunde vorgesehenen Zuteilungen 1/(2 N) sein, wobei N die Zeit für einen Buszyklus wiedergibt. Wenn N gleich 200 ns ist, dann können 2,5 Millionen Zuteilungen pro Sekunde erreicht werden.
  • Ein zweites Beispiel der vorliegenden Erfindung ist in Fig. 3D gezeigt. Das in Fig. 3D gezeigte Beispiel der vorliegenden Erfindung verwendet eine First-In-First-Out-Schlangenregel (der letzte Anforderer wird zuerst bedient).
  • Fig. 3D zeigt eine weitere Ausführungsform des Anforderer-Logikblocks 40 und des Ressourcengewährungs-Logikblocks 42 in Übereinstimmung mit der vorliegenden Erfindung. Die Ausführungsform von Fig. 3D ist der Ausführungsform von Fig. 3 ähnlich, wobei jedoch das Schlangenposition-Register 56 und dessen assoziierter Vergleicher 62 des Anforderungs- Logikblocks 40 durch ein Anforderungsschlangenposition-Register 200 ersetzt sind. Das Anforderungsschlangenposition-Register 200 ist mit der Anforderungs-Steuerlogikeinrichtung 52 und der Datenleitung 108 des Anforderungsbusses 53 und mit einer Dekrementierungs- Logikeinrichtung 201 und einem Vergleicher 202A gekoppelt. Der Vergleicher 202A ist auch mit der Anforderungs-Steuerlogikeinrichtung 52 gekoppelt.
  • Weiterhin sind das Aktuelle-Schlangenposition-Register 72 und das Nächste-Verfügbare- Schlange-Register 76 der Ressourcengewährungs-Logik 42 sowie die assoziierten Inkrementierungs-Logikeinrichtungen 82, 88 und Vergleicher 84, 90 durch ein Schlangenlänge- Register 202 ersetzt. Das Schlangenlänge-Register 202 ist mit der Datenleitung 108 des Anforderungsbusses 53 und mit der Gewährungs-Steuerlogik 70 gekoppelt. Das Schlangenlänge-Register 202 ist auch mit einer Inkrementierungs-Logikeinrichtung 203, einer Dekrementierungs-Logikeinrichtung 204 und einem Vergleicher 205 gekoppelt. Der Vergleicher 205 ist auch mit der Gewährungs-Steuerlogik 70 gekoppelt.
  • Während des Betriebs des in Fig. 3D dargestellten verteilten Ressourcenzuteilungsmechanismus folgt der Informationsfluß auf dem Anforderungsbus 53 und dem Gewährungsbus 55 allgemein der Zyklussequenz des in Fig. 3 dargestellten verteilten Ressourcenzuteilungsmechanismus. Die Anforderungs-Logikblöcke 40 und die Gewährungs-Logikblöcke 42 müssen wie in der Ausführungsform von Fig. 3 jeweils einen Zugriff auf den Anforderungsbus 53 und den Gewährungsbus 55 anfordern.
  • Bei jeder während Zyklus 1 durch eine Anforderungs-Logikeinrichtung 40 auf den Anforderungsbus 53 gegebenen neuen Anforderung eines Ressourcentyps verwendet jede Gewährungs-Steuerlogikeinrichtung 70 ihren Vergleicher 92, um die Ressourcentypinformation auf dem Gewährungsbus 53 mit der im Register 76 gespeicherten Ressourcentypinformation zu vergleichen. Wenn eine Übereinstimmung festgestellt wird, betreibt die Gewährungs-Logikeinrichtung 70 die Inkrementierungs-Logikeinrichtung 203, um die im Schlangenlänge- Register 202 gespeicherte Zahl zu inkrementieren, um anzugeben, daß jetzt eine Anforderung mehr für den Ressourcentyp ansteht. Während Zyklus 2 veranlaßt die Gewährungs- Steuerlogikeinrichtung 70 der angegebenen Antworterressource des Ressourcentyps das Schlangenlänge-Register 202, die darin gespeicherte inkrementierte Schlangenlängennummer auf die Datenleitung 108 des Anforderungsbusses 53 zu geben, während im Gegensatz dazu in der Ausführungsform von Fig. 3 die nächste verfügbare Schlangennummer ausgegeben wird. Das Anforderungsschlangenposition-Register 200 der Anforderungs- Logikeinrichtung 40, das mit der Datenleitung 108 gekoppelt ist, empfängt und speichert die auf die Datenleitung 108 gegebene Schlangenlängennummer während des Zyklus 2. Zu diesem Zeitpunkt vergleicht jede der Gewährungs-Logiken 42 für denselben Ressourcentyp die Zahl in ihrem Schlangenlänge-Register 202 mit der auf die Datenleitung 108 gegebenen Nummer unter Verwendung eines Vergleichers 206, um wie in dem Betrieb des Zuteilungsmechanismus von Fig. 3 eine Fehlerprüfung vorzunehmen.
  • Während Zyklus 3 fordert eine Gewährungs-Logikeinrichtung 42, deren assoziiertes Schlangenlänge-Register 202 wie durch den Vergleicher 205 festgestellt eine Zahl größer null enthält und deren Ressource nicht beschäftigt ist, einen Zugriff auf den Gewährungsbus 55 an. Wenn sie die Zuteilung erhält, gibt die Gewährungs-Logikeinrichtung 70 die im Register 76 gespeicherte Ressourcentypinformation auf die Datenleitung 114 des Gewährungsbusses 55. Gleichzeitig muß jede Anforderungs-Logikeinrichtung 40 den Gewährungsbus 55 für jede Übertragung der Ressourcentypinformation überwachen und den Vergleicher 60 verwenden, um die Ressourcentypinformation auf dem Bus 55 mit der im Register 54 gespeicherten Ressourcentypinformation zu vergleichen. Die Anforderungs-Steuerlogikeinrichtung 52 jeder Anforderungs-Logik 40 mit einer Übereinstimmung steuert die Dekrementierungs- Logikeinrichtung 201, um die Zahl im Anforderungsschlangenposition-Register 200 zu dekrementieren. Jede Anforderungsgewährungs-Logik 52 mit einer Übereinstimmung mit der Ressourcentypinformation muß dann den Vergleicher 202A betreiben, um die aktuell im Anforderungsschlangenposition-Register 200 gespeicherte Zahl mit null zu vergleichen. Die Anforderungs-Steuerlogik 52, die feststellt, daß die Zahl in ihrem Anforderungsschlangen- Register 200 gleich null ist, gibt ein Übereinstimmungssignal auf die Übereinstimmungsleitung 112 des Gewährungsbusses 55 aus.
  • Die Gewährungs-Steuerlogikeinrichtung 70 jeder Ressourcengewährungs-Logikeinrichtung 42 des angeforderten Ressourcentyps veranlaßt, daß die Dekrementierungs-Logikeinrichtung 204 die Zahl im Schlangenlänge-Register 202 dekrementiert, um den Abschluß der Bedienung einer Anforderung anzugeben. Der Vergleicher 205 vergleicht die dekrementierte Zahl mit null, und wenn die Zahl kleiner als null ist, dann gibt die Gewährungs-Steuerlogik 70 ein Fehlersignal auf der Fehlerleitung 110 aus.
  • Während Zyklus 4 wird der Inhalt des Anforderer-ID-Registers 58 auf die Datenleitung 108 des Anforderungsbusses 53 gegeben und wird der Inhalt des Ressorucen-ID-Registers 78 der Gewährungs-Logik, die in Zyklus 3 die Zuteilung erhält, auf die Datenleitung 114 des Gewährungsbusses 55 gegeben, um das Koppeln des Anforderers 12 mit der Ressource 16 über den Ressourcenzugriffsweg 14 zu ermöglichen (siehe 1, 1a, 1b).
  • Der untere Eintrag in Tabelle 1 faßt den Betrieb des zweiten Beispiels der vorliegenden Erfindung zusammen. Im folgenden wird auf den unteren Eintrag in Tabelle 1 Bezug genommen. Wie in Beispiel 1 überträgt ein Anforderer während des Zyklus 1, nachdem er durch einen Subzuteiler den Zugriff auf das Übertragungsmedium gewährt bekommen hat, eine Anforderung für einen Ressourcentyp.
  • Dann beginnt der Zyklus 2, und eine angegebene Gewährungs-Logikschaltung überträgt eine Schlangenposition für einen nächsten Kunden. Diese Schlangenposition ist die Länge der Reihe von Anforderungen, die auf den angeforderten Ressourcentyp warten. Weiterhin liest die Anforderungs-Logikschaltung während Zyklus 2 die Schlangenposition aus dem Übertragungsmedium und speichert sie als eine gespeicherte Schlangenposition.
  • Dann wird asynchron gewartet, bis eine Instanz des angeforderten Ressourcentyps mit dem Bedienen einer vorhergehenden Anforderung fertig ist und für das Bedienen eines weiteren Anforderers verfügbar ist. Der Zyklus 3 beginnt dann, wenn eine Instanz des angeforderten Ressourcentyps für das Bedienen eines anderen Anforderers verfügbar wird; und die angegebene Gewährungs-Logikschaltung überträgt, nachdem sie durch einen Subzuteiler den Zugriff auf das Übertragungsmedium gewährt bekommen hat, eine Identifikation des Ressourcentyps. Alle Anforderungs-Logikschaltungen hören auf das Übertragungsmedium, und alle auf diesen bestimmten Ressourcentyp wartenden Anforderungs-Logikschaltungen dekrementieren ihre gespeicherte Schlangenposition. Das dekrementierte Ergebnis wird mit einer festgelegten Zahl verglichen, wobei die eine Anforderungs-Logikschaltung mit einer übereinstimmenden Zahl diese Übereinstimmung feststellt.
  • Dann wird während Zyklus 4 der Zugriff des Anforderers auf die verfügbare Instanz des angeforderten Ressourcentyps gewährt.
  • Fig. 4 zeigt eine andere Ausführungsform des Computersystems. Das System von Fig. 4 ist mit dem System von Fig. 1 mit der Ausnahme identisch, daß der Ressourcenzugriffsweg einen Kreuzschienenschalter 300 umfaßt, um eine Punkt-zu-Punkt-Kopplung von einem beliebigen Anforderer 12 über die Busse 301, 302 und die Busse 303, 304, 305, 306 zu einer beliebigen Ressource vorzusehen. Das System von Fig. 4 verarbeitet Anforderungen wie in den Zyklen 1 bis 4, die weiter oben mit Bezug auf Fig. 3 oder 3A beschrieben wurden. Dabei werden jedoch in dieser Ausführungsform während des Zyklus 4 die Anforderer-ID und die Ressourcen-ID in den Zugriffsweg-Controller 20 eingegeben, der den Kreuzschienenschalter 300 steuert, um den identifizierten Anforderer 12 mit der identifizierten Ressource 16 zu koppeln, indem ein Weg zwischen einem der Busse 301-302 und einem der Busse 303-306 geschlossen wird.
  • Die Kreuzschienenschalteranordnung erhöht die Betriebsgeschwindigkeit des Computersystems beträchtlich, weil der Kreuzschienenschalter 300 betrieben werden kann, um gleichzeitig mehrere Kopplungen zu bilden, so daß gleichzeitig mehrere Anforderer mit mehreren Ressourcen kommunizieren können. Tatsächlich sieht der Kreuzschienenschalter 300 einen möglichen Kopplungsweg zwischen jedem Anforderer und jeder Ressource über die Busse 301-302 und 303-306 vor. Wenn also ein bestimmter Anforderer den Zugriff auf eine bestimmte Ressource durch den Betrieb des Ressourcenzuteilers 10 gewährt bekommt, dann ist die Ressource notwendigerweise frei, wobei der Kreuzschienenschalter 300 durch den Zugriffsweg-Controller betrieben werden kann, um den bestimmten Anforderer unmittelbar mit der bestimmten Ressource zu koppeln, während die anderen Kopplungen zwischen anderen Anforderern und Ressourcen beibehalten werden. Der Kreuzschienenschalter 300 kann mehrere Verbindungen zwischen Anforderern und Ressourcen unterstützen.
  • Im folgenden wird die einfache und natürliche Skalierung der vorliegenden Erfindung auf große Anzahlen von Anforderern, große Anzahlen von Ressourcentypen und große Anzahlen von Instanzen von verschiedenen Ressourcentypen beschrieben.
  • Die Anzahl der Anforderer in dem System kann verdoppelt werden, indem einfach die Länge von einigen wenigen Registern um ein Bit verlängert wird. Die Anzahl kann nochmals verdoppelt werden, indem ein weiteres Bit zu der Länge der Register hinzugefügt wird, usw.
  • Als erstes Beispiel kann bei der in Fig. 3 gezeigten Ausführungsform der vorliegenden Erfindung die Anzahl der Anforderer, die durch den Zuteiler gehandhabt werden kann, verdoppelt werden, indem die Länge des Anforderer-ID-Registers 58 um ein Bit verlängert wird. Und um die Länge der durch den Zuteiler unterstützten Schlangen zu verdoppeln, muß das Schlangenposition-Register 56, das Nächste-Verfügbare-Schlangenposition-Register 74 und das Aktuelle-Schlangenposition-Register 72 jeweils um ein Bit verlängert werden.
  • Weiterhin kann die Anzahl der Ressourcentypen, die in dem in Fig. 3 gezeigten Beispiel gehandhabt werden kann, verdoppelt werden, indem die Länge der folgenden Register jeweils um ein Bit verlängert wird: Ressourcentyp-Register 54 in den Anforderungs-Logikschaltungen sowie Ressourcentyp-Register 76 und Ressourcen-ID-Register 78 in den Gewährungs-Logikschaltungen.
  • Als ein zweites Beispiel kann bei der in Fig. 3D gezeigten Ausführungsform der vorliegenden Erfindung die Anzahl der Anforderer, die durch den Zuteiler gehandhabt werden kann, verdoppelt werden, indem die Länge des Anforderer-ID-Registers 58 um ein Bit verlängert wird. Und die Länge der durch den Zuteiler unterstützten Schlangen kann verdoppelt werden, indem die Länge der folgenden Register um ein Bit verlängert wird: Schlangenposition-Register 200 in den Anforderungs-Logikschaltungen und Schlangenlänge-Register 202 in den Gewährungs-Logikschaltungen.
  • Auch die Anzahl der Ressourcentypen, die der beispielhafte in Fig. 3D gezeigte Zuteiler handhaben kann, kann verdoppelt werden, indem die Länge der folgenden Register um ein Bit verlängert wird: Ressourcentyp-Register 54 in den Anforderungs-Logikschaltungen sowie Ressourcentyp-Register 76 und Ressourcen-ID-Register 78 in den Gewährungs-Logikschaltungen.
  • Als ein drittes Beispiel für die Skalierung kann die Anzahl der Instanzen eines Ressourcentyps verdoppelt werden. Sowohl in der in Fig. 3 gezeigten Ausführungsform wie in der in Fig. 3D gezeigten Ausführungsform kann die Anzahl der Instanzen eines Ressourcentyps verdoppelt werden, indem die Länge des folgenden Registers um ein Bit verlängert wird: Ressourcen-ID-Register 78 in den Gewährungs-Steuerlogikschaltungen.
  • Außerdem müssen das Übertragungsmedium 50 und der Subzuteiler für das Übertragungsmedium in der Lage sein, die längeren Registerlängen zu handhaben; das heißt, daß in den in Fig. 3 und Fig. 3D gezeigten Beispielen der vorliegenden Erfindung der Anforderungsbus 44 mit dem Subzuteiler 44 und der Gewährungsbus 55 mit dem Subzuteiler 46 in der Lage sein müssen, die längeren Registerlängen zu handhaben.
  • Wie in Fig. 5 gezeigt, ist ein Zuteilungsmechanismus des in Fig. 2 dargestellten Typs spezifisch dafür vorgesehen, den Zugriff auf einen besonderen Ressourcentyp, nämlich auf eine aus einer Vielzahl von Kommunikationsleitungen 400 zuzuteilen. Jede der Kommunikationsleitungen 400 koppelt ein entsprechendes Leitungsprotokoll und eine Puffereinrichtung 401 mit einer Benutzerstation 402. Die Kommunikationsleitungen 400 können ein Leitungsbündel 403 bilden, d. h. jede der Kommunikationsleitungen 400 des Leitungsbündels 403 ist an einem Ende mit einem entsprechenden Leitungsprotokoll und einer Puffereinrichtung 401 verbunden, und alle Kommunikationsleitungen 400 des Leitungsbündels 403 sind an den anderen Enden mit einer einzigen Benutzerstation 402 verbunden. In dieser Anordnung wird jede Benutzerstation 402 als Ressourcentyp betrachtet und werden alle mit einer bestimmten Benutzerstation 402 verbundenen Kommunikationsleitungen als Ressourcen innerhalb des durch die bestimmte Benutzerstation 402 gegebenen Ressourcentyps betrachtet.
  • Wie in Fig. 5 dargestellt, ist jedes Leitungsprotokoll und jede Puffereinrichtung 401 mit einem Anforderungs-Logikblock 40 und einem Zuteilungs-Logikblock 42 verbunden, wie weiter oben mit Bezug auf Fig. 1D beschrieben wurde, so daß die assoziierte Kommunikationsleitung 400 entweder ein Anforderer oder eine Ressource sein kann. Jeder Anforderungs- Logikblock 40 und jeder Gewährungs-Logikblock 42 ist wiederum mit einem gemeinsamen Übertragungsmedium gekoppelt. Die Anforderungs-Logikblöcke 40, die Gewährungs-Logikblöcke 42 und das gemeinsame Übertragungsmedium 50 können in Übereinstimmung mit einem der Systeme von Fig. 3, 3d und 4 betrieben werden, um die Reihenfolge der Kopplung zwischen einer der Kommunikationsleitungen 400 und einer anderen Kommunikationsleitung 400 zuzuteilen. Die Kopplung zwischen bestimmten Kommunikationsleitungen 400 wird durch das entsprechende Leitungsprotokoll und die Puffereinrichtungen 401 erreicht, die jeweils mit einem Ressourcenzugriffsweg 14 gekoppelt sind. Der Ressourcenzugriffsweg 14 kann wie in Fig. 1 und 4 gezeigt zum Beispiel einen Kreuzschienenschalter oder einen oder mehrere gemeinsame Busse umfassen. Die Steuerung des Ressourcenzugriffswegs 14, nachdem die Ressourcen-ID- und die Anforderer-ID-Information während Zyklus 4 auf das gemeinsame Übertragungsmedium gegeben wurden, kann wie oben mit Bezug auf eine der Fig. 1, 1a oder 1b beschrieben vorgesehen sein.
  • Weiterhin kann wie in Fig. 5 gezeigt eine einsteckbare Logikkarte 475 verwendet werden, um Ressoucen/Anforderer über eine verteilte Implementierung des Ressourcenzuteilers 10 zu koppeln. Die Logikkarte 475 umfaßt einen Anforderungs-Logikblock 40 und einen Gewährungs-Logikblock 42, die mit dem Übertragungsmedium 50 und mit dem Zugriffsweg 14 verbunden sind. Zum Beispiel können das Übertragungsmedium 50 und die Zugriffsverbindung 14 in einem Systembus in einer gewöhnlichen elektronischen Kartengruppe sein. Als weiteres in Fig. 5 gezeigtes Beispiel kann eine bestimmte Einheit wie zum Beispiel eine Kommunikationsleitung 400 sowohl Anforderer wie Ressource sein. Die Verwendung einer einsteckbaren Leitungskarte 475 in einen Systembus in einer gewöhnlichen elektronischen Kartengruppe ist ein besonders bequemes Verfahren zum Hinzufügen von Kommunikationsleitungen.
  • Fig. 6 stellt ein verteiltes Workstationsystem mit dem Zuteilungsmechanismus der vorliegenden Erfindung in der Form eines Blockdiagramms dar. Eine Vielzahl von Workstations 450, 451, 452, 453 unterscheiden sich in Übereinstimmung mit dem Typ des Dienstes, den jede Workstation 450-453 für die Benutzer des gesamten Systems zur Verfügung stellt. Zum Beispiel können die Workstations 450, 451 jeweils mit einem großen Plattensystem 454 verbunden sein, um Datenbankdienste anzubieten, während die Workstations 452, 453 für die Stapelauftragsverarbeitung vorgesehen sind. Es kann eine beliebige Anzahl von anderen Workstations in dem System enthalten sein, wobei eine beliebige Anzahl von verschiedenen Diensten für die Benutzer des Systems verfügbar gemacht werden kann.
  • Jede Workstation 450-453 ist mit einem Anforderungs-Logikblock 455 und einem Gewährungs-Logikblock 456 verbunden. Außerdem ist jede Workstation 450-453 und ihr assoziierter Anforderungs-Logikblock 451 und Gewährungs-Logikblock 456 mit den Eingängen eines Multiplexers 457 verbunden, der Nachrichten von diesen Quellen kombiniert. Ein Ausgang jedes Multiplexers 457 ist mit einem gemeinsamen Busmedium 458 wie etwa einem Ethernet-LAN verbunden.
  • Jeder Anforderungs-Logikblock 455 und jeder Gewährungs-Logikblock 456 können jeweils einen Anforderungs-Logikblock 40 und einen Gewährungs-Logikblock 42 umfassen, wie in Fig. 3 und 3a gezeigt. Die Logikblöcke 455, 456 werden in Übereinstimmung mit dem oben mit Bezug auf Fig. 3 und 3a beschriebenen Vier-Zyklus-Betriebsmodus betrieben, um die Reihenfolge der Kopplung zwischen einer beliebigen Workstation 450-453, die einen Diensttyp anfordert, und einer Workstation, die den angeforderten Dienst bereitstellt, zu bestimmen. Natürlich gibt die von einer bestimmten Workstation 450-453 zu deren assoziiertem Gewährungs-Logikblock 455 übertragene Ressourcentyp-Information den Typ des durch die bestimmte Workstation 450-453 angeforderten Dienstes an. Beispiele für derartige Ressourcentypen sind Plattenserver, Dateiserver, Server für lizensierte Software usw.
  • Ethernet-Vielfachzugriff mit Leitungsüberwachung
  • Das oben beschriebene Zuteilungsschema für einen Vielfachzugriff mit Leitungsüberwachung kann als Gewährungsbus-Zuteiler und als Anforderungsbus-Zuteiler für den Zuteilungsmechanismus dienen. Die Multiplexer 457 kombinieren Nachrichten für das gemeinsame Busmedium 458, so daß die für die Funktionen des Anforderungsbusses, des Gewährungsbusses und des Ressourcenzugriffsweges erforderliche Information bereitgestellt wird, um die Reihenfolge der Kopplung zwischen den Workstations zuzuteilen und um die Workstations für die Kommunikation selektiv zwischen ausgewählten Anforderer- und Ressourcenworkstations zu koppeln.
  • Die gesamte Funktionalität, die durch die mit einer Workstation 450-453 assoziierten Logikblöcke 455, 456 und den Multiplexer 457 vorgesehen wird, kann in einer durch die Workstation 450-453 ausgeführten Software implementiert werden.
  • Das insbesondere in Fig. 6 dargestellte Zuteilungsschema der vorliegenden Erfindung kann auch in einem Mehrprozessorsystem verwendet werden, in welchem CPUs und I/O-Einrichtungen nach ihren Aufgaben in Ressourcentypen unterschieden werden. Die CPUs und die I/O-Einrichtungen sind die Ressourcen, die Aufgaben sind die Ressourcentypen und ein entsprechender Kommunikationsweg des Mehrprozessorsystems wie zum Beispiel der Systembus ist der Ressourcenzugriffsweg.
  • Außerdem kann jedes aus einem Satz von Plattenlaufwerken, die zusammen mehrere Kopien eines Plattenvolumens für eine höhere Leistung und Verläßlichkeit unterstützen, eine Ressource sein. Der Ressourcentyp ist in diesem Fall der gesamte Satz von Plattenlaufwerken, der die mehrfachen Kopien unterstützt. Schreibvorgänge auf alle Plattenlaufwerke in dem Satz werden in Übereinstimmung mit bekannten Prozeduren synchronisiert, so daß jedes Plattenlaufwerk des Satzes dieselben Daten enthält. Leseanforderungen auf den Satz werden in Übereinstimmung mit dem Zuteilungsschema der vorliegenden Erfindung zugeteilt, um Zugriff auf eines der Plattenlaufwerke (die Ressource) in dem Satz (dem Ressourcentyp) zu gewähren. Wenn wie in der Ausführungsform von Fig. 4 ein Kreuzschienenschalter als Ressourcenzugriffsweg verwendet wird, dann können mehrere Plattenlesevorgänge und die Zuteilung einer neuen Leseanforderung gleichzeitig durchgeführt werden.
  • Ein weiteres Beispiel der vorliegenden Erfindung ist eine Modifikation des oben beschriebenen Beispiels 2, die eine Last-In-Last-Out-Schlangenregel verwendet (die letzten Anforde rer werden zuerst bedient). Wenn während Zyklus 2 zusätzliche Anforderungen für den Ressourcentyp übertragen werden, inkrementieren die Anforderungs-Logikschaltungen ihre gespeicherten Schlangenpositionen. Der erste Anforderer weist dann die höchste gespeicherte Schlangenposition auf und ist deshalb der Anforderer, der zuletzt durch eine Instanz des angeforderten Ressourcentyps bedient wird. Dieses Beispiel verwendet eine First-In- Last-Out-Schlangenregel.
  • Ein weiteres Beispiel für den Zuteiler ist die Implementierung eines Algorithmus während Zyklus 2, um wie in Beispiel 1 eine gewünschte Ticketnummer auszuwählen. Der Algorithmus kann zusammen mit der Tätigkeit der Anforderungs-Logikschaltungen gewählt werden, um viele verschiedene Schlangenregeln zu implementieren.
  • Es ist zu beachten, daß die oben beschriebenen Ausführungsformen lediglich Beispiele für die Prinzipien der vorliegenden Erfindung sind. Es können verschiedene andere Modifikationen und Änderungen durch den Fachmann vorgenommen werden, welche die Prinzipien der vorliegenden Erfindung verkörpern und im Erfindungsumfang enthalten sind.

Claims (22)

1. Vorrichtung zum Arbitrieren zur Schaffung von Zugriff unter einer Vielzahl von Anforderern (12) und einer Vielzahl von Betriebsmittelarten (18), von denen jede Betriebsmittelart mindestens eine Instanz besitzt, wobei die Vorrichtung gekennzeichnet ist durch:
eine mit jedem der Anforderer gekoppelte Anforderungs-Logikschaltung (40), wodurch eine Vielzahl der Anforderungs- Logikschaltungen gebildet wird;
eine mit jeder der Instanzen der Vielzahl von Betriebsmittelarten gekoppelte Gewährungs-Logikschaltung (42), wodurch eine Vielzahl von Gewährungs-Logikschaltungen gebildet wird;
ein Sendemedium (50) zum Übertragen von Information unter der Vielzahl von Anforderungs-Logikschaltungen und der Vielzahl von Gewährungs-Logikschaltungen;
Mittel, die auf einen ausgewählten der Anforderer reagieren, der eine vorgewählte Betriebsmittelart zu verwenden wünscht, um die mit dem ausgewählten Anforderer gekoppelte Anforderungs-Logikschaltung eine Anforderung an das Sendemedium für die ausgewählte Betriebsmittelart senden zu lassen;
Mittel, die auf das Senden der Anforderung reagieren, um eine erste Gewährungs-Logikschaltung Schlangenpositions- Information an dem Sendemedium für die vorgewählte Betriebsmittelart senden zu lassen, welche Schlangenpositions-Information für die vorgewählte Betriebsmittelart von jetzt ab als erste Schlangenpositions-Information (72) bezeichnet wird;
Mittel, die auf das Senden der ersten Schlangenpositions- Information reagieren, um die mit dem ausgewählten Anforderer gekoppelte Anforderungs-Logikschaltung die erste Schlangenpositions-Information speichern zu lassen, welche gespeicherte Schlangenpositions-Information von hier ab als eine zweite Schlangenpositions-Information (56) bezeichnet wird;
Mittel, die auf eine Instanz der vorgewählten Betriebsmittelart reagieren, welche frei wird und bereit ist, einem Anforderer zu dienen, um eine zweite Gewährungs-Logikschaltung an dem Sendemedium eine Anzeige senden zu lassen, dass eine freie Instanz der vorgewählten Betriebsmittelart bereit ist, einem Anforderer zu dienen, welche Anzeige, dass eine freie Instanz der vorgewählten Betriebsmittelart bereit ist, einem Anforderer zu dienen, von jetzt ab als eine dritte Schlangenpositions-Information (74) bezeichnet wird;
Mittel, die auf die zweite Schlangenpositions-Information reagieren und auf die dritte Schlangenpositions-Information reagieren zum Gewähren von Zugriff (55) an den ausgewählten einen der Anforderer, die freie Instanz der vorgewählten Betriebsmittelart zu benutzen.
2. Vorrichtung nach Anspruch 1, bei der weiterhin:
die Schlangenpositions-Information weiter eine Ticketnummer für das vorgewählte Betriebsmittel umfasst;
das Mittel zum Gewähren von Zugriff an den ausgewählten der Anforderer zum Benutzen die freie Instanz der vorgewählten Betriebsmittelart den Zugriff gewährt in Reaktion darauf, dass die zweite Schlangenpositions-Information der dritten Schlangenpositions-Information entspricht.
3. Vorrichtung nach Anspruch 1, in der weiter:
die erste Schlangenpositions-Information eine Schlangenpositions-Information für einen nächsten Kunden ist und die dritte Schlangenpositions-Information eine Anzeige der Betriebsmittelart mit einer freien Instanz ist;
das Mittel zum Gewähren von Zugriff an den ausgewählten einen der Anforderer zum Benutzen der ausgewählten Betriebsmittelart den Zugriff in Reaktion darauf gewährt, dass die mit dem ausgewählten einen der Anforderer gekoppelte Anforderungs-Logikschaltung die dritte Schlangenpositions-Information zählt, welche bezeichnet, dass eine Instanz der vorgewählten Betriebsmittelart frei geworden ist, und in Reaktion auf ein Ergebnis, das der Zählwert der zweiten Schlangenpositions-Information entspricht.
4. Vorrichtung nach Anspruch 3, in der weiter:
das Zählen durch das Mittel zum Gewähren von Zugriff durch Abzählen der zweiten Schlangenpositions-Information erledigt wird;
der Zugriff gewährt wird, wenn der abgezählte Wert der zweiten Schlangenpositions-Information gleich einer vorgegebenen Zahl ist.
5. Vorrichtung nach Anspruch 1, bei der die zweite Schlangenpositions-Information durch die Anforderungs-Logikschaltung aufgezählt wird in Reaktion auf eine Sendung an dem Sendemedium von einer neuen Schlangenpositions-Information für die vorgewählte Betriebsmittelart, wodurch Zugriff zu den Anforderern in einer zuletzt-rein/zuerst-raus-Schlangenart gewährt wird.
6. Vorrichtung nach Anspruch 1, die weiter umfasst:
Mittel zum Zuordnen einer Gewährungs-Logikschaltung von den mit Instanzen der vorgewählten Betriebsmittlelart ge koppelten Gewährungs-Logikschaltungen als die erste Gewährungs-Logikschaltung, die auf die Anforderung nach der vorgewählten Betriebsmittelart reagiert, wobei die erste Gewährungs-Logikschaltung hernach als die zugeordnete Gewährungs-Logikschaltung bezeichnet wird.
7. Vorrichtung nach Anforderung 1, die weiter umfasst:
einen Unter-Arbiter zum Arbitrieren von Zugriff zu dem Sendemedium durch die Vielzahl von Anforderungs-Logikschaltungen und die Vielzahl von Gewährungs-Logikschaltungen, wodurch Senden an dem Sendemedium erleichtert wird.
8. Vorrichtung zum Arbitrieren von Zugriff unter einer Vielzahl von Anforderern und einer Vielzahl von Betriebsmitteln, welche umfasst:
je eine mit jedem der Anforderer gekoppelte Anforderungs- Logikschaltung, wodurch eine Vielzahl der Anforderungs- Logikschaltungen gebildet wird;
je eine mit jedem Betriebsmittel gekoppelte Gewährungs- Logikschaltung, wodurch eine Vielzahl der Gewährungs-Logikschaltungen gebildet wird;
ein Sendemedium zum Übertragen von Information unter der Vielzahl von Anforderungs-Logikschaltungen und der Vielzahl von Gewährungs-Logikschaltungen;
Mittel, das auf einen ausgewählten der Anforderer reagiert, der ein vorgewähltes Betriebsmittel zu benutzen wünscht, um die mit dem gewählten Anforderer gekoppelte Anforderungs-Logikschaltung eine Anforderung für die vorgewählte Betriebsmittelart an das Sendemedium senden zu lassen;
Mittel, die auf die Sendung der Anforderung reagieren, um eine erste Gewährungs-Logikschaltung Schlangenpositions- Information an das Sendemedium für das vorgewählte Be triebsmittel zu senden, welche Schlangenpositions-Information für das vorgewählte Betriebsmittel hernach als eine erste Schlangenpositions-Information bezeichnet wird;
Mittel, das auf das Senden der ersten Schlangenpositions- Information reagiert, um die mit dem ausgewählten Anforderer gekoppelte Anforderungs-Logikschaltung die erste Schlangenpositions-Information speichern zu lassen, welche gespeicherte Schlangenpositions-Information hiernach als eine zweite Schlangenpositions-Information bezeichnet wird;
Mittel, das darauf reagiert, dass das vorgewählte Betriebsmittel frei und bereit wird, einem Anforderer zu dienen, um eine zweite Gewährungs-Logikschaltung an dem Sendemedium eine Anzeige senden zu lassen, dass das vorgewählte Betriebsmittel bereit ist, einem Anforderer zu dienen, welche Anzeige, dass das vorgewählte Betriebsmittel bereit ist, einem Anforderer zu dienen, hiernach als eine dritte Schlangenpositions-Information bezeichnet wird;
Mittel, das auf die zweite Schlangenpositions-Information und die dritte Schlangenpositions-Information reagiert zum Gewähren von Zugriff zu dem ausgewählten Anforderer, das vorgewählte Betriebsmittel zu benutzen.
9. Arbitrierungs-Vorrichtung zum Steuern einer Kopplungsordnung unter einer Vielzahl von Betriebsmitteln und einer Vielzahl von Anforderern, welche umfasst:
a) eine Vielzahl von Anforderungs-Verarbeitungseinheiten, von denen je eine je einem aus der Vielzahl von Anforderern zugeordnet ist, zum Empfangen eines Betriebsmittelart-Anforderungssignals von dem zugeordneten Anforderer;
b) eine Vielzahl von Gewährungs-Verarbeitungseinheiten, von denen je eine einem aus der Vielzahl von Betriebsmittelarten zugeordnet ist, zum Überwachen eines Besetzta tus-Signals von dem zugeordneten Betriebsmittel;
c) ein gemeinsames Sendemedium, das mit der Vielzahl von Anforderungs-Verarbeitungseinheiten und der Vielzahl von Gewährungs-Verarbeitungseinheiten gekoppelt ist; und
d) einen Arbiter zum Gewähren von Zugriff zu dem gemeinsamen Sendemedium an eine der Anforderungs-Verarbeitungseinheiten und Gewährungs-Verarbeitungseinheiten; welche Vielzahl von Gewährungs-Verarbeitungseinheiten und welche Vielzahl von das gemeinsame Sendemedium zum Steuern der Kopplungs-Reihenfolge unter der Vielzahl von Anforderern und der Vielzahl von Betriebsmitteln in einer Erledigungsweise, bei der der zuerstkommende zuerst bedient wird, zu steuern.
10. Arbitrierungs-Vorrichtung nach Anspruch 9, bei der jede der Gewährungs-Verarbeitungseinheiten ein Speichergerät umfasst, welches Betriebsmittelart-Information, aktuelle Schlangenpositions-Information und nächstverfügbare Schlangenpositions-Information zum gesteuerten Senden an dem gemeinsamen Sendemedium enthält.
11. Arbitrierungs-Vorrichtung nach Anspruch 10, die weiter umfasst: ein Betriebsmittelart-Register in jeder der Anforderungs-Verarbeitungseinheiten, und worin das Betriebsmittelart-Anforderungssignal weiter enthält:
a) ein Anforderungssignal; und
b) ein Betriebsmittelart-Signal;
wobei das Betriebsmittelart-Signal in dem Betriebsmittelart-Register gespeichert wird zum gesteuerten Senden an dem gemeinsamen Sendemedium, wenn die entsprechende Anforderungs-Verarbeitungseinheit das Anforderungssignal von einem zugeordneten Anforderer empfängt.
12. Arbitrierung-Vorrichtung nach Anspruch 11, die weiter umfasst:
a) ein Schlangenpositions-Register in jeder der Anforderungs-Verarbeitungseinheiten zum Empfangen und Speichern der nächstverfügbaren Schlangenpositions-Information von einer der Gewährungs-Verarbeitungseinheiten, nachdem ein Betriebsmittelart-Anforderungssignal durch eine entsprechende Anforderungs-Verarbeitungseinheit gesendet ist; und
b) einen Komparator, der zum Vergleichen der in dem Schlangenpositions-Register gespeicherten nächstverfügbaren Schlangenpositions-Information mit aktueller Schlangenpositions-Information arbeitet, die durch eine der Gewährungs-Verarbeitungseinheiten gesendet wird.
13. Arbitrierungs-Mechanismus nach Anspruch 12, der weiter umfasst:
a) ein Anforderer-ID-Register in jeder der Anforderungs- Verarbeitungseinheiten zum Speichern einer Anforderer-ID für die zugeordneten Anforderer; und
b) ein Betriebsmittel-ID-Register in jeder der Gewährungs Verarbeitungseinheiten, zum Speichern einer Betriebsmittel-ID für das zugeordnete Betriebsmittel; und
c) wobei jede aus der Vielzahl von Anforderungs-Verarbeitungseinheiten und der Vielzahl von Gewährungs-Verarbeitungseinheiten in Betrieb sind zum steuerbaren Senden der Anforderer-ID bzw. der Betriebsmittel-ID an dem gemeinsamen Sendemedium.
14. Arbitrierungs-Vorrichtung nach Anspruch 13, die weiter umfasst:
a) eine erste Aufzählungslogik, die dem Speichergerät zugeordnet ist, welche erste Aufzählungslogik die aktuelle Schlangenpositions-Information immer dann aufzählt, wenn die aktuelle Schlangenpositions-Information an dem gemein samen Sendemedium gesendet wird; und
b) eine zweite Aufzählungslogik, die dem Speichergerät zugeordnet ist, welche zweite Aufzählungslogik die nächstverfügbare Schlangenpositions-Information immer dann aufzählt, wenn die nächstverfügbare Schlangenpositions-Information an dem gemeinsamen Sendemedium gesendet wird.
15. Arbitrierungs-Vorrichtung nach Anspruch 9, die weiter umfasst:
a) eine Betriebsmittelart-Gruppe, welche mehr als eines aus der Vielzahl von Betriebsmitteln enthält;
b) ein Reagierer-Register, das eine Reagierer-Bezeichnung enthält, in den Gewährungs-Verarbeitungseinheiten, die den mehr als einen aus der Vielzahl von Betriebsmitteln zugeordnet sind, welches Reagierer-Register eines der mehr als einen aus der Vielzahl von Betriebsmitteln bezeichnet zum Reagieren auf das Betriebsmittelart-Anforderungssignal, wenn es an dem gemeinsamen Sendemedium durch eine der Vielzahl von Anforderungs-Verarbeitungseinheiten gesendet wird.
16. Arbitrierungs-Vorrichtung nach Anspruch 9, die weiter einen Betriebsmittel-Zugriffsweg umfasst, wobei die Vielzahl von Betriebsmitteln und die Vielzahl von Anforderern mit jedem anderen durch den Betriebsmittel-Zugriffsweg in der durch den Arbitrierungs-Mechanismus gesteuerten Reihenfolge gekoppelt werden.
17. Arbitrierungs-Vorrichtung nach Anspruch 9, bei der das gemeinsame Sendemedium umfasst:
a) einen ersten Bus; und
b) einen zweiten Bus, wobei der erste und der zweite Bus zum Übertragen von Information zwischen den Anforderungs- Verarbeitungseinheiten und den Gewährung-Verarbeitungs einheiten arbeiten.
18. Arbitrierungs-Vorrichtung nach Anspruch 17, bei dem der Arbiter mindestens einen Unter-Arbiter für jeden der Buse in dem gemeinsamen Sendemedium enthält.
19. Computersystem, das einen Arbitrierungs-Mechanismus zum Gewähren von Zugriff durch einen Betriebsmittel-Zugriffsweg enthält, und umfasst:
a) eine Vielzahl von Anforderern;
b) eine Vielzahl von Betriebsmitteln mit einer Betriebsmittelart;
c) eine Vielzahl von Anforderungs-Verarbeitungseinheiten, die jeweils einzeln mit je einem der Vielzahl von Anforderern verbunden sind zum Empfangen eines Betriebsmittelart-Anforderungssignals von dem zugeordneten Anforderer;
d) eine Vielzahl von Gewährungs-Verarbeitungseinheiten, die jeweils einzeln mit jeder der Vielzahl von Betriebsmitteln verbunden sind zum Überwachen eines Zustandssignals von dem zugeordneten Betriebsmittel;
e) ein mit der Vielzahl von Anforderungs-Verarbeitungseinheiten und der Vielzahl von Gewährungs-Verarbeitungseinheiten gekoppeltes gemeinsames Sendemedium;
f) einen Arbiter zum Gewähren von Zugriff zu dem gemeinsamen Sendemedium an eine der Anforderungs-Verarbeitungseinheiten und Gewährungs-Verarbeitungseinheiten; wobei die Vielzahl von Anforderungs-Verarbeitungseinheiten und die Vielzahl von Gewährungs-Verarbeitungseinheiten das gemeinsame Sendemedium zum Steuern der Kopplungsreihenfolge zwischen der Vielzahl von Betriebsmitteln und der Vielzahl von Anfordern in einer Abwicklungsart, wer zuerst kommt wird zuerst bedient, zu steuern, und
g) eine Steuerung zum Koppeln der Vielzahl von Betriebsmitteln mit der Vielzahl von Anforderern durch den Betriebsmittel-Zugriffsweg in der durch die Vielzahl von Anforderungs-Verarbeitungseinheiten und der Vielzahl von Gewährungs-Verarbeitungseinheiten gesteuerten Reihenfolge.
20. Verfahren zum Koppeln einer Vielzahl von Betriebsmitteln mit einer Vielzahl von Anforderern durch einen Betriebsmittel-Zugriffsweg in einer Ordnung, wer zuerst kommt, wird zuerst bedient, welches Verfahren die Schritte umfasst:
a) Empfangen und Speichern eines Anforderungsart-Signals einschließlich einer Betriebsmittelart-Anzeige in einer Anforderungs-Verarbeitungseinheit, die einem aus der Vielzahl von Anforderern zugeordnet ist;
b) Überwachen eines Besetztzustand-Signals durch eine Gewährungs-Verarbeitungseinheit, die einem aus der Vielzahl von Betriebsmitteln zugeordnet ist;
c) Anfordern von Zugriff zu einem gemeinsamen Sendemedium durch die Anforderungs-Verarbeitungseinheit;
d) Senden des Anforderungsart-Signals an das gemeinsame Sendemedium auf den gewährten Zugriff zu dem gemeinsamen Sendemedium hin;
e) Vergleichen des Anforderungsart-Signals mit einer Betriebsmittelart, die jeder der Gewährungs-Verarbeitungseinheiten zugeordnet ist;
f) Senden von Schlangenpositions-Information für eines der Betriebsmittel an dem gemeinsamen Sendemedium, wenn der Vergleicherschritt des Schrittes (e) eine Übereinstimmung zwischen einer Betriebsmittelart anzeigt, die einem der Betriebsmittel entspricht, und dem Sende-Anforderungsart-Signal, und Speichern der Schlangenpositions-Information in der Anforderungs-Verarbeitungseinheit,
g) Bestimmen einer unerledigten Anforderung für das eine der Betriebsmittel, wenn der Überwachungsschritt im Schritt (b) einen Nichtbesetzt-Status des einen der Betriebsmittel bezeichnet;
h) Anfordern von Zugriff zu dem gemeinsamen Sendemedium und Senden von aktueller Schlangenpositions-Information und der Betriebsmittelart für das eine der Betriebsmittel an dem gemeinsamen Sendemedium, wenn die Zugriffsanforderung gewährt ist;
i) Vergleichen der aktuellen Schlangenpositions-Information an der Betriebsmittelart an dem gemeinsamen Sendemedium jeweils mit der gespeicherten Schlangenpositions-Information bzw. der gespeicherten Betriebsmittelart-Anzeige in der Anforderungs-Verarbeitungseinheit; und
j) Koppeln des Anforderers mit dem Betriebsmittel, wenn der Vergleich Übereinstimmung ergibt.
21. Verfahren nach Anspruch 20, das weiter die Schritte umfasst:
a) Bezeichnen eines Reaktions-Betriebsmittels immer dann, wenn mehr als eine der Gewährungs-Verarbeitungseinheiten mit dem Betriebsmittel-Typ von dem gemeinsamen Sendemedium übereinstimmt; und
b) Senden der Schlangenpositions-Information an dem gemeinsamen Sendemedium durch das reagierende Betriebsmittel.
22. Verfahren nach Anspruch 20, das weiter den Schritt des Vergleichens in den Gewährungs-Verarbeitungseinheiten der Schlangenpositions-Information in jeder Gewährungs-Verarbeitungseinheit der gleichen Betriebsmittelart-Gruppe mit der Schlangenpositions-Informations-Sendung an dem gemeinsamen Sendemedium umfasst, wenn der Vergleich keine Übereinstimmung ergibt.
DE69131548T 1990-06-22 1991-06-20 Schneller Arbitrierer mit einfacher Anpassung für eine grosse Anzahl von Anforderern mit grosser Anzahl von mehreren Betriebsmitteltypen und selektierbaren Methoden von Warteschleifen Expired - Fee Related DE69131548T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/542,856 US5265257A (en) 1990-06-22 1990-06-22 Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines

Publications (2)

Publication Number Publication Date
DE69131548D1 DE69131548D1 (de) 1999-09-30
DE69131548T2 true DE69131548T2 (de) 2000-05-04

Family

ID=24165570

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69131548T Expired - Fee Related DE69131548T2 (de) 1990-06-22 1991-06-20 Schneller Arbitrierer mit einfacher Anpassung für eine grosse Anzahl von Anforderern mit grosser Anzahl von mehreren Betriebsmitteltypen und selektierbaren Methoden von Warteschleifen

Country Status (4)

Country Link
US (4) US5265257A (de)
EP (1) EP0463943B1 (de)
CA (1) CA2045328A1 (de)
DE (1) DE69131548T2 (de)

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6928500B1 (en) * 1990-06-29 2005-08-09 Hewlett-Packard Development Company, L.P. High speed bus system that incorporates uni-directional point-to-point buses
DE4131227A1 (de) * 1990-09-21 1992-04-02 Sundstrand Data Control Verfahren und einrichtung zur buszuteilung
US5708784A (en) * 1991-11-27 1998-01-13 Emc Corporation Dual bus computer architecture utilizing distributed arbitrators and method of using same
US5485586A (en) * 1992-01-10 1996-01-16 Digital Equipment Corporation Queue based arbitration using a FIFO data structure
JP2566719B2 (ja) * 1992-04-20 1996-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション データ通信インタフエース及びその動作方法
EP0576764A1 (de) * 1992-06-30 1994-01-05 International Business Machines Corporation Verfahren und Vorrichtung zur Verwaltung von Zugriffen auf ein Betriebsmittel von mehreren Benutzern in einem Datenverarbeitungssystem
US5375223A (en) * 1993-01-07 1994-12-20 International Business Machines Corporation Single register arbiter circuit
US5796966A (en) * 1993-03-01 1998-08-18 Digital Equipment Corporation Method and apparatus for dynamically controlling data routes through a network
US6311286B1 (en) * 1993-04-30 2001-10-30 Nec Corporation Symmetric multiprocessing system with unified environment and distributed system functions
US5905723A (en) * 1993-06-23 1999-05-18 Cabletron Systems, Inc. System for achieving scalable router performance
US5517671A (en) * 1993-07-30 1996-05-14 Dell Usa, L.P. System for designating a plurality of I/O devices to a plurality of I/O channels and connecting and buffering the plurality of I/O channels to a single system bus
US5504874A (en) * 1993-09-29 1996-04-02 Silicon Graphics, Inc. System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions
US5875339A (en) * 1993-10-21 1999-02-23 Sun Microsystems, Inc. Asynchronous arbiter using multiple arbiter elements to enhance speed
US5713025A (en) * 1993-10-21 1998-01-27 Sun Microsystems, Inc. Asynchronous arbiter using multiple arbiter elements to enhance speed
WO1995020191A1 (en) * 1994-01-25 1995-07-27 Apple Computer, Inc. System and method for coordinating access to a bus
AU1689795A (en) * 1994-01-25 1995-08-08 Apple Computer, Inc. Improved bus protocol using separate clocks for arbitration and data transfer
JPH07225745A (ja) * 1994-02-09 1995-08-22 Canon Inc 情報処理装置及びアービトレーション方法
US5528766A (en) * 1994-03-24 1996-06-18 Hewlett-Packard Company Multiple arbitration scheme
DE69521549T2 (de) * 1994-04-04 2001-10-25 Hyundai Electronics America, Milpitas Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten
US5574867A (en) * 1994-07-08 1996-11-12 Intel Corporation Fast first-come first served arbitration method
US5586030A (en) * 1994-10-24 1996-12-17 Caterpillar Inc. System and method for managing access to a resource in an autonomous vehicle system
US5581713A (en) * 1994-10-25 1996-12-03 Pyramid Technology Corporation Multiprocessor computer backplane bus in which bus transactions are classified into different classes for arbitration
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US5689673A (en) * 1995-02-14 1997-11-18 Hal Computer Systems, Inc. Apparatus and method for controlling instruction flow by using a matrix of transmission gates in super-scaler microprocessor and selectively delaying microprocessor instruction execution based on resource availability
US6601048B1 (en) 1997-09-12 2003-07-29 Mci Communications Corporation System and method for detecting and managing fraud
US5854834A (en) * 1995-04-21 1998-12-29 Mci Communications Corporation Network information concentrator
EP0752666A3 (de) * 1995-07-06 2004-04-28 Sun Microsystems, Inc. Verfahren und Vorrichtung zur Beschleunigung von Sklave-Anforderungen in einem paketvermittelten Computersystem
US6247093B1 (en) * 1995-09-01 2001-06-12 Hitachi, Ltd. Data processing apparatus for executing synchronous instructions prior to executing asynchronous instructions
JP3519182B2 (ja) * 1995-09-05 2004-04-12 株式会社日立製作所 情報処理システムおよびバスアービタならびにバス制御方法
US5664121A (en) * 1995-11-07 1997-09-02 Sun Microsystems, Inc. Dual mode arbitration apparatus and method for reducing latency by allowing the possibility of simultaneous request and access for a shared bus
KR0150072B1 (ko) * 1995-11-30 1998-10-15 양승택 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치
US5875338A (en) * 1995-12-14 1999-02-23 International Business Machines Corporation Method and apparatus for arbitrating resource requests utilizing independent tokens for arbiter cell selection
US5805838A (en) * 1996-05-31 1998-09-08 Sun Microsystems, Inc. Fast arbiter with decision storage
DE69733684T2 (de) * 1996-09-18 2006-04-27 Koninklijke Philips Electronics N.V. Nachrichtenverteilungssystem
US5790817A (en) * 1996-09-25 1998-08-04 Advanced Micro Devices, Inc. Configurable digital wireless and wired communications system architecture for implementing baseband functionality
US5982672A (en) * 1996-10-18 1999-11-09 Samsung Electronics Co., Ltd. Simultaneous data transfer through read and write buffers of a DMA controller
US6173349B1 (en) * 1996-10-18 2001-01-09 Samsung Electronics Co., Ltd. Shared bus system with transaction and destination ID
US6580719B1 (en) * 1996-11-06 2003-06-17 Motorola, Inc. Method for determining the number of accesses granted during WCL and apparatus
US6279098B1 (en) 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US6910211B1 (en) * 1997-03-14 2005-06-21 International Business Machines Corporation System and method for queue-less enforcement of queue-like behavior on multiple threads accessing a scarce source
US6072805A (en) * 1997-06-30 2000-06-06 Sun Microsystems, Inc. Observing arbiter
US6192048B1 (en) * 1997-10-02 2001-02-20 Mcdata Corporation Method and apparatus for implementing hunt group support for a crosspoint controller
US6076125A (en) * 1998-01-09 2000-06-13 Vlsi Technology, Inc. Single address queue for handling multiple priority requests
US6105095A (en) * 1998-02-23 2000-08-15 Motorola, Inc. Data packet routing scheduler and method for routing data packets on a common bus
US6359879B1 (en) * 1998-04-24 2002-03-19 Avici Systems Composite trunking
US6182186B1 (en) * 1998-06-30 2001-01-30 Sun Microsystems, Inc. Method and apparatus that utilizes lock states to lock resources
US6330329B1 (en) * 1998-09-09 2001-12-11 Nortel Networks Limited Method and apparatus within a switch for performing circular hunts with a window
US6195724B1 (en) * 1998-11-16 2001-02-27 Infineon Technologies Ag Methods and apparatus for prioritization of access to external devices
US6513084B1 (en) * 1999-06-29 2003-01-28 Microsoft Corporation Arbitration of state changes
US7102999B1 (en) 1999-11-24 2006-09-05 Juniper Networks, Inc. Switching device
US6246256B1 (en) 1999-11-29 2001-06-12 Broadcom Corporation Quantized queue length arbiter
US6442550B1 (en) * 1999-12-14 2002-08-27 International Business Machines Corporation System and method in a collaborative data processing environment for customizing the quality of service on a per-client basis
US6629177B1 (en) * 1999-12-27 2003-09-30 Intel Corporation Arbitrating requests on computer buses
US6975626B1 (en) 2000-03-31 2005-12-13 Sun Microsystems, Inc. Switched network for low latency communication
US7006501B1 (en) * 2000-03-31 2006-02-28 Sun Microsystems, Inc. Distributed least choice first arbiter
US7020161B1 (en) 2000-03-31 2006-03-28 Sun Microsystems, Inc. Prescheduling arbitrated resources
US6882649B1 (en) * 2000-03-31 2005-04-19 Sun Microsystems, Inc. Least choice first arbiter
US7065580B1 (en) 2000-03-31 2006-06-20 Sun Microsystems, Inc. Method and apparatus for a pipelined network
US7061929B1 (en) 2000-03-31 2006-06-13 Sun Microsystems, Inc. Data network with independent transmission channels
US6636913B1 (en) * 2000-04-18 2003-10-21 International Business Machines Corporation Data length control of access to a data bus
US6973521B1 (en) * 2000-05-16 2005-12-06 Cisco Technology, Inc. Lock controller supporting blocking and non-blocking requests
AU2001263424A1 (en) * 2000-05-31 2001-12-11 Cygnal Integrated Products, Inc. Priority cross-bar decoder
US6915372B2 (en) * 2000-08-31 2005-07-05 Tellabs Operations, Inc. Methods and apparatus for managing traffic through a buffered crossbar switch fabric
EP1327195A1 (de) * 2000-09-19 2003-07-16 Conxion Corporation Verfahren und vorrichtung zur dynamischen bestimmung der optimalen verbindung eines client mit inhalts-servern
US7124224B2 (en) * 2000-12-22 2006-10-17 Intel Corporation Method and apparatus for shared resource management in a multiprocessing system
US20020136385A1 (en) * 2001-03-26 2002-09-26 Dejian Zhou Method and apparatus for performing trunk selection
US6654861B2 (en) * 2001-07-18 2003-11-25 Smart Matic Corp. Method to manage multiple communication queues in an 8-bit microcontroller
US6763418B1 (en) * 2001-09-07 2004-07-13 Agilent Technologies, Inc. Request bus arbitration
US6804738B2 (en) * 2001-10-12 2004-10-12 Sonics, Inc. Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US7194561B2 (en) * 2001-10-12 2007-03-20 Sonics, Inc. Method and apparatus for scheduling requests to a resource using a configurable threshold
US7124410B2 (en) * 2002-01-09 2006-10-17 International Business Machines Corporation Distributed allocation of system hardware resources for multiprocessor systems
US7313135B2 (en) 2002-01-31 2007-12-25 Mosaid Technologies, Inc. Trunking in a matrix
US7352741B2 (en) 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
US7120327B2 (en) * 2002-11-27 2006-10-10 International Business Machines Corporation Backplane assembly with board to board optical interconnections
US6845115B2 (en) * 2002-12-05 2005-01-18 Agilent Technologies, Inc. Coupled resonant cavity surface-emitting laser
US7986625B2 (en) * 2002-12-10 2011-07-26 International Business Machines Corporation Resource-aware system, method and program product for managing request traffic based on a management policy
US20040225734A1 (en) * 2003-05-07 2004-11-11 Schober Richard L. Method and system to control the communication of data between a plurality of inteconnect devices
US7099971B1 (en) * 2003-06-26 2006-08-29 Emc Corporation Arbitration system
US7665069B2 (en) * 2003-10-31 2010-02-16 Sonics, Inc. Method and apparatus for establishing a quality of service model
US8504992B2 (en) 2003-10-31 2013-08-06 Sonics, Inc. Method and apparatus for establishing a quality of service model
US9087036B1 (en) 2004-08-12 2015-07-21 Sonics, Inc. Methods and apparatuses for time annotated transaction level modeling
KR20060130674A (ko) * 2004-03-25 2006-12-19 소니 가부시끼 가이샤 정보 신호 처리 장치, 기능 블록 제어 방법 및 기능 블록
US7917906B2 (en) * 2004-07-02 2011-03-29 Seagate Technology Llc Resource allocation in a computer-based system
US7904612B2 (en) * 2004-07-08 2011-03-08 International Business Machines Corporation Ticket mechanism for sharing computer resources
US20060036790A1 (en) * 2004-08-10 2006-02-16 Peterson Beth A Method, system, and program for returning attention to a processing system requesting a lock
US7743180B2 (en) * 2004-08-10 2010-06-22 International Business Machines Corporation Method, system, and program for managing path groups to an input/output (I/O) device
US20060041705A1 (en) * 2004-08-20 2006-02-23 International Business Machines Corporation System and method for arbitration between shared peripheral core devices in system on chip architectures
US7287111B2 (en) * 2004-09-23 2007-10-23 International Business Machines Corporation Method and system for creating and dynamically selecting an arbiter design in a data processing system
US7680970B2 (en) * 2004-10-22 2010-03-16 Fisher-Rosemount Systems, Inc. Method and system for batch process arbitration in a process control system
WO2008002297A1 (en) * 2006-06-27 2008-01-03 Thomson Licensing Method and apparatus for performing arbitration
US8868397B2 (en) 2006-11-20 2014-10-21 Sonics, Inc. Transaction co-validation across abstraction layers
US7865647B2 (en) * 2006-12-27 2011-01-04 Mips Technologies, Inc. Efficient resource arbitration
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
JP2009026135A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
JP2009026136A (ja) * 2007-07-20 2009-02-05 Nec Electronics Corp マルチプロセッサ装置
US8245056B2 (en) 2008-07-24 2012-08-14 Broadcom Corporation Unified bus architecture for PoE communication and control
JP5035469B2 (ja) * 2009-03-31 2012-09-26 富士通株式会社 データ転送回路及びデータ転送方法
US8402186B2 (en) * 2009-06-30 2013-03-19 Intel Corporation Bi-directional handshake for advanced reliabilty availability and serviceability
US9542236B2 (en) * 2011-12-29 2017-01-10 Oracle International Corporation Efficiency sequencer for multiple concurrently-executing threads of execution
US9563590B2 (en) * 2014-03-17 2017-02-07 Nxp Usa, Inc. Devices with arbitrated interface busses, and methods of their operation
US9967197B2 (en) * 2015-01-12 2018-05-08 Citrix Systems, Inc. Large scale bandwidth management of IP flows using a hierarchy of traffic shaping devices
US11720404B2 (en) * 2020-07-16 2023-08-08 Samsung Electronics Co., Ltd. Systems and methods for arbitrating access to a shared resource

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB166930A (en) * 1920-03-19 1921-07-19 Charles Anderton Brown Improvements in or connected with tubular heat exchangers
US4633392A (en) * 1982-04-05 1986-12-30 Texas Instruments Incorporated Self-configuring digital processor system with logical arbiter
US4608700A (en) * 1982-07-29 1986-08-26 Massachusetts Institute Of Technology Serial multi-drop data link
US4534024A (en) * 1982-12-02 1985-08-06 At&T Bell Laboratories System and method for controlling a multiple access data communications system including both data packets and voice packets being communicated over a cable television system
FR2538976A1 (fr) * 1982-12-29 1984-07-06 Servel Michel Systeme de commutation de paquets synchrones de longueur fixe
JPS59148952A (ja) * 1983-02-14 1984-08-25 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 優先順位回路
US4648029A (en) * 1984-08-27 1987-03-03 International Business Machines Corporation Multiplexed interrupt/DMA request arbitration apparatus and method
KR900006793B1 (ko) * 1984-10-18 1990-09-21 휴우즈 에어크라프트 캄파니 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
US4630258A (en) * 1984-10-18 1986-12-16 Hughes Aircraft Company Packet switched multiport memory NXM switch node and processing method
CA1248239A (en) * 1984-10-30 1989-01-03 Kenneth R. Jaskowiak Equal access bus arbiter
US4631534A (en) * 1984-11-13 1986-12-23 At&T Information Systems Inc. Distributed packet switching system
US4630260A (en) * 1985-06-27 1986-12-16 At&T Bell Laboratories Self-routing multipath packet switching network with sequential delivery of packets
US4740956A (en) * 1985-12-30 1988-04-26 Ibm Corporation Linear-space signalling for a circuit-switched network
US4707829A (en) * 1986-09-25 1987-11-17 Racal Data Communications Inc. CSMA-CD with channel capture
IT1199745B (it) * 1986-12-12 1988-12-30 Honeywell Inf Systems Circuito arbitratore di accesso
US5142682A (en) * 1987-03-26 1992-08-25 Bull Hn Information Systems Inc. Two-level priority arbiter generating a request to the second level before first-level arbitration is completed
US4947368A (en) * 1987-05-01 1990-08-07 Digital Equipment Corporation Lookahead bus arbitration system with override of conditional access grants by bus cycle extensions for multicycle data transfers
CA1302584C (en) * 1987-07-30 1992-06-02 Alliant Computer Systems Corporation Parallel processing computer in which memory access priorities are varied
US5012409A (en) * 1988-03-10 1991-04-30 Fletcher Mitchell S Operating system for a multi-tasking operating environment
US5179705A (en) * 1988-03-23 1993-01-12 Dupont Pixel Systems, Ltd. Asynchronous arbiter state machine for arbitrating between operating devices requesting access to a shared resource
US5140680A (en) * 1988-04-13 1992-08-18 Rockwell International Corporation Method and apparatus for self-timed digital data transfer and bus arbitration
US4924380A (en) * 1988-06-20 1990-05-08 Modular Computer Systems, Inc. (Florida Corporation) Dual rotating priority arbitration method for a multiprocessor memory bus
US4979099A (en) * 1988-10-25 1990-12-18 Apollo Computer Inc. Quasi-fair arbitration scheme with default owner speedup
IT1227711B (it) * 1988-11-18 1991-05-06 Caluso Torino Sistema multiprocessore di elaborazione dati a risorse distribuite condivise e prevenzione di stallo.
US4953081A (en) * 1988-12-21 1990-08-28 International Business Machines Corporation Least recently used arbiter with programmable high priority mode and performance monitor
US5155854A (en) * 1989-02-03 1992-10-13 Digital Equipment Corporation System for arbitrating communication requests using multi-pass control unit based on availability of system resources
US5168568A (en) * 1989-02-06 1992-12-01 Compaq Computer Corporation Delaying arbitration of bus access in digital computers
JPH03122742A (ja) * 1989-10-05 1991-05-24 Oki Electric Ind Co Ltd 割込み通知方式
US5151994A (en) * 1989-11-13 1992-09-29 Hewlett Packard Company Distributed fair arbitration system using separate grant and request lines for providing access to data communication bus
US5072363A (en) * 1989-12-22 1991-12-10 Harris Corporation Multimode resource arbiter providing round robin arbitration or a modified priority arbitration
US5168570A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Method and apparatus for a multiple request toggling priority system
US5212796A (en) * 1990-01-02 1993-05-18 Motorola, Inc. System with modules using priority numbers related to interrupt vectors for bit-serial-arbitration on independent arbitration bus while CPU executing instructions
US5146596A (en) * 1990-01-29 1992-09-08 Unisys Corporation Multiprocessor multifunction arbitration system with two levels of bus access including priority and normal requests
US5062782A (en) * 1990-07-24 1991-11-05 Bridgestone/Firestone, Inc. Coextrusion apparatus for varying the inner and/or outer profile of a tubular extrudate

Also Published As

Publication number Publication date
EP0463943A3 (en) 1992-12-30
US5265257A (en) 1993-11-23
DE69131548D1 (de) 1999-09-30
US5313641A (en) 1994-05-17
EP0463943B1 (de) 1999-08-25
US5418967A (en) 1995-05-23
US5303391A (en) 1994-04-12
EP0463943A2 (de) 1992-01-02
CA2045328A1 (en) 1991-12-23

Similar Documents

Publication Publication Date Title
DE69131548T2 (de) Schneller Arbitrierer mit einfacher Anpassung für eine grosse Anzahl von Anforderern mit grosser Anzahl von mehreren Betriebsmitteltypen und selektierbaren Methoden von Warteschleifen
DE69529381T2 (de) Warteschlangen-Arbitrierungsmechanismus für Datenverarbeitungssystem
DE69222469T2 (de) Verfahren zur Verminderung der Restbandbreite eines Busses in einem Rechnersystem
DE3853574T2 (de) Steuerung von Benutzerantworten in einem Übertragungsbus.
DE3688763T2 (de) Mehrfachport-Übertragungsadaptiervorrichtung.
DE68927375T2 (de) Arbitrierung von Übertragungsanforderungen in einem Multiprozessor-Rechnersystem
DE69429279T2 (de) Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern
DE69521549T2 (de) Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten
EP0179936B1 (de) Verfahren und Einrichtung zur Steuerung einer Sammelleitung
DE3688810T2 (de) Mehrfachport-integrierter Steuerer und Arbitrierer für DMA und Unterbrechungen.
DE68925763T2 (de) Verbindungs- und Zugriffsarbitrierungsanordnung für Multiprozessorsystem
DE3650036T2 (de) Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung.
DE69130106T2 (de) Arbitrierung von paketvermittelten Bussen, einschliesslich Bussen von Multiprozessoren mit gemeinsam genutztem Speicher
DE69225463T2 (de) Verfahren und Gerät zur Verschachtelung von mehrkanaligen DMA-Operationen
DE69413740T2 (de) Arbitrierungsverfahren zur Datenflusssteuerung durch ein E/A-Steuergerät
DE69108434T2 (de) Mehrgruppen-Signalprozessor.
DE68915701T2 (de) Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung.
DE69224279T2 (de) Verfahren und Gerät zur Arbitrierung auf Basis der Verfügbarkeit von Betriebsmitteln
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE3424866A1 (de) Verfahren und anordnung zur uebertragung von daten, insbesondere in einem flugzeug
DE3882991T2 (de) Anordnung und methode zur erzielung von unterbrechungen mit einem "pended bus".
DE69114961T2 (de) Vorrichtung für Zusammenschaltungskanäle.
DE3905478A1 (de) Verfahren und vorrichtung fuer die buszuweisung in einem computersystem
DE69026018T2 (de) Rechnersystem mit Vorrichtung zur Verbesserung der Wirksamkeit von Übertragungen zwischen einem Hauptprozessor und Peripheriegeräten verbunden durch einen SCSI-Bus
DE60026068T2 (de) System für externe transaktionen mit dynamischen prioritäten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: ENTERASYS NETWORKS,INC.(N.D.GES.D.STAATES DELAWARE

8339 Ceased/non-payment of the annual fee