DE4326964A1 - Bus mit virtueller Paketbildung und verteilter Arbitration - Google Patents

Bus mit virtueller Paketbildung und verteilter Arbitration

Info

Publication number
DE4326964A1
DE4326964A1 DE4326964A DE4326964A DE4326964A1 DE 4326964 A1 DE4326964 A1 DE 4326964A1 DE 4326964 A DE4326964 A DE 4326964A DE 4326964 A DE4326964 A DE 4326964A DE 4326964 A1 DE4326964 A1 DE 4326964A1
Authority
DE
Germany
Prior art keywords
bus
module
coupled
assignment
access
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.)
Withdrawn
Application number
DE4326964A
Other languages
English (en)
Inventor
William N Waggener
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.)
Lockheed Martin Corp
Original Assignee
Loral Fairchild Corp
Lockheed Martin Fairchild Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Loral Fairchild Corp, Lockheed Martin Fairchild Corp filed Critical Loral Fairchild Corp
Publication of DE4326964A1 publication Critical patent/DE4326964A1/de
Withdrawn 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/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/372Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a time-dependent priority, e.g. individually loaded time counters or time slot

Description

Die vorliegende Erfindung bezieht sich allgemein auf die Architektur eines Computerbusses und insbesondere auf einen Bus mit virtueller Paketbildung, der zum pakettierten Informationsübertragen dient und eine verteilte Arbitrati­ onstechnik mit flexibler Prioritätszuordnung einschließt.
Bei digitalen Computersystemen, die eine Vielzahl von Modulen wie etwa Prozessormodule, Steuermodule, Kommunika­ tions-Schnittstellen (Relais-)Module usw. aufweisen, wird ein Medium eingesetzt, über das diese Module Daten gegen­ seitig übertragen können. Üblicherweise ist das eingesetzte Medium ein physikalischer Datenkanal, der als Sammelleitung oder Bus bekannt ist. Der Bus ist mit einem Kommunikations­ port bzw. -anschluß an jedem Modul verbunden. Bei typischen Architekturgestaltungen von Datenbussen wird die Informa­ tion mit jeweils einem Wort zu einem Zeitpunkt über den Bus übertragen. Da sich mehrere Module denselben Bus teilen, müssen die Module weiterhin für jedes gesendete Wort mit­ einander bezüglich des Buszugriffes in Konkurrenz treten.
Ein Computerbus weist typischerweise mehrere Leitungen für die Übertragung und für die Steuerung der Übertagung von unterschiedlichen Arten von Informationen zwischen den an den Bus angeschlossenen Modulen auf. Herkömmliche Archi­ tekturgestaltungen von Sammelleitungen umfassen eine Bus­ struktur mit paralleler Datenübertragung und mehrere Steu­ erleitungen. Üblicherweise ist der Datenbus N Bits breit, wobei N die Anzahl von Bits je Wort bezeichnet.
In zeitlicher Hinsicht wird der Bus in eine Reihe von Zeitschlitzen unterteilt, die als Buszyklen bezeichnet wer­ den. Ein Buszyklus stellt die Zeitperiode dar, während der einem Modul Zugriff zu dem Bus gewährt wird. Bei herkömmlichen Gestaltungen der Bus-Architektur besitzt der Buszyklus dieselbe Länge wie ein Taktzyklus. Folglich wird bei herkömmlichen Systemen ein Wort mit N Bits durch ein Modul bei jedem Taktzyklus übertragen.
Ein üblicher Ablauf bei einem Computersystem mit einer herkömmlichen Bus-Architektur wird nachstehend beschrieben. Ein erstes Modul will ein Wort oder eine Reihe von Worten über den Datenbus zu einem zweiten Modul senden (oder über­ tragen). Das erste Modul signalisiert, daß es auf den Bus zugreifen möchte. Eine Einrichtung zum Vergeben des Zu­ griffs zu dem Bus bestimmt, ob dem ersten Modul der Zugang bei dem nächsten Buszyklus gestattet wird. Falls das erste Modul keinen Zugriff erhält, muß das erste Modul seine An­ forderung solange wiederholen, bis es Zugang erhält. Sobald dem ersten Modul Zugriff zum Bus gewährt wird, kann es das erste Wort über den Bus zu dem zweiten Modul senden. Der­ selbe Vorgang muß erneut für jedes nachfolgende Wort, das das erste Modul zu senden wünscht, wiederholt werden. In manchen Fällen können beschränkte Formen von Mehrfach-Wort­ übertragungen durch ein Modul zugelassen werden.
Die herkömmlichen Bus-Architekturgestaltungen sind in zweierlei Hinsicht beschränkt. Zum einen sind sie dahinge­ hend beschränkt, daß sie bei jedem Buszyklus lediglich eine Übertragung eines einzelnen Worts (oder eine beschränkte Übertragung mehrfacher Wörter) erlauben. Zum anderen sind sie dahingehend beschränkt, daß zur Steuerung des Zugriffs zu dem Bus durch die verschiedenen Module Arbitrationsver­ fahren bzw. Zugriffsbeurteilungsmethoden eingesetzt werden.
Durch diese herkömmlichen Bus-Architekturgestaltungen mit Einzelwort-Buszugriff erhält das Computersystem ledig­ lich begrenzte Kommunikationsflexibilität und es wird nicht bei allen Umgebungs- bzw. Einsatzbedingungen optimales Sy­ stemverhalten erzielt. In manchen Umgebungen kann es erfor­ derlich sein, daß das Computersystem an verschiedene Tele­ kommunikations-Netzwerke angeschlossen wird. Beispielsweise kann das Computersystem als eine Kommunikations-Steuerein­ richtung ausgeführt werden, die die Kommunikation zwischen den an einen Knoten schnittstellenmäßig angeschlossenen Netzwerken steuert. Als alternatives Beispiel kann das Com­ putersystem für wissenschaftliche oder geschäftliche Zwecke eingesetzt werden und in einfacher Weise an die Netzwerke zum Erhalten von Daten schnittstellenmäßig angeschlossen sein.
Unabhängig von der bei diesen Umgebungen zugrundelie­ genden Funktion des Computers ist es notwendig, daß der Computer Daten von den verschiedenen Telekommunikations- Netzwerken, an die er angeschlossen ist, aufnimmt und in manchen Fällen Daten an diese abgibt. Diese Telekommunika­ tions-Netzwerke arbeiten typischerweise auf der Paketebene bzw. mit Paketbildung. Dies bedeutet, daß die Netzwerke Da­ ten in Einheiten, die als Pakete definiert sind, übertra­ gen. Die charakteristischen Eigenschaften des Pakets sind in Abhängigkeit von dem jeweils befolgten besonderen Kommu­ nikationsstandard definiert. Pakete sind typischerweise hinsichtlich ihrer Länge durch eine bestimmte Anzahl von Bits oder als eine bestimmte Anzahl von Bytes mit 8 Bit (Oktets) definiert. Beispielsweise ist in der Kommunikati­ onsspezifikation für den asynchronen Übertragungsmodus (ATM = Asynchronous Transfer Mode) ein Paket auf 53 Bytes mit jeweils 8 Bit festgelegt.
Die bei herkömmlichen Bus-Architekturgestaltungen ein­ gesetzten Übertragungsverfahren mit Übertragung eines Ein­ zelworts oder einer beschränkten Anzahl von mehreren Worten sind nicht direkt mit diesen Paket-Kommunikationsstandards kompatibel. Falls beispielsweise ein Datenpaket bei einer Netzwerk-Schnittstellenkarte empfangen wird, kann dieses Paket nicht direkt über den herkömmlichen Computer-Bus ge­ sendet werden. Statt dessen müssen die Daten "entpackt" (aus dem Paket herausgenommen), über den Bus mit jeweils einem Wort aus N Bit zu einem Zeitpunkt gesandt und dann, wenn sie für eine weitere Kommunikation über ein weiteres Netz­ werk bestimmt sind, erneut in Pakete strukturiert werden. Diese Inkompatibilität führt zu dem Erfordernis einer zu­ sätzlichen Schaltung in den Schnittstellen-Modulen. Diese zusätzliche Schaltung muß es ermöglichen, daß die Schnitt­ stellenkarten die Daten entpacken, die Daten erneut zu Pa­ keten verpacken und sowohl auf der Paketebene als auch auf der Wortebene arbeiten können.
Herkömmliche Bus-Architekturgestaltungen sind hinsicht­ lich ihrer Arbitrationsmethoden bzw. Entscheidungsmethoden beschränkt. Bei vielen herkömmlichen Systemen wird die Bus- Arbitration bzw. der Buszugriff durch eine zentrale Ent­ scheidungsstelle (Arbiter) gehandhabt. Bei diesen Systemen besitzt jedes Modul eine Leitung für die Anforderung eines Buszugriffs und eine Leitung, über die dem Modul signali­ siert wird, wenn der Zugriff gewährt wird. Oftmals sind weitere Steuerleitungen zur Bereitstellung zusätzlicher In­ formation wie etwa des Status des Arbitrations-bzw. Ent­ scheidungssystems hinzugefügt. Bei Systemen, die mit zen­ tralisierter Entscheidung arbeiten, sendet jedes Modul eine Buszugriffsanforderung an die zentrale Entscheidungsstelle. Die zentrale Entscheidungsstelle gewährt in jeder Zugriffs­ periode einem Modul den Buszugriff auf der Grundlage der Priorität der anfordernden Module.
Bei anderen Entscheidungsverfahren ist die Arbitrati­ ons-bzw. Entscheidungsfunktion auf die Module verteilt, die an den Bus angeschlossen sind. Bei diesen Systemen ist eine Arbitrationsschaltung bzw. Entscheidungsschaltung in jedem Modul enthalten, so daß die Module selbst bestimmen können, ob sie auf den Bus zugreifen dürfen. Oftmals erfordern diese Systeme Entscheidungsbusse, um eine verteilte Arbi­ tration bzw. Entscheidung zu ermöglichen. Diese Entschei­ dungsbusse besitzen typischerweise eine Breite von Y oder 2Y Leitungen, wobei Y die Anzahl der Module bezeichnet. Wie bei einem zentralisierten System wird eine Konkurrenz da­ durch gelöst, daß die Priorität der anfordernden Systeme bewertet und demjenigen anfordernden Modul, das die höchste Priorität besitzt, Zugriff gestattet wird.
Herkömmliche Entscheidungstechniken sind hinsichtlich der Art der Zuordnung der Modulpriorität beschränkt, wo­ durch die Flexibilität der Operationen des Computerbusses begrenzt wird. Diese Beschränkung ist sowohl bei zentrali­ sierten als auch bei verteilten Entscheidungsverfahren vor­ handen. Bei herkömmlichen Systemen werden Prioritäten in unterschiedlicher Weise zugeordnet. Hierbei können die Prioritäten auf der Grundlage einer physikalischen Adresse, einer Busposition oder der Position des Kartenschlitzes des Moduls zugeordnet werden. Diese Prioritäten sind festgelegt und können nicht geändert werden, es sei denn, das Modul wird anders positioniert oder seine Adresse wird geändert. Herkömmliche Entscheidungsverfahren, die mit dieser ersten Art des Prioritätsvergabeverfahrens arbeiten, ermöglichen in manchen Fällen eine Flexibilität dadurch, daß die Rei­ henfolge der Priorität der Positionen der Module rotierend geändert wird.
Ein zweites Verfahren der Zuordnung von Prioritäten in herkömmlichen Systemen besteht darin, daß eine anfängliche Zuordnung getroffen und dann die Priorität jedes Moduls beim Start jedes nachfolgenden Buszyklus rotierend geändert wird. Bei diesem Verfahren beginnt jedes Modul mit einer anfänglichen Priorität. Jedesmal dann, wenn einem Modul Zu­ griff gewährt wird, verschieben sich die Prioritäten der Module. Bei manchen Methoden werden alle Prioritäten jedes Moduls in festgelegter Weise inkrementiert oder dekremen­ tiert.
Somit sind herkömmliche Bus-Architekturgestaltungen in zweierlei Hinsicht beschränkt. Einerseits sind sie dahinge­ hend beschränkt, daß sie lediglich die Übertragung eines einzelnen Datenworts bei jedem Buszyklus erlauben. Andererseits sind sie dahingehend beschränkt, daß die eingesetzten Entscheidungsverfahren eine begrenzte Flexibilität bei der Zuordnung und Änderung der Prioritäten der Module bieten. Zusätzlich benötigen herkömmliche, mit verteilter Entscheidung arbeitende Verfahren Entscheidungsbusse mit mehrfachen Signalpfaden oder einer Anzahl von Signalpfaden, die proportional zu der Anzahl von an dem Bus hängenden Modulen ist.
Folglich sind herkömmliche Bus-Architekturgestaltungen hinsichtlich der Flexibilität, die sie beim Anschluß an ex­ terne Kommunikationsnetzwerke bieten, und auch hinsichtlich ihrer Methoden der Arbitration bzw. Entscheidungsfindung und der Zuordnung der Modulprioritäten beschränkt.
Mit der vorliegenden Erfindung wird ein System und ein Verfahren für eine Bus-Kommunikation auf der Paketebene ge­ schaffen, die eine flexible, verteilte Bus-Arbitration bzw. -zuordnung aufweisen. Der in Übereinstimmung mit der vor­ liegenden Erfindung stehende Bus ist derart strukturiert, daß Daten in Einheiten von Paketen übertragen werden, wobei Pakete eine Mehrzahl von Worten mit einer Länge von N Bits aufweisen und N die Breite des Datenbusses bezeichnet.
Das in Übereinstimmung mit der vorliegenden Erfindung stehende Entscheidungsverfahren ist eine Methode der ver­ teilten Arbitration bzw. Zuordnung, wobei jedes hinsicht­ lich des Buszugriffes konkurrierende Modul mit einer Bus- Arbitrations- bzw. Zuordnungslogik versehen ist. Eine ein­ zelne Bus-Arbitrationsleitung ist für den Anschluß an die Entscheidungsschaltung jedes Moduls vorgesehen. Die Bus-Ar­ bitrationslogik umfaßt eine Logik zur Bestimmung der Prio­ rität der Module und zur Bestimmung des Zeitpunkts der Ge­ währung des Buszugriffes für ein Modul auf der Basis der Priorität des Moduls.
In Übereinstimmung mit der vorliegenden Erfindung ist der Bus in zeitlicher Hinsicht in Bus-Zyklusperioden unter­ teilt, die als Buspaket-Zeitschlitze bzw. BUP-Zeitschlitze bekannt sind. Ein Buspaket-Zeitschlitz (BUP-Zeitschlitz) definiert die Zeitperiode, für die einem Modul der Zugriff gestattet wird. Der Zugriff wird für jeden Buspaket-Zeit­ schlitz durch die Arbitrations- bzw. Entscheidungsschaltung frei festgelegt. Der Buspaket-Zeitschlitz ist weiterhin in Zugriffs-Zeitschlitze unter Heranziehung eines Taktsignals für die Zugriffszeit unterteilt.
In Übereinstimmung mit der vorliegenden Erfindung wird ein digitaler Zähler beim Beginn des Buspakets-Zeitschlit­ zes unter Heranziehung eines Buspaket-Takts (BUP-Takt) zu­ rückgesetzt. Der digitale Zähler beginnt Impulse des Zu­ griffzeit-Takts zu zählen, so daß er Zugriffs-Zeitschlitze zählt. Der Ausgangswert des Zählers wird an einen Verglei­ cher abgegeben.
Ein Statusgerät zeigt die Priorität des Moduls an und gibt einen Prioritätswert an den Vergleicher ab. Der Ver­ gleicher vergleicht den Prioritätswert mit dem Wert des Zählers und erzeugt einen Vergleichs-Zeitimpuls dann, wenn diese Werte gleich groß sind. Der Vergleichs-Zeitimpuls wird zur letztendlichen Beanspruchung des Zugriffs zu dem Bus eingesetzt.
Der Vergleicher jedes Moduls vergleicht die Anzahl der gezählten Zugriffs-Zeitschlitze mit dem Prioritätswert des Moduls. Somit wird ein Vergleichs-Zeitimpuls für ein Modul mit einer niedrigeren Prioritätszahl (d.h einer höheren Priorität) früher erzeugt. Das Modul, das zuerst den Zu­ griff zum Bus anfordert und einen Vergleichs-Zeitimpuls er­ zeugt, legt die Arbitrations- bzw. Entscheidungsleitung ul­ timativ bzw. definitiv auf 0, wodurch der Zugriff durch die anderen Module gesperrt wird.
Falls ein Modul mit einer höheren Priorität (niedrigeren Prioritätszahl) nicht bereits Zugriff zu dem Bus angefordert und die Entscheidungsleitung auf niedrigen Pegel gelegt hat, wird der Vergleichs-Zeitimpuls eines an­ fordernden Moduls zur Erzeugung eines Buszugänglichkeits­ bzw. Busverfügbarkeitssignal eingesetzt, falls dieses Modul den Bus anfordert. Dieses Busverfügbarkeitssignal wird dann zum Herabziehen bzw. Festlegen der Entscheidungsleitung auf niedrigen Pegel eingesetzt, wodurch die Erlangung des Bus­ zugriffes durch andere Module gesperrt wird.
Die Busarbitration bzw. Buszuordnung findet während ei­ nes gegenwärtigen Buspaket-Zeitschlitzes statt, um zu be­ stimmen, welches Modul Zugang zu dem Bus während des näch­ sten Buspaket-Zeitschlitzes erhalten wird. Zum Beginn jedes Buspaket-Zeitschlitzes wird ein Zählerwert auf seinen an­ fänglichen Wert zurückgesetzt und es kann die Priorität des Moduls auf der Grundlage einer Anzahl von Prioritätszuord­ nungsverfahren aktualisiert werden. Eine Anzahl von Priori­ tätszuordnungs- bzw. Prioritätsvergabeverfahren kann zur Festlegung der Priorität der Module für jeden Buspaket- Zeitschlitz eingesetzt werden. Die Fähigkeit zur Realisie­ rung unterschiedlicher Prioritätsschemata schafft maximale Systemflexibilität.
Weitere Merkmale und Vorteile der vorliegenden Erfin­ dung sowie der Aufbau und die Betriebsweise unterschiedli­ cher Ausführungsbeispiele der Erfindung werden nachstehend unter Bezugnahme auf die beigefügten Zeichnungen näher be­ schrieben. In den Zeichnungen bezeichnen gleiche Bezugszei­ chen identische oder funktional gleichartige Elemente. Wei­ terhin bezeichnet die an der äußersten linken Position ste­ hende Ziffer einer Bezugszahl die Zeichnung, in der die Be­ zugszahl zuerst auftritt.
Die Erfindung wird nachstehend anhand von Ausführungs­ beispielen unter Bezugnahme auf die Zeichnungen näher be­ schrieben. Es zeigen:
Fig. 1 ein Blockschaltbild eines Computersystems, das als ein Netzwerk-Kommunikationsknoten arbeitet, der eine als Beispiel dienende Umgebung bzw. Einsatzmöglichkeit der vorliegenden Erfindung bildet,
Fig. 2A ein Blockschaltbild, das den Aufbau des in Übereinstimmung mit der vorliegenden Erfindung stehenden Busses mit virtuellen Paketen bzw. virtueller Paketbildung veranschaulicht,
Fig. 2B ein Zeitdiagramm, das die Unterteilung des Busses mit virtueller Paketbildung in Buspaket-Zeitschlitze veranschaulicht,
Fig. 3 ein Schaltbild eines Ausführungsbeispiels der vorliegenden Erfindung,
Fig. 4A und 4B ein Ablaufdiagramm, das die Be­ triebsweise der vorliegenden Erfindung veranschaulicht,
Fig. 5 ein Zeitdiagramm, das die zeitliche Anordnung von Schlüssel-Zeitsteuerungssignalen einer Arbitrations­ schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht,
Fig. 6 ein alternatives Ausführungsbeispiel der vor­ liegenden Erfindung, das ohne einen Zähler realisiert ist,
Fig. 7 ein Blockdiagramm, das die Entscheidung bei Mo­ dulen veranschaulicht, die in Gruppen von Modulen angeord­ net sind,
Fig. 8 ein Diagramm, das eine Realisierung der Ent­ scheidungsschaltung gemäß der vorliegenden Erfindung mit einer optische Entscheidungs-Faserleitung veranschaulicht.
Übersicht
1. Überblick über die vorliegende Erfindung,
2. Modellumgebung bzw. beispielhafte Umgebung,
3. der Bus,
4. Busarbitration bzw. -zuordnung,
5. Prioritätszuordnungsverfahren,
6. Vergrößerung der Modulkapazität,
7. Betrieb bei hohen Geschwindigkeiten.
1. Überblick über die vorliegende Erfindung
Die vorliegende Erfindung schafft ein System und ein 20 Verfahren für die paketstrukturierte Buskommunikation ein­ schließlich einer flexiblen, verteilten Busarbitration bzw. Buszuordnung. Der Bus gemäß der vorliegenden Erfindung ist derart strukturiert, daß Datenübertragungen in Einheiten von Paketen gehandhabt werden. Die Pakete enthalten M Wör­ ter, wobei jedes der M Wörter eine Länge von N Bits be­ sitzt. N bezeichnet die Breite des Datenbusses.
Der Bus benutzt ein verteiltes Arbitrations- bzw. Zu­ ordnungs- oder Entscheidungsschema, wobei jedes Modul, das hinsichtlich des Buszugriffs konkurriert, eine Bus-Arbitra­ tions- bzw. Zuordnungslogik besitzt. Die Buszuordnungslogik enthält eine Logik zur Bestimmung der Priorität des Moduls und zur Bestimmung des Zeitpunktes der Gewährung des Buszu­ griffes durch das Modul auf der Grundlage der Priorität des Moduls.
Die Bus-Zuordnungslogik ist zur Bereitstellung flexi­ bler Prioritätsvergabeverfahren imstande. In Übereinstim­ mung mit der vorliegenden Erfindung kann eine Anzahl von alternativen Prioritätsvergabeverfahren eingesetzt werden. Mit Hilfe dieser Verfahren werden die Systemflexibilität und Anpassungsfähigkeit verbessert.
Somit kann die Arbitration bzw. Zuordnung in Überein­ stimmung mit der vorliegenden Erfindung unter Einsatz le­ diglich einer einzigen Bus-Zuordnungsleitung realisiert werden, die mit jedem Modul verbunden ist. Diese einzige Bus-Zuordnungsleitung wird dazu eingesetzt, anzuzeigen, ob einem weiteren Modul bereits ein Zugriff zu dem Bus während des nächsten Buszyklus gestattet wurde.
2. Beispielhafte Umgebung
Die vorliegende Erfindung wurde für den Einsatz bei ei­ nem Computersystem entwickelt, das als ein Netzwerk-Paket­ schalter fungiert. Fig. 1 zeigt ein Blockschaltbild, in dem ein Computersystem, das als Netzwerk-Paketschalter 100 konfiguriert ist, und seine typischen Schnittstellen veran­ schaulicht sind. Unter Bezugnahme auf Fig. 1 wird nun die Modellumgebung bzw. als Beispiel dienende Umgebung be­ schrieben. Ein Netzwerk-Paketschalter 100 der Modell­ umgebung enthält zwei separate Busse. Ein virtueller Paket­ bus bzw. Bus 102 mit virtueller Paketbildung (im folgenden auch als VPB 102 bezeichnet) ist in Übereinstimmung mit der vorliegenden Erfindung ein Hochgeschwindigkeitsbus mit vir­ tuellem asynchronem Übertragungsmodus (VATM = Virtual Asyn­ chronous Transfer Mode). Des weiteren ist ein Standard-VME- Bus 104 zur Handhabung von lokaler Status- und Steuerin­ formation niedriger Geschwindigkeit vorgesehen.
T-1-Rahmen-Vermittlungsmodule 106 akzeptieren bis zu 4 T-1-Rahmen-Vermittlungskanäle und verpacken die Daten von diesen Kanälen in ATM-Pakete (ATM = Asynchronous Transfer Mode = Asynchroner Übertragungsmodus). Übertragungs- Schnittstellenmodule (Trunk Interface Modules) 108 akzep­ tieren die ATM-Pakete vom Bus 102 mit virtueller Paketbil­ dung. Die Übertragungs-Schnittstellenmodule verbinden die ATM-Pakete mit Standard-T-3-Formaten oder SONET-Formaten für den Transport. Prozessormodule 110 stellen das Manage­ ment bzw. die Verwaltung der Netzwerkelemente und deren Kopplung mit einem externen Ethernet-Netzwerk 110 bereit. Das externe Ethernet-Netzwerk 114 bildet den Knoten mit ei­ ner Schnittstelle für das Netzwerk-Management. Ein doppelt redundantes Spannungsversorgungsmodul 112 stellt die Sy­ stemspannungsversorgung bereit.
Die Funktion des Netzwerk-Paketschalters 100 besteht in dem Empfang von Datenpaketen, die von Benutzern von Netz­ werk-Datenservices wie etwa dem Rahmenvermittlungsservice (Frame Relay Service) und dem geschalteten Mehrfach-Mega­ bit-Datenservice (SMDS = Switched Multi-Megabit Data Ser­ vice) herrühren, und leiten diese Datenpakete an andere Netzwerkknoten in Übereinstimmung mit der Adresse der Pa­ kete weiter. Zusätzlich empfängt der Netzwerk-Paketschalter 100 Datenpakete von anderen Knoten, die an die Position des Paketschalters adressiert sind. Der Bus 102 mit virtueller Paketbildung, der den Gegenstand dieser Erfindung bildet, schafft den internen Kommunikationspfad für die Datenpakete zwischen Modulen für den Benutzerzugriff wie etwa dem T-1- Rahmen-Vermittlungsmodul 106 und Kommunikationsgliedern zwischen den Knoten, die üblicherweise als Übertragungs­ stellen (Trunks) bezeichnet werden und beispielsweise durch die Übertragungs-Schnittstellenmodule 108 gebildet sind. Pakete, die ihre Quelle bei einer Benutzer-Schnittstelle bei einem aus einer Mehrzahl von Rahmenvermittlungsmodulen 106 haben, können über den Bus zu jedem der Übertragungsmo­ dule 108 oder über die Rahmenvermittlungsmodule 106 zu an­ deren lokalen Benutzern geleitet werden.
3. Der Bus
Fig. 2A zeigt den in Übereinstimmung mit der vorlie­ genden Erfindung stehenden Bus 102 mit virtueller Paket­ bildung. Gemäß Fig. 2 umfaßt der Bus 102 mit virtueller Paketbildung einen Datenbus 202, eine gemeinsame Bus-Zuord­ nungsleitung 204 und eine Buspaket (BUP) Taktleitung 206. Bei einem bevorzugten Ausführungsbeispiel ist der Bus 102 mit virtueller Paketbildung ein Rückwand- bzw. Rückseiten- Bus, an den eine Mehrzahl von Modulen 208 angeschlossen ist. Die Module 208 können Schaltungskarten sein, die in dem Rückseiten-Bus 102 mit virtueller Paketbildung unter Benützung von Kartenrand-Verbindern eingesteckt sind. Die Module 208 können Module wie etwa ein Prozessormodul 110 und ein Übertragungsschnittstellen-Modul 108 enthalten, wie in dem Unterabschnitt "Modellumgebung" dieser Anmeldung be­ schrieben ist.
Bei einem bevorzugten Ausführungsbeispiel besitzt der Datenbus 202 eine Breite von 64 Bits (d.h N beträgt 64). Diese Breite führt dazu, daß der Bus 102 mit virtueller Paketbildung mit einem Paket-Standard mit 53 8-Bit-Bytes kompatibel ist und darüber hinaus zusätzliche Bits für an­ dere Systemfunktionen zur Verfügung stehen. Bei dem bevor­ zugten Ausführungsbeispiel des Busses mit virtueller Paket­ bildung werden ATM-Pakete mit 53 8-Bit-Bytes eingesetzt. Bei einem Datenbus mit einer Breite von 64 Bit sind sieben (7) Busübertragungen für jedes Paket erforderlich, wobei 3 8- Bit-Bytes als zusätzliche Bits zu Verfügung stehen (7 Bus­ übertragungen × 8 8-Bit-Bytes je Übertragung - 53 8-Bit- Bytes). Diese zusätzlichen Bits können für eine Vielzahl von Zwecken wie etwa die Übertragung einer fehlerkorrigie­ renden Paritätsinformation zur Erfassung von Paketfehlern, zur Übertragung von Zustandsinformation usw. eingesetzt werden. Es sind auch andere Ausführungsbeispiele in Be­ tracht gezogen, bei denen der Datenbus 202 eine von 64 Bit abweichende Breite besitzt.
Ein einzigartiges bzw. besonderes Merkmal des Busses 102 mit virtueller Paketbildung in Übereinstimmung mit der vorliegenden Erfindung besteht darin, daß er eine Daten­ übertragung in Gruppen von Wörtern (Paketen) ermöglicht. Ein Paket ist dahingehend definiert, daß es eine Länge von M Wörtern besitzt. Bei einem bevorzugtem Ausführungsbei­ spiel beträgt die Länge des Pakets sieben Worte (d. h. M ist sieben). Um die Datenübertragung in Einheiten von Paketen handzuhaben, ist die Länge des Buszyklus so festgelegt, daß es die Paketlänge abdeckt. Folglich wird bei dem in Über­ einstimmung mit der vorliegenden Erfindung stehenden Bus 102 mit virtueller Paketbildung ein Paket-Zeitgabe-Konzept zur Bestimmung des Buszyklus eingesetzt.
Fig. 2B zeigt das Paket-Zeitgabe-Konzept des in Über­ einstimmung mit der vorliegenden Erfindung stehenden Busses 102 mit virtueller Paketbildung. Unter Bezugnahme auf die Fig. 2A und 2B wird das Paket-Zeigabe- bzw. Zeitsteuerungs- Konzept näher erläutert. Die Buspaket-Taktleitung 206 führt ein Buspaket-Taktsignal 226 zu allen Modulen 208 am Bus 102 mit virtueller Paketbildung. Das Buspaket-Taktsignal 226 unterteilt den Bus 102 mit virtueller Paketbildung in zeit­ licher Hinsicht in Buszyklus-Perioden. Diese Buszyklus-Pe­ rioden werden Buspaket-Zeitschlitze (BUP-Zeitschlitze) ge­ nannt. Das Buspaket-Taktsignal 226 ist ein Zeitsteue­ rungsimpuls, der den Beginn jedes Buspaket-Zeitschlitzes markiert. Die Länge des Buspaket-Zeitschlitzes L ist aus­ reichend groß, um die Buspaket-Länge M handzuhaben. Die Buspaket-Länge L (bzw. M) ist die minimale Datenübertra­ gungs-Zeiteinheit des Busses 102 mit virtueller Paketbil­ dung. Alle Datenübertragungen auf dem Bus 102 mit virtuel­ ler Paketbildung erfolgen innerhalb des Buspaket-Zeit­ schlitzes, der durch das Buspaket-Taktsignal 226 festgelegt ist.
Somit wird bei einem bevorzugtem Ausführungsbeispiel, bei dem M = 7 ist, die Buspaket-Länge L derart gewählt, daß sieben Bus-Wörter 228 mit N Bit innerhalb dieser Zeit über­ tragen werden können. Damit ist der Datenbus 202 durch eine Breite von N Bit und Perioden mit einer durch die Buspaket- Länge L definierten Länge definiert bzw. bestimmt.
4. Buszuordnung
In Übereinstimmung mit der vorliegenden Erfindung wird die Buszuordnung bzw. Bus-Arbitration mit verteilter Basis gehandhabt. Jedes an den Bus angeschlossene Modul ist mit einer Arbitrationsschaltung bzw. Zuordnungsschaltung verse­ hen, die dazu dient, während des aktuellen Buspaket-Zeit­ schlitzes zu bestimmen, ob ihr zugehöriges Modul während des nächsten Buspaket-Zeitschlitzes auf den Bus zugreifen kann. Die Zuordnungsschaltung enthält logische Elemente zur Bestimmung der aktuellen Priorität des Moduls und zur Be­ stimmung, ob der Buszugriff auf der Grundlage dieser Prio­ rität zugelassen wird. Weiterhin ist eine Schaltung zur Ak­ tualisierung der Modulpriorität vorgesehen. Die Zuordnungs­ schaltung wird mit dem Buspaket-Takt 226 und mit einem Zu­ griffszeittakt gespeist.
Während des gegenwärtigen Buspaket-Zeitschlitzes be­ ginnt die Zuordnungsschaltung mit der Zählung der Impulse des Zugriffszeittakt-Signals. Die Zuordnungsschaltung ver­ gleicht den gezählten Wert mit der gegenwärtigen Priorität des Moduls. Wenn der gezählte Wert gleich groß ist wie die Priorität des Moduls, wird dem Modul Zugang zu dem Bus wäh­ rend des nächsten Buspaket-Zeitschlitzes gewährt, falls zwei Bedingungen erfüllt sind. Diese beiden Bedingungen sind: (i) das Modul muß einen Zugriff anfordern, und (ii) der Bus darf nicht bereits durch ein Modul mit einer höhe­ ren Priorität beansprucht worden sein. Wenn einem Modul Zu­ griff zu dem Bus gewährt wird, legt dieses Modul die Zuord­ nungsleitung (Arbitrationsleitung) solange auf niedrigen Pegel, bis der gegenwärtige Buspaket-Zeitschlitz abgelaufen ist. Wenn die Zuordnungsleitung auf niedrigem Pegel liegt, erhält kein weiteres Modul Zugriff für den nächsten Buspa­ ket-Zeitschlitz.
Fig. 3 zeigt eine schematische Darstellung zur Veran­ schaulichung der Zuordnungsschaltung in Übereinstimmung mit der vorliegenden Erfindung. Gemäß Fig. 3 ist ein Bus- Schiedsrichter bzw. eine Bus-Zuordnungsschaltung (Busarbiter) 300 schnittstellenmäßig mit der gemeinsamen Buszuordnungsleitung 204, mit einem Zugriffszeittakt 308 und mit dem Buspaket-Taktsignal 226 gekoppelt.
Die Buszuordnungseinrichtung 300 enthält mehrere logi­ sche Komponenten, die nachstehend erläutert werden. Die Buszuordnungseinrichtung 300 enthält ein Zustands- bzw. Statusgerät 302. Das Statusgerät 302 dient zur Anzeige der Priorität des Moduls in digitaler Form. Die Buszuordnungs­ einrichtung 300 enthält weiterhin einen Zähler 304 und ei­ nen Vergleicher 306. Der Zähler 304 zählt Flanken des Zu­ griffszeittakts 308. Bei einem bevorzugtem Ausführungsbei­ spiel beginnt der Zähler 304 ausgehend von einem anfängli­ chen Wert zu zählen und inkrementiert seinen Wert bei jedem positiven Übergang des Zugriffszeittakt-Signals 308, wobei der Zählstand als ein Zählstandssignal 354 abgegeben wird. Der Zähler 304 wird durch das Buspaket-Taktsignal 226 auf seinen anfänglichen Wert zurückgesetzt. Alternative Aus­ führungsbeispiele können in Betracht gezogen werden, bei denen der Zähler 304 dekrementiert statt inkrementiert wird und bei denen der Zähler 304 auf negative Flanken an­ spricht.
Der Vergleicher 306 vergleicht die Priorität des Mo­ duls, die durch das Statusgerät 302 angezeigt wird, mit dem Zählstandssignal 354.
Ein Puffer 310 wird zur Überwachung der Zuordnungslei­ tung 204 eingesetzt, um zu ermitteln, ob der Zugriff zu dem Bus für den nächsten Buspaket-Zeitschlitz noch zur Verfü­ gung steht. Wenn die Zuordnungsleitung 204 auf hohem Pegel liegt, steht der Bus noch für den nächsten Buspaket-Zeit­ schlitz zur Verfügung. Falls aber die Zuordnungsleitung 204 auf niedrigem Pegel liegt, hat bereits ein anderes Modul den Bus für den nächsten Zeitschlitz beansprucht.
Ein Flip-Flop 314 wird gesetzt, wenn der Zähler 304 die Priorität des Moduls, die durch das Zustandsgerät 302 ange­ zeigt wird, erreicht, falls der Bus noch für den nächsten Buspaket-Zeitschlitz zur Verfügung steht. Wenn das Flip- Flop 314 gesetzt ist und das Modul den Zugriff zum Bus für den nächsten Buspaket-Zeitschlitz anfordert, wird ein Tran­ sistor 316 eingeschaltet. Wenn der Transistor 316 durchge­ schaltet ist, wird die Zuordnungsleitung 204 auf niedrigen Pegel gezogen, wodurch andere Module am Zugriff zum Bus während des nächsten Buspaket-Zeitschlitzes gehindert wer­ den.
Das Zustandsgerät 302 wird mit einem anfänglichen, die anfängliche Priorität des Moduls anzeigenden Wert über ein Anfangswertsignal 366 geladen. Der Prioritätswert des Mo­ duls kann durch ein Aktualisierungssignal 368 für jeden Buspaket-Zeitschlitz aktualisiert werden.
Die Fig. 4A und 4B zeigen ein Ablaufdiagramm der Ar­ beitsweise der Buszuordnungseinrichtung 300 gemäß vorlie­ gender Erfindung. Fig. 5 zeigt ein Zeitdiagramm, das die zeitliche Beziehung zwischen den verschiedenen Signalen der Buszuordnungseinrichtung 300 gemäß vorliegender Erfindung veranschaulicht. Bezugnehmend auf die Fig. 3, 4A, 4B und 5 wird nachstehend die Arbeitsweise der Buszuordnungseinrich­ tung 300 beschrieben. Die Betriebsweise der Buszuordnungs­ einrichtung 300 bei einem als Beispiel dienenden Modul wird mit Bezug zu Ereignissen beschrieben, die in den Buszuord­ nungseinrichtungen 300 von anderen Modulen auftreten. Die Buszuordnungseinrichtung 300 arbeitet bei jedem Modul in gleichartiger Weise.
In einem Schritt 402 markiert zu einem Zeitpunkt τ = 0 ein Buspaket-Taktimpuls 502 des Buspaket-Taktsignals 226 den Beginn eines aktuellen Buspaket-Zeitschlitzes. Die Zeit während dieses aktuellen Buspaket-Zeitschlitzes wird dazu benutzt, zu bestimmen, welches Modul Zugriff zu dem Bus während des nachfolgenden Buspaket-Zeitschlitzes erhält. Der nächste Buspaket-Zeitschlitz beginnt zu einem Zeitpunkt τ = 2. Zusätzlich wird der Zähler 304 durch den Buspaket- Taktimpuls 502 auf einen anfänglichen Wert zurückgesetzt und auch das Flip-Flop 314 rückgesetzt. Ferner setzt der Buspaket-Taktimpuls 502 das Status gerät 302 auf einen an­ fänglichen Prioritätswert, der durch das Anfangswertsignal 366 bestimmt ist, oder auf einen aktualisierten Prioritäts­ wert, der durch das Aktualisierungssignal 368 bestimmt ist.
In einem Schritt 404 beginnt der Zähler 304 mit der Zählung der Impulse 504 des Zugriffszeittakts 308. Der Zu­ griffszeittakt 308 besitzt eine Rate bzw. Frequenz, die hö­ her ist als die des Buspaktet-Takts 226. Somit unterteilt der Zähler 304 jeden Buspaket-Zeitschlitz im wesentlichen in eine bestimmte Anzahl von kürzeren Zeitschlitzen, wie dies in Fig. 5 dargestellt ist. Die Länge dieser Zeit­ schlitze ist durch die Periode des Zugriffszeittakts 308 bestimmt. Falls beispielsweise der Zugriffszeittakt 308 ei­ ne Rate bzw. Frequenz besitzt, die 16 mal größer als die des Buspaket-Takts 226 ist, wird der Zähler 304 16 mal innerhalb des Buspaket-Zeitschlitzes inkrementiert (oder dekrementiert). Folglich unterteilt der Zähler 304 bei die­ sem Beispiel den Buspaket-Zeitschlitz in 16 Segmente.
Der Zähler 304 beginnt mit der Zählung der Impulse 504 des Zugriffszeittakts 308, ausgehend von seinem anfängli­ chen Wert, und gibt das Zählstandssignal 354 an den Ver­ gleicher 306 ab. Der Zähler 304 setzt die Zählung der Im­ pulse 504 solange fort, bis der nächste Buspaket-Taktimpuls 502 den Zähler 304 auf seinen anfänglichen Wert zurück­ setzt. Nach Rücksetzung beginnt der Zähler 304 erneut, aus­ gehend von seinem anfänglichen Wert, zu zählen. Bei einem bevorzugten Ausführungsbeispiel liegt das Zählstandssignal 304 in der Form eines digitalen Worts vor. Die Breite des Worts ist so gewählt, daß es den maximalen, durch den Zäh­ ler 304 erreichten Wert enthalten kann. Dieser maximale Wert kann durch das Verhältnis zwischen der Frequenz des Zugriffszeittakts 308 und der Frequenz des Buspaket-Takts 226 festgelegt sein.
Das Statusgerät 302 zeigt die Priorität des Moduls kon­ tinuierlich während der gesamten Periode des Buspaket-Zeit­ schlitzes an. Das Statusgerät gibt an den Vergleicher 306 ein Modul-Prioritätssignal 352 (auch als Zeitzugriffsstatus 352 bezeichnet) ab. Jedes an den Bus angeschlossene Modul besitzt bei jeglichem gegebenen Buspaket-Zeitschlitz einen einzigartigen bzw. eigenen Zeitzugriffsstatus 352. Bei ei­ nem bevorzugten Ausführungsbeispiel wird der Zeitzugriffs­ status 352 jedes Moduls in der Form eines digitalen Worts dargestellt. Die Breite dieses digitalen Worts ist so ge­ wählt, daß es ausreichend breit ist, um jeweils den eigenen bzw. einzigartigen Zeitzugriffsstatus 352 für jedes Modul repräsentieren zu können.
Während der Zähler 304 die Impulse 504 zählt, ver­ gleicht der Vergleicher 306 das Zählstandssignal 354 mit dem Zeitzugriffsstatus 352, der durch das Zustandsgerät 302 angezeigt wird.
Wenn das Zählstandssignal 354 gleich dem Zeitzugriffs­ status 352 (d. h. dem Prioritätswert) ist, gibt der Verglei­ cher 306 in einem Schritt 406 einen Vergleichs-Zeitimpuls 506 über einen Vergleicher-Ausgangssignalpfad 356 ab. Der Vergleichs-Zeitimpuls 506 zeigt an, daß der Zähler 304 den Zeitzugriffsstatus 352 des Moduls erreicht hat. Das Auftre­ ten dieses Ereignisses ist in Fig. 5 durch einen Zeitpunkt τ = 1 bezeichnet.
Wenn, wie bei dem vorstehend beschriebenen Beispiel, der Zugriffszeittakt 308 den Buspaket-Zeitschlitz in 16 Segmente unterteilt, werden durch den Zähler 304 16 be­ stimmte Zählwerte in einem Buspaket-Zeitschlitz erzeugt. Somit können bei diesem Beispiel 16 Module jeweils einen eigenen Zeitzugriffsstatus 352 besitzen. Jeder dieser eige­ nen Zeitzugriffszustände 352 definiert ein eigenes Zeitzu­ griffsfenster in einem Buspaket-Zeitschlitz.
Falls in einem Schritt 408 ein anderes Modul, das eine höhere Priorität als das betrachtete Modul besitzt, den Zu­ griff zu dem Bus für den nächsten Buspaket-Zeitschlitz an­ gefordert hat, liegt die Zuordnungsleitung 204 bereits auf einem niedrigen Zustand (was noch beschrieben wird), und der Zuordnungsvorgang ist abgeschlossen. Das betrachtete Modul erhält dann keinen Zugriff während des nächsten Zeit­ schlitzes. Der Zuordnungsprozeß beginnt erneut beim Schritt 402 bei dem nächsten Buspaket-Taktimpuls 502 des Buspaket- Takts 226. Falls andererseits der Bus noch für den nächsten Buspaket-Zeitschlitz zur Verfügung steht, setzt die Buszu­ ordnungseinrichtung 300 den Ablauf bei einem Schritt 410 fort. Der Schritt 408 wird im weitern Text in größeren Ein­ zelheiten erläutert.
Im Schritt 410 wird der Vergleichs-Zeitimpuls 506 an einen Eingangsanschluß S des Flip-Flops 314 angelegt. Der Vergleichs-Zeitimpuls 506 setzt einen Ausgangsanschluß Q des Flip-Flops 314 auf hohen Pegel. Dies führt dazu, daß ein Ausgangssignal 360 des Flip-Flops auf hohen Pegel wech­ selt.
Falls das Modul keinen Zugriff zu dem Bus für die näch­ ste Zuordnungsperiode anfordert, besitzt ein Busanforde­ rungssignal 362 in einem Schritt 412 niedrigen Pegel und der Zuordnungsvorgang für dieses Modul ist beendet. Die Zu­ ordnung beginnt erneut bei dem Schritt 402 beim nächsten Buspaket-Taktimpuls 502 des Buspaket-Takts 226.
Falls jedoch das Modul einen Zugriff auf den Bus für die nächste Zuordnungsperiode anfordert, erzeugt das Modul ein Busanforderungssignal 362 mit hohem Pegel. Bei einem Schritt 414 bewirken das auf hohem Pegel liegende Flip- Flop-Ausgangssignal 360 und das an ein UND-Glied 320 ange­ legte Busanforderungssignal 362 mit hohem Pegel, daß das Busverfügbarkeitssignal 364 auf hohen Pegel wechselt. Wenn das Busverfügbarkeitssignal 364 auf hohem Pegel liegt, wird der Transistor 316 eingeschaltet. Der Kollektor des Tran­ sistors 316 ist mit der Buszuordnungsleitung 204 verbunden, während die Source mit Masse verbunden ist. Die Bus­ zuordnungsleitung 204 wird über einen Widerstand (Hochziehwiderstand = pull-up-Widerstand) 322 auf hohem Spannungspegel bei Vcc gehalten. Wenn folglich der Tran­ sistor 316 durch ein an seine Basis angelegtes Busverfüg­ barkeitssignal 364 durchgeschaltet wird, wird die Bus­ zuordnungsleitung 204 auf Massepotential gelegt. Wenn die Buszuordnungsleitung 204 auf niedrigem Pegel liegt, wird keinem anderen Modul Zugriff zu dem Bus gewährt.
Zusätzlich signalisiert das Busverfügbarkeitssignal 364 dem Modul, daß dem Modul Zugang zu dem Bus für den nächsten Buspaket-Zeitschlitz gewährt wurde.
Bei dem bevorzugtem Ausführungsbeispiel ist der Transi­ stor 316 ein bipolarer Transistor. Für den Fachmann ist oh­ ne weiteres ersichtlich, daß auch jede andere Art von elek­ trischer Schaltvorrichtung dieselbe Funktion wie der Tran­ sistor 316 durchführen kann, vorausgesetzt, sie ist ausrei­ chend schnell. Alternative Schaltbauelemente enthalten MOS- Feldeffekttransistorbauelemente oder logische Standard-Tor­ schaltungen, die im Stande sind, die Zuordnungsleitung auf Massepotential zu ziehen bzw. zu legen.
Bei einem Schritt 416 sendet zu einem Zeitpunkt τ = 2 das Modul, das Zugriff erhalten hat, sein Paket über den Bus. Zu diesem Zeitpunkt beginnt der Zuordnungsprozeß er­ neut beim Schritt 402. Der Impuls 502 des Buspaket-Takts 226 setzt den Zähler 304 auf seinen anfänglichen Wert zu­ rück, aktualisiert (oder setzt alternativ zurück) die Prio­ rität des Statusgeräts 302 und setzt das Flip-Flop 314 zu­ rück. Wenn das Flip-Flop 314 zurückgesetzt ist, ist das Flip-Flop-Ausgangssignal 360 auf niedrigen Pegel gelegt. Dies führt dazu, daß das Busverfügbarkeitssignal 364 auf niedrigen Pegel wechselt, wodurch der Transistor 316 abge­ schaltet wird. Bei abgeschaltetem Transistor 316 wird die Buszuordnungsleitung 204 durch den Hochzieh-Widerstand 322 auf hohen Pegel gelegt.
Wie vorstehend beim Schritt 408 erläutert wurde, wird dem betrachtetem Modul nur dann Zugang zu dem Bus gewährt, wenn kein anderes Modul höherer Priorität den Zugang an­ fordert. Die Art und Weise, in der diese Bestimmung ge­ troffen wird, wird nachstehend in größeren Einzelheiten be­ schrieben. Der Zähler 304 jedes Moduls zählt Impulse 504 des Zugriffszeittakts 308. Bei einer als Beispiel dienenden Ausführungsform ist der Zähler 304 als ein Aufwärtszähler realisiert und beginnt ausgehend von seinem anfänglichen, bei 0 liegenden Wert zu zählen. Folglich wird ein Modul mit einem niedrigeren Zeitzugriffsstatus 352 seinen Vergleichs- Zeitimpuls 506 früher als ein Modul mit einem höheren Zeit­ zugriffsstatus 352 erzeugen. Das erste Modul, das den Ver­ gleichs-Zeitimpuls 506 erzeugt und den Bus mit Hilfe eines auf hohem Pegel liegenden Busanforderungssignals 362 an­ fordert, bringt die Zuordnungsleitung 204 auf niedrigen Pe­ gel, wie vorstehend erläutert wurde. Zugriff wird diesem Modul für den nächsten Buspaket-Zeitschlitz gestattet. Da­ her muß der Zugriff für alle anderen Module gesperrt wer­ den.
Sobald ein Modul die Zuordnungsleitung 204 auf niedri­ gen Pegel gelegt hat, gibt ein in jeder Buszuordnungsein­ richtung vorhandener Puffer 310 ein niedrigen Pegel besit­ zendes Busbelegungssignal 358 an einen Eingang eines UND- Glieds 318 ab. Dieses niedrigen Pegel besitzende Busbele­ gungssignal 358 verhindert, daß der Vergleichs-Zeitimpuls 506 das Flip Flop 314 setzt. Dies bedeutet, daß dann, wenn ein Modul die Zuordnungsleitung 204 auf niedrigen Pegel gelegt hat, kein anderes Modul sein Flip Flop-Ausgangssi­ gnal 360 auf hohen Pegel bringen kann, ein hohen Pegel be­ sitzendes Busverfügbarkeitssignal 364 erzeugen und bei dem nächsten Buspaket-Zeitschlitz auf den Bus zugreifen kann.
Zusätzliche Ausführungsbeispiele können in Betracht ge­ zogen werden, die alternative Realisierungen der Buszuord­ nungseinrichtung 300 umfassen. Beispielsweise kann das Flip Flop 314 ein JK-Flip Flop sein, das durch den Vergleichs- Zeitimpuls 506 getaktet wird. Der J-Eingang wird bei diesem Ausführungsbeispiel durch das Busanforderungssignal 362 ge­ speist werden. Folglich ist das Ausgangssignal Q dann ein Signal mit hohem Pegel, wenn das Busanforderungssignal 362 hohen Pegel besitzt und der Vergleichs-Zeitimpuls 406 auf­ tritt. Das JK-Flip Flop wird auch in diesem Fall durch den Buspaket-Takt 226 rückgesetzt.
Ein weiteres alternatives Ausführungsbeispiel der Bus­ zuordnungseinrichtung 300 kann dadurch realisiert werden, daß der Zähler 304 durch ein Zustandsgerät ersetzt wird und das Zustandsgerät 302 nicht mehr vorhanden ist. In Fig. 6 ist eine Darstellung gezeigt, die dieses alternative Aus­ führungsbeispiel der Buszuordnungseinrichtung 300 veran­ schaulicht. Gemäß Fig. 6 ist eine Modulzugriffsnummer 652 fest in dem Vergleicher 306 verdrahtet. Die Modulzugriffs­ nummer 652 ist für jedes Modul einzigartig bzw. eigenstän­ dig. Jedes Modul initialisiert ein Zustandsgerät 602 durch einen einzigartigen bzw. eigenen Initialisierungswert 656. Die Impulse des Zugriffszeittakts 308 takten das Zustands­ gerät 602. Das Ausgangssignal 654 des Zustandsgeräts bzw. des Statusgeräts werden bei jedem Impuls des Zugriffszeit­ takt 308 inkrementiert. Der Vergleicher 306 vergleicht das Ausgangssignal 654 des Statusgeräts mit der Modulzugriffs­ nummer 652. Wenn die Nummern übereinstimmen, wird ein ver­ gleichs-Zeitimpuls 506 erzeugt. Der Vergleichs-Zeitimpuls 506 wird wie bei dem bevorzugten Ausführungsbeispiel dazu eingesetzt, die Buszuordnungsleitung 204 auf niedrigen Pe­ gel zu ziehen. Ein Impuls 502 des Buspaket-Taktsignals 226 inkrementiert das Status gerät bei dem Beginn jedes neuen Buspaket-Zeitschlitzes auf einen neuen Status.
Es wird nun wiederum auf Fig. 3 Bezug genommen. Es kann ein weiteres, alternatives Ausführungsbeispiel in Be­ tracht gezogen werden, bei dem das Busbelegungssignal 358 direkt dem Zähler 304 (anstelle des UND-Glieds 318, wie dies dargestellt ist) zugeführt wird. Bei diesem Ausführu­ ngsbeispiel wird der Zähler 304 am Zählen gehindert, wenn das Busbelegungssignal 358 niedrigen Pegel besitzt. Daher ist das UND-Glied 318 nicht erforderlich.
Bei einem anderen alternativen Ausführungsbeispiel der Buszuordnungseinrichtung 300 wird das Busanforderungssignal 352 an das UND-Glied 318 angelegt, wodurch der Buszugriff ohne Notwendigkeit des UND-Glieds 320 aktiviert oder ge­ sperrt wird.
Diese alternativen Ausführungsbeispiele dienen als Bei­ spiele für zahlreiche funktionell äquivalente Ausführungs­ beispiele der Buszuordnungsschaltung gemäß der vorliegenden Erfindung.
5. Prioritätsvergabemethoden
Die in Übereinstimmung mit der vorliegenden Erfindung stehende Buszuordnung bringt Flexibilität hinsichtlich der Zuordnung und Aktualisierung der Modulpriorität. Zahlreiche Prioritätsvergabe- bzw. Prioritätszuordnungsverfahren sind in Betracht gezogen, gemäß denen die Prioritäten der Module bestimmt werden. Verschiedene Prioritätszuordnungsschemata können auf der Basis der Anforderungen des Computersystems realisiert werden, wodurch das Systemverhalten optimiert wird. Beispiele solcher Prioritätsvergabeverfahren werden im nachstehenden Text skizziert.
Es wird erneut auf Fig. 3 Bezug genommen. Wie zuvor angegeben, wird die Priorität eines Moduls durch das Sta­ tusgerät 302 gesteuert. Das Statusgerät 302 gibt einen Zeitzugriffsstatus 352 ab, der die Modulpriorität anzeigt. Das Statusgerät 302 ist in seiner einfachsten Ausführung eine festgelegte, fest verdrahtete Nummer. Bei dieser Ausgestaltung ist jedem Modul eine eigene, feste Prioritätsnummer (Zeitzugriffsstatus 352) zugeordnet. Die Priorität kann entsprechend einer Anzahl von unterschiedli­ chen Strategien zugeordnet werden. Beispielsweise kann die Prioritätsnummer jedes Moduls entsprechend der Position des Moduls am Bus zugeordnet werden.
Bei einem bevorzugten Ausführungsbeispiel ist das Zu­ standsgerät 302 derart realisiert , daß es durch jeden Bus­ paket-Taktimpuls 502 aktualisiert wird. Dies ermöglicht ei­ ne Änderung der Priorität jedes Moduls für jeden Buspaket- Zeitschlitz. Die Statusgeräte 302 in allen Modulen müssen synchronisiert und identisch sein, derart, daß der Zeitzu­ griffsstatus 352 für jedes Modul einzigartig bzw. eigen­ ständig ist.
Eine Vielzahl von Prioritätsschemata zur Bestimmung der Modulpriorität bei jedem Buspaket-Taktimpuls 502 kann rea­ lisiert werden. Die Realisierung dieser verschiedenen Sche­ mata wird durch Veränderung der Art und Weise der Realisie­ rung des Statusgeräts 302 erzielt. Als Beispiel kann ein einfaches Prioritätschema durch Einsatz eines Modulo-N-Zäh­ lers als Statusgerät 302 realisiert werden. Bei dieser Aus­ gestaltung wird der Modulo-N-Zähler durch die Modulnummer initialisiert. Die Initialisierung findet durch Zuführung eines Initialisierungssignals 366 zum Statusgerät 302 statt. Nach ihrer Initialisierung werden alle Modulo-N-Zäh­ ler aller Module bei jedem Buspaket-Schlitz durch den Bus­ paket-Taktimpuls 502 dekrementiert. Folglich wird nach je­ dem Buspaket-Zeitschlitz die Priorität jedes Moduls um 1 erhöht. Falls ein Modul Zugriff zum Bus anfordert und die­ sen während eines Buspaket-Zeitschlitzes erhält, wird das Modul-Zeitzugriffsfenster 352 eine Zugriffszeit später be­ wegt, wenn der Buspaket-Taktimpuls 502 den Modulo-N-Zähler dekrementiert. Das Modul, das den niedrigsten Prioritäts- Zeitzugriffsstatus besaß, wird auf die höchste Priorität verschoben und die Priorität aller anderen Module verrin­ gert sich.
Alternativ kann ein dem Wettspiel "Round Robin" ent­ sprechendes Schema dadurch realisiert werden, daß der Zu­ griffsstatus des auf den Bus mit virtueller Paketbildung zugreifenden Moduls auf die niedrigste Priorität ( letzter zeitlicher Zugriff) verschoben und die Priorität aller Mo­ dule, die eine niedrigere Priorität hatten, inkrementiert wird. In diesem Fall wird jedes Modul mit einem Zugriffs­ status, der später liegt als das Zugang zum Bus erhaltende Modul, seinen Status inkrementieren, während solche mit hö­ heren Prioritäten in dem aktuellen Status verbleiben würden und der Benutzer, der zeitlich am wenigsten zurückliegend den Bus benützt hat, auf die letzte Zugriffszeit verschoben würde. Die Steuerung des Statusgeräts würde über die Aktua­ lisierungsleitung des Statusgeräts erfolgen.
Ein Pseudo-Zufallsfolgen-Generator (PRS generator = Pseudo random sequence generator) kann ebenfalls zur Erzeu­ gung des Zugriffszeitstatus eingesetzt werden. Falls alle Module identische Pseudo-Zufallsfolgen-Generatoren enthal­ ten und jedes Modul den Generator mit einem einzigartigen bzw. eigenen Status wie etwa seiner Modulnummer initiali­ siert, werden alle Pseudo-Zufallsfolgen-Generatoren bei je­ dem Buspaket-Schlitz inkrementiert, wodurch allen Modulen dieselbe durchschnittliche Langzeit-Buspriorität verliehen wird. Das Statusgerät kann jedes Gerät sein, das einen ein­ zigartigen bzw. eigenen Status für jedes Modul erzeugt und das durch die Initialisierung synchronisiert werden kann. Dies kann Tabellennachschlageverfahren umfassen.
6. Erweiterung der Modulkapazität
Gemäß der vorstehend beschriebenen Zuordnungstechnik ist die Anzahl von Modulen, die hinsichtlich des Buszu­ griffs konkurrieren können, durch das Verhältnis zwischen dem Zugriffszeittakt und dem Buspaket-Takt begrenzt. Anders ausgedrückt ist die Anzahl von Modulen, die hinsichtlich des Buszugriffs konkurrieren können, auf die Anzahl von Zu­ griffszeitfenstern beschränkt, die innerhalb eines Buszeit­ schlitzes erzeugt werden können.
Vom Standpunkt der Realisierung ist es wünschenswert, das Verhältnis zwischen dem Zugriffszeittakt und dem Buspa­ ket-Zeittakt zu minimieren. Dies hat jedoch die Wirkung, daß die Anzahl von Modulen, die in dem System untergebracht werden können, begrenzt ist.
Diese Beschränkung kann dadurch überwunden werden, daß Module in Gruppen von Modulen realisiert bzw. unterteilt werden. Bei dieser Realisierung ist eine einzige Zuord­ nungsleitung für jede Gruppe von Modulen vorhanden. Die Zu­ ordnungsleitungen werden sowohl zur Bestimmung der Gruppen­ priorität als auch zur Bestimmung der Priorität der einzel­ nen Module eingesetzt.
Fig. 7 zeigt zwei Module, d.h ein Modul für jede von zwei Gruppen. Das Konzept der Gruppenpriorität wird anhand von zwei Gruppen von Modulen erläutert. Es ist für den Fachmann offensichtlich, daß dieses Konzept auf jede belie­ bige Anzahl von Gruppen von Modulen erweitert werden kann. Gemäß Fig. 7 ist das Modul A1 als zu einer Gruppe A gehö­ rend dargestellt. Ein Modul B1 ist als zu einer Gruppe B gehörend gezeigt. Zwei Zuordnungsleitungen 704A, 704B sind schnittstellenmäßig mit allen Modulen in der Gruppe A und in der Gruppe B gekoppelt. Aus Einfachheitsgründen ist lediglich ein Modul in jeder Gruppe gezeigt.
Jedes Modul umfaßt eine Gruppen-Prioritätslogik 702. Die Gruppen-Prioritätslogik 702 dient dazu, Buskonkurrenz­ konflikte zwischen den Gruppen zu lösen.
Ein Prioritätssignal 732 wird an die Gruppen-Priori­ tätslogik 702 angelegt. Das Prioritätssignal 732 zeigt die Priorität der Gruppe an. Jede Gruppe besitzt einen eigenen, durch das Prioritätssignal 732 repräsentierten Prioritäts­ wert.
Alle Module in der Gruppe B konkurrieren hinsichtlich des Zugriffs zu dem Bus in einer Weise, wie sie vorstehend bezüglich der bevorzugten Ausführungsbeispiele beschrieben wurde. Wenn angenommen wird, daß die Gruppe B die höchste Priorität besitzt, wird die Buszuordnungsleitung 706B durch einen Transistor 706 auf niedrigen Pegel gelegt, sobald ei­ nem Modul in der Gruppe B Zugang zu dem Bus gewährt wurde. Sobald die Zuordnungsleitung 704B auf niedrigen Pegel ge­ legt ist, wird ein Signal niedrigen Pegels durch einen Puf­ fer 708A in der Gruppe A empfangen und dieses Signal nied­ rigen Pegels wird an die Gruppen-Prioritätslogik 702A über einen Eingang Q eingangsseitig angelegt. Dieses Signal niedrigen Pegels am Eingang Q der Gruppen-Prioritätslogik 702A besitzt den Effekt, daß verhindert wird, daß ein Modul in der Gruppe A einen Transistor 706A einschaltet und die Zuordnungsleitung 704 A auf niedrigen Pegel zieht.
7. Betrieb mit hoher Geschwindigkeit
Die Geschwindigkeit der Zuordnungsleitung ist ein Schlüsselfaktor bei der Gesamtgeschwindigkeit des mit vir­ tueller Paketbildung arbeitenden Busses gemäß der vorlie­ genden Erfindung. Die Zuordnungsleitung kann unter Einsatz einer optischen Faser zur Erhöhung der Bandbreite reali­ siert werden. Fig. 8 zeigt eine Realisierung einer Zuord­ nungsleitung unter Einsatz einer optischen Faser. Bezugneh­ mend auf Fig. 8 wird die Realisierung mittels optischer Faser näher erläutert. Eine Zuordnungsleitung 802 ist unter Einsatz einer optischen Faser gebildet. Die optische Faser kann als eine inkohärente optische Faser oder einfach als ein optisches Lichtrohr ausgeführt sein. Die die Zuord­ nungsleitung 802 bildende optische Faser ist mit der Zuord­ nungsschaltung unter Einsatz eines Optokopplers 804 verbun­ den. Eine Photodiode (LED = Light Emitting Diode) 808 setzt elektrischen Strom in ein optisches Signal 810 um. Das op­ tische Signal 810 wird durch den optischen Koppler 804 auf die Zuordnungsleitung 802 gekoppelt. Somit fließt dann, wenn der Transistor 316 durch ein hohen Pegel besitzendes Busverfügbarkeitssignal 364 eingeschaltet wird (wie bei dem vorstehend beschriebenen Ausführungsbeispiel), Strom durch die Leuchtdiode 808. Das von der Leuchtdiode 808 abgegebene Licht wird auf die Zuordnungsleitung 802 gekoppelt. Folg­ lich ist in der Zuordnungsleitung 802 Licht vorhanden, wenn einem Modulzugriff für den nächsten Buspaket-Zeitschlitz gewährt wurde.
Eine Photodiode 812 empfängt optische Energie von dem Optokoppler 804. Das Fehlen von Licht auf der Zuordnungs­ leitung 802 bewirkt, daß der Strom in der Photodiode 812 auf einen Pegel verringert wird, der als Dunkelstrompegel bekannt ist. Bei Vorliegen des Dunkelstrompegels kann Strom nicht von Vcc zu Masse durchgeleitet werden und ein Signal mit hohem logischen Pegel wird an den Eingang des Puffers 310 angelegt.
Falls andererseits Licht auf der Zuordnungsleitung 802 vorhanden ist, verbindet die Photodiode 812 Vcc mit Masse, wodurch an den Eingang des Puffers 310 ein Signal mit nied­ rigem Pegel angelegt wird.
8. Schlußbemerkung
Auch wenn vorstehend unterschiedliche Ausführungsbei­ spiele der vorliegenden Erfindung beschrieben wurden, ver­ steht es sich, daß diese als Beispiele dienen und die Er­ findung nicht beschränken sollen.
Es wird ein Computerbus beschrieben, der zum Übertragen von Daten zwischen einer Vielzahl von mit ihm gekoppelten Modulen dient und eine flexible, verteilte Buszugriffsbe­ stimmung besitzt. Eine Mehrzahl von Datenleitungen dient zur Übertragung von Datenbits zwischen den an den Bus ange­ schlossenen Modulen. Eine einzige Zuordnungsleitung ist mit jedem Modul gekoppelt und dient zur Anzeige, ob der Bus für den nächsten Buszyklus zur Verfügung steht. Ein Buspaket- Takt wird zur Unterteilung des Busses in als Buspaket-Zeit­ schlitze bezeichnete Zyklusperioden eingesetzt. Ein Zu­ griffszeittakt unterteilt diese Buspaket-Zeitschlitze in Zeitzugriffsschlitze. Der Buspaket-Zeitschlitz ist die Zeiteinheit, während der einem Modul Zugriff zu dem Bus ge­ währt wird. Der Buspaket-Zeitschlitz ist so gewählt, daß Modulen Zugang zu dem Bus für eine durch eine Paketlänge definierte Zeitdauer gewährt wird. Jedes am Bus angeschlos­ sene Modul ist mit einer Zuordnungsschaltung versehen, über die bestimmbar ist, ob dem Modul Zugang zu dem Bus während des nächsten Buspaket-Zeitschlitzes gewährt wird. Die Zu­ ordnungsschaltung zählt die Anzahl von aufgetretenen Zeit­ schlitzen und vergleicht den Zählerwert mit einem Modul- Prioritätswert und gibt einen Vergleichs-Zeitimpuls ab, wenn die Werte übereinstimmen. Ein Modul mit einer niedri­ geren Prioritätsnummer legt die Zuordnungsleitung auf nied­ rigen Pegel und beansprucht den Bus für den nächsten Buspa­ ket-Zeitschlitz′ falls dieses Modul den Bus für den näch­ sten Buspaket-Zeitschlitz beansprucht. Sobald ein Modul die Zuordnungsleitung auf niedrigen Pegel gelegt hat, wird kei­ nem anderen Modul Zugriff zu dem Bus während des nächsten Buspaket-Zeitschlitzes gewährt. Wenn der nächste Buspaket- Zeitschlitz auftritt, wird dem Modul, dem Zugriff zu dem Bus für dieses Zeitintervall gewährt wurde, Zugang gegeben und die Zähler jedes Moduls werden zurückgesetzt und es wird die Priorität jedes Moduls aktualisiert.

Claims (17)

1. Computerbus für die Übertragung von Daten zwischen einer Mehrzahl von mit ihm gekoppelten Modulen (208), mit
  • a) einer Mehrzahl von mit jedem Modul (208) gekoppelten Datenleitungen, über die Bits von Wörtern übertragbar sind,
  • b) einer einzigen, mit jedem Modul (208) gekoppelten Arbitrations- bzw. Zuordnungsleitung (204),
  • c) einem mit jedem Modul gekoppelten Buspaket-Takt (206, 226), der zur zeitlichen Unterteilung des Busses in als Buspaket-Zeitschlitze bezeichnete Zyklusperioden einsetzbar ist,
  • d) einem Zugriffszeittakt (308), der mit jedem Modul gekoppelt ist und zur Unterteilung der Buspaket-Zeit­ schlitze in Zugriffszeitschlitze einsetzbar ist, und
  • e) einer Arbitrations- bzw. Zuordnungsschaltung (300) für jedes Modul am Bus, die mit dem Buspaket-Takt, mit der Zuordnungsleitung und mit dem Zugriffszeittakt gekoppelt und derart ausgelegt ist, daß sie im Hinblick auf die Kon­ kurrenz der Vielzahl von Modulen betreffend den Bus ent­ scheidet.
2. Computerbus nach Anspruch 1, dadurch gekennzeichnet, daß die Buspaket-Zeitschlitze ausreichende zeitliche Länge besitzen, derart, daß ein eine Mehrzahl von Worten enthal­ tendes Paket zwischen den Modulen während eines Buspaket- Zeitschlitzes übertragen werden kann.
3. Computerbus nach Anspruch 1 oder 2, dadurch gekenn­ zeichnet, daß die Zuordnungsschaltung (300) jedes Moduls
  • 1) ein Statusgerät (352) mit einem mit dem Buspaket- Takt (226) gekoppelten Eingang und einem mit einem Verglei­ cher (306) gekoppelten Ausgang aufweist,
  • 2) daß der Vergleicher (306) einen mit dem Statusgerät (302) gekoppelten Eingang und einen mit einem Flipflop (314) gekoppelten Ausgang besitzt und derart ausgelegt ist, daß er einen Vergleichs-Zeitimpuls (356) erzeugt,
  • 3) daß das Flipflop (314) einen mit dem Vergleicher (306) gekoppelten und auf ein durch die Zuordnungsleitung (204) erzeugtes Busbelegungssignal (358) ansprechenden ersten Eingang und einen Ausgang, der zur Erzeugung eines Busver­ fügbarkeitssignals (364) dient, aufweist und
  • 4) daß die Zuordnungsschaltung (300) jedes Moduls einen Transistor (316) besitzt, der eine mit dem Flipflop-Ausgang gekoppelte Basis, einen mit Massepotential gekoppelten Emitter und einen mit der Zuordnungsleitung (204) gekoppel­ ten Kollektor aufweist und derart betreibbar ist, daß er die Zuordnungsleitung auf niedrigen Pegel legt, wenn das Mo­ dul das Busverfügbarkeitssignal (364) erzeugt.
4. Computerbus nach Anspruch 3, dadurch gekennzeichnet, daß die Zuordnungsschaltung (300) einen Zähler (304) umfaßt, der einen ersten, mit dem Buspaket-Takt gekoppelten Ein­ gang, einen zweiten, mit dem Zugriffszeittakt (308) gekop­ pelten Eingang und einen mit dem Vergleicher (306) gekoppel­ ten Ausgang besitzt und derart ausgelegt ist, daß er die Impulse des Zugriffszeittakts zählt, durch Impulse des Bus­ paket-Takts zurückgesetzt wird und ein Zählstandssignal (354) erzeugt, und daß das Statusgerät (302) so ausgelegt ist, daß es ein Prioritätswertsignal (352) an den Vergleicher angibt.
5. Computerbus nach Anspruch 3 oder 4, dadurch gekenn­ zeichnet, daß die Zuordnungsschaltung (300) ein UND-Glied (320) aufweist, das mit dem Flipflop (314) gekoppelt ist, auf ein Busanforderungssignal (362) und auf das Ausgangssignal des Flipflops (314) anspricht und das Busverfügbarkeitssi­ gnal (364) lediglich dann erzeugt′ wenn das Modul einen Bus­ zugriff anfordert.
6. Computerbus nach einem der Ansprüche 3 bis 5, da­ durch gekennzeichnet, daß der Vergleicher (306) mit dem Flipflop (314) über ein UND-Glied (318) gekoppelt ist, das einen mit der Zuordnungsleitung (204) gekoppelten Eingang besitzt.
7. Computerbus nach einem der Ansprüche 3 bis 6, ge­ kennzeichnet durch einen Puffer (310), der mit Zuordnungs­ leitung (204) gekoppelt ist und so ausgelegt ist, daß er das Busbelegungssignal (358) erzeugt.
8. Computerbus nach einem der Ansprüche 3 bis 7, da­ durch gekennzeichnet, daß der Vergleicher (306) einen Ein­ gang besitzt, der zur Aufnahme einer Modulzugriffsnummer ausgelegt ist, und daß das Statusgerät (302) derart ausge­ legt ist, daß es ein inkrementiertes Ausgangssignal bereit­ stellt, wobei das Statusgerät (302) weiterhin derart ausge­ staltet ist, daß es einen Initialisierungswert (366) emp­ fängt.
9. Computerbus nach einem der Ansprüche 3 bis 8, ge­ kennzeichnet durch ein Hochzieh-Widerstand (322), der zwi­ schen die Zuordnungsleitung (204) und Vcc geschaltet und so ausgelegt ist, daß er die Zuordnungsleitung auf hohem Pegel solange hält, bis der Transistor (316) eingeschaltet wird.
10. Computerbus nach einem der Ansprüche 3 bis 9, da­ durch gekennzeichnet, daß die Zuordnungsleitung ein opti­ sches Faserkabel (802) ist und daß die Zuordnungsschaltung eine erste Photodiode (808), die zwischen Vcc und den Transistor (316) geschaltet und so ausgelegt ist, daß sie Licht abgibt, wenn der Transistor (316) durch das Busverfüg­ barkeitssignal (364) durchgeschaltet wird,
eine zweite Photodiode (812), die zwischen Vcc und Mas­ sepotential geschaltet ist und derart ausgelegt ist, daß sie ein Busbelegungssignal mit niedrigem Pegel erzeugt, wenn die zweite Photodiode durch auf der optischen Faser- Zuordnungsleitung vorhandenes Licht eingeschaltet ist, und
optische Koppler (804) zum Einkoppeln von Licht von der ersten Photodiode in die optische Faser-Zuordnungsleitung und zum Auskoppeln von Licht aus der optischen Faser-Zuor­ dungsleitung zu der zweiten Photodiode aufweist.
11. Computerbus nach einem der vorhergehenden Ansprü­ che, gekennzeichnet durch eine Mehrzahl von Zuordnungslei­ tungen (704A, 704B), die mit jedem der Module gekoppelt sind, um eine Zuordnungsentscheidung für Modulgruppen bereitzu­ stellen, wobei die Zuordnungsschaltung weiterhin eine Grup­ penzuordnungslogik (702A, 702B) besitzt, die mit zumindest einer der Zuordnungsleitungen gekoppelt ist.
12. Verfahren zum Entscheiden der Konkurrenz zwischen einer Vielzahl von Modulen bei einem Computerbus mit einer Zuordnungsleitung′ mit den Schritten
  • 1) Unterteilen des Busses in zeitlicher Hinsicht in Buszyklen, die als Buspaket-Zeitschlitze bekannt sind, wobei die Länge des Buspaket-Zeitschlitzes unter Einsatz eines Buspaket-Taktes definiert wird,
  • 2) weiteres Unterteilen des Buspaket-Zeitschlitzes in eine Mehrzahl von Zugriffszeitschlitzen unter Einsatz eines Zugriffszeittakts, wobei die Frequenz des Zugriffszeittakts ein Mehrfaches der Frequenz des Buspaket-Taktes ist,
  • 3) Vergleichen eines Prioritätswerts des Moduls mit einem die Anzahl von aufgetretenen Zugriffszeitschlitzen repräsentierenden Wert bei jedem Modul,
  • 4) Erzeugen eines Vergleichs-Zeitimpulses, wenn der Prioritätswert gleich dem Wert ist, der die Anzahl von auf­ getretenen Zugriffszeitschlitzen repräsentiert,
  • 5) Erzeugen eines Busverfügbarkeitssignals auf der Grundlage des Vergleichs-Zeitimpulses, der Busverfügbarkeit und eines Busanforderungssignals, und
  • 6) Legen der Zuordnungsleitung auf niedrigen Pegel un­ ter Einsatz des Busverfügbarkeitssignals.
13. Verfahren nach Anspruch 12, gekennzeichnet durch den Schritt der Aktualisierung des Prioritätswerts jedes Moduls zu Beginn des Buspaket-Zeitschlitzes.
14. Verfahren nach Anspruch 12 oder 13, dadurch gekenn­ zeichnet, daß der Buspaket-Zeitschlitz ausreichende Länge besitzt, um eine Übertragung von Daten in Paketen zu ermög­ lichen.
15. Computerbus zum Übertragen von Daten zwischen einer Mehrzahl von mit ihm gekoppelten Modulen, mit
  • a) einer Mehrzahl von Datenleitungen, die mit jedem Modul (208) gekoppelt sind und zur Übertragung von Bits von Wörtern betreibbar sind,
  • b) einer einzigen Zuordnungsleitung (204), die mit je­ dem, Modul gekoppelt ist,
  • c) einem Buspaket-Takt (206,226), der an jedes Modul an­ gelegt wird und zur Unterteilung des Busses in zeitlicher Hinsicht in Zyklusperioden, die als Buspaket-Zeitschlitze bezeichnet sind, betreibbar ist,
  • d) einen an jedes Modul (208) angelegten Zugriffszeit­ takt (308), der zur Unterteilung der Buspaket-Zeitschlitze in Zugriffszeitschlitze einsetzbar ist, und
  • e) einer Einrichtung (300) zum Treffen einer Entschei­ dung bei Konkurrenz zwischen den Modulen hinsichtlich des Zugriffs zum Computerbus, die mit dem Buspaket-Takt, mit der Zuordnungsleitung und mit dem Zugriffszeittakt gekop­ pelt ist.
16. Computerbus nach Anspruch 15, dadurch gekennzeich­ net, daß die Einrichtung (300) zum Treffen der Entscheidung
  • 1) eine erste Einrichtung zum Zählen von Impulsen des Zugriffszeittakts und zum Erzeugen eines ersten, die Anzahl der gezählten Impulse repräsentierenden Signals,
  • 2) eine zweite Einrichtung zum Vergleichen des ersten Signals mit einer eine Priorität des Moduls repräsentieren­ den Zahl und zum Erzeugen eines Vergleichs-Zeitimpulses,
  • 3) eine dritte Einrichtung zum Erzeugen eines Busver­ fügbarkeitssignals, die mit der zweiten Einrichtung gekop­ pelt ist und auf ein Busbelegungssignal und auf den Ver­ gleichszeitimpuls anspricht, und
  • 4) eine vierte Einrichtung zum Legen der Zuordnungs­ leitung auf niedrigen Pegel aufweist, die mit der dritten Einrichtung und mit der Zuordnungsleitung gekoppelt ist und auf das Busverfügbarkeitssignal anspricht.
17. Computerbus nach Anspruch 16, dadurch gekennzeich­ net, daß die Einrichtung (300) zum Treffen der Entscheidung eine fünfte Einrichtung zum Initialisieren und Aktualisie­ ren der Modulzyklusnummer aufweist, die mit der zweiten Einrichtung gekoppelt ist.
DE4326964A 1992-08-14 1993-08-11 Bus mit virtueller Paketbildung und verteilter Arbitration Withdrawn DE4326964A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/929,445 US5430848A (en) 1992-08-14 1992-08-14 Distributed arbitration with programmable priorities

Publications (1)

Publication Number Publication Date
DE4326964A1 true DE4326964A1 (de) 1994-02-17

Family

ID=25457872

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4326964A Withdrawn DE4326964A1 (de) 1992-08-14 1993-08-11 Bus mit virtueller Paketbildung und verteilter Arbitration

Country Status (8)

Country Link
US (1) US5430848A (de)
JP (1) JPH07295924A (de)
CA (1) CA2103780A1 (de)
DE (1) DE4326964A1 (de)
DK (1) DK92893A (de)
FR (1) FR2694828B1 (de)
GB (1) GB2269728B (de)
SE (1) SE9302626L (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4407795A1 (de) * 1994-03-09 1995-09-14 Sel Alcatel Ag Verfahren und Schaltungsanordnung zur Koordination des Zugriffs mehrerer Nachrichtenquellen auf einen Bus

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4242133A1 (de) * 1992-12-14 1994-06-16 Siemens Ag Anordnung mit mehreren Funktionseinheiten
US5434850A (en) 1993-06-17 1995-07-18 Skydata Corporation Frame relay protocol-based multiplex switching scheme for satellite
US6771617B1 (en) 1993-06-17 2004-08-03 Gilat Satellite Networks, Ltd. Frame relay protocol-based multiplex switching scheme for satellite mesh network
US5729702A (en) * 1993-06-21 1998-03-17 Digital Equipment Corporation Multi-level round robin arbitration system
US6178475B1 (en) * 1994-12-19 2001-01-23 Advanced Micro Devices Inc. Multimedia system employing timers to properly allocate bus access
KR0155269B1 (ko) * 1995-01-16 1998-11-16 김광호 버스 중재방법 및 그 장치
US5710891A (en) * 1995-03-31 1998-01-20 Sun Microsystems, Inc. Pipelined distributed bus arbitration system
US5572686A (en) * 1995-06-05 1996-11-05 Apple Computer, Inc. Bus arbitration scheme with priority switching and timer
DE69632289T2 (de) * 1995-07-25 2005-05-19 Jin-Young Cho Verteiltes serielles schiedsverfahren
US5894562A (en) * 1996-10-28 1999-04-13 Motorola, Inc. Method and apparatus for controlling bus arbitration in a data processing system
US5915102A (en) * 1996-11-06 1999-06-22 International Business Machines Corporation Common arbiter interface device with arbitration configuration for centralized common bus arbitration
US5948089A (en) * 1997-09-05 1999-09-07 Sonics, Inc. Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation
US6560682B1 (en) 1997-10-03 2003-05-06 Intel Corporation System and method for terminating lock-step sequences in a multiprocessor system
US6092137A (en) * 1997-11-26 2000-07-18 Industrial Technology Research Institute Fair data bus arbitration system which assigns adjustable priority values to competing sources
US6138200A (en) * 1998-06-09 2000-10-24 International Business Machines Corporation System for allocating bus bandwidth by assigning priority for each bus duration time slot to application using bus frame and bus duration
US6363445B1 (en) 1998-10-15 2002-03-26 Micron Technology, Inc. Method of bus arbitration using requesting device bandwidth and priority ranking
ES2267303T3 (es) * 1998-10-30 2007-03-01 Avocent Huntsville Corporation Ordenador dividido.
US6418494B1 (en) * 1998-10-30 2002-07-09 Cybex Computer Products Corporation Split computer architecture to separate user and processor while retaining original user interface
IL130039A (en) * 1999-05-19 2003-07-06 Eci Telecom Ltd Cell bus and method for using same
US6810422B1 (en) 2000-01-14 2004-10-26 Lockheed Martin Tactical Defense Systems System and method for probabilistic quality of communication service determination
DE10028370B4 (de) * 2000-06-08 2005-05-04 Siemens Ag Verfahren zur Datenkommunikation zwischen mehreren MAC-Steuereinheiten
GB2372916A (en) * 2001-02-28 2002-09-04 Motorola Inc Dynamic bus arbitration for shared bus architecture
US6886051B2 (en) * 2002-03-28 2005-04-26 Seagate Technology Llc Device discovery method and apparatus
US7024505B2 (en) * 2002-03-28 2006-04-04 Seagate Technology Llc Fair arbitration method in a distributed arbitration system
US7007138B2 (en) * 2002-04-17 2006-02-28 Matsushita Electric Industiral Co., Ltd. Apparatus, method, and computer program for resource request arbitration
US7321623B2 (en) 2002-10-01 2008-01-22 Avocent Corporation Video compression system
US7065595B2 (en) * 2003-03-27 2006-06-20 International Business Machines Corporation Method and apparatus for bus access allocation
US7478025B1 (en) * 2003-04-18 2009-01-13 Unisys Corporation System and method to support dynamic partitioning of units to a shared resource
US9560371B2 (en) 2003-07-30 2017-01-31 Avocent Corporation Video compression system
US7107376B2 (en) * 2004-01-26 2006-09-12 International Business Machines Corp. Systems and methods for bandwidth shaping
US7457461B2 (en) 2004-06-25 2008-11-25 Avocent Corporation Video compression noise immunity
US7783820B2 (en) * 2005-12-30 2010-08-24 Avocent Corporation Packet-switched split computer having disassociated peripheral controller and plural data buses
EP2016767A4 (de) 2006-04-28 2014-08-13 Avocent Corp Dvc-delta-befehle
FI122301B (fi) * 2006-08-25 2011-11-30 Atomia Oy Piiri, menetelmä ja järjestely yksinkertaisen ja luotettavan hajautetun väyläarbitroinnin toteuttamiseksi
DE102011007437A1 (de) * 2010-11-15 2012-05-16 Continental Teves Ag & Co. Ohg Verfahren und Schaltungsanrodnung zur Datenübertragung zwischen Prozessorbausteinen
US8984194B2 (en) * 2011-01-21 2015-03-17 Numia Medical Technology Llc Multi-master bus arbitration and resource control

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4320502A (en) * 1978-02-22 1982-03-16 International Business Machines Corp. Distributed priority resolution system
US4229791A (en) * 1978-10-25 1980-10-21 Digital Equipment Corporation Distributed arbitration circuitry for data processing system
US4481580A (en) * 1979-11-19 1984-11-06 Sperry Corporation Distributed data transfer control for parallel processor architectures
US4412281A (en) * 1980-07-11 1983-10-25 Raytheon Company Distributed signal processing system
IT1129371B (it) * 1980-11-06 1986-06-04 Cselt Centro Studi Lab Telecom Commutatore di messaggi a struttura distribuita su canale ad accesso casuale per colloquio a messaggi tra unita elaborative
US4453551A (en) * 1981-02-25 1984-06-12 John Anderson Apparatus for pattern recognition of ECG signals for detecting fibrillation
US4442504A (en) * 1981-03-09 1984-04-10 Allen-Bradley Company Modular programmable controller
FR2513407B1 (fr) * 1981-09-24 1987-01-16 Finger Ulrich Systeme d'arbitrage des demandes d'acces de plusieurs processeurs a des ressources communes, par l'intermediaire d'un bus commun
US4453215A (en) * 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
USRE33705E (en) * 1982-02-24 1991-10-01 Digital Equipment Corporation Interchangeable interface circuit structure
US4570217A (en) * 1982-03-29 1986-02-11 Allen Bruce S Man machine interface
US4560985B1 (en) * 1982-05-07 1994-04-12 Digital Equipment Corp Dual-count, round-robin ditributed arbitration technique for serial buses
US4556939A (en) * 1983-04-29 1985-12-03 Honeywell Inc. Apparatus for providing conflict-free highway access
US4637013A (en) * 1983-07-05 1987-01-13 Canon Kabushiki Kaisha Token exchange data transmission system having system configuration discrimination
US4766536A (en) * 1984-04-19 1988-08-23 Rational Computer bus apparatus with distributed arbitration
US4612542A (en) * 1984-12-20 1986-09-16 Honeywell Inc. Apparatus for arbitrating between a plurality of requestor elements
US4730268A (en) * 1985-04-30 1988-03-08 Texas Instruments Incorporated Distributed bus arbitration for a multiprocessor system
US4908749A (en) * 1985-11-15 1990-03-13 Data General Corporation System for controlling access to computer bus having address phase and data phase by prolonging the generation of request signal
US4785396A (en) * 1986-01-28 1988-11-15 Intel Corporation Push-pull serial bus coupled to a plurality of devices each having collision detection circuit and arbitration circuit
US4802161A (en) * 1986-09-16 1989-01-31 Gte Communication Systems Corporation Packet bus interface
US4785394A (en) * 1986-09-19 1988-11-15 Datapoint Corporation Fair arbitration technique for a split transaction bus in a multiprocessor computer system
JPH0366358A (ja) * 1989-08-03 1991-03-22 Terumo Corp 生体信号計測装置
US4972313A (en) * 1989-08-07 1990-11-20 Bull Hn Information Systems Inc. Bus access control for a multi-host system using successively decremented arbitration delay periods to allocate bus access among the hosts
US5301677A (en) * 1992-02-06 1994-04-12 Cardiac Pacemakers, Inc. Arrhythmia detector using delta modulated turning point morphology of the ECG wave
US8340766B2 (en) * 2010-10-07 2012-12-25 St. Jude Medical, Atrial Fibrillation Division, Inc. Method and system for identifying cardiac arrhythmia driver sites
WO2013123549A1 (en) * 2012-02-20 2013-08-29 Adelaide Research & Innovation Pty Ltd Method for identifying a cardiac region for ablation

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4407795A1 (de) * 1994-03-09 1995-09-14 Sel Alcatel Ag Verfahren und Schaltungsanordnung zur Koordination des Zugriffs mehrerer Nachrichtenquellen auf einen Bus
US5651008A (en) * 1994-03-09 1997-07-22 Alcatel N.V. Method and circuit arrangement for coordinating access by a plurality of information sources to a bus

Also Published As

Publication number Publication date
DK92893D0 (da) 1993-08-12
CA2103780A1 (en) 1994-02-15
JPH07295924A (ja) 1995-11-10
SE9302626D0 (sv) 1993-08-13
GB2269728B (en) 1996-06-12
SE9302626L (sv) 1994-02-15
US5430848A (en) 1995-07-04
GB9315988D0 (en) 1993-09-15
DK92893A (da) 1994-02-15
GB2269728A (en) 1994-02-16
FR2694828B1 (fr) 1995-03-31
FR2694828A1 (fr) 1994-02-18

Similar Documents

Publication Publication Date Title
DE4326964A1 (de) Bus mit virtueller Paketbildung und verteilter Arbitration
DE3803326C2 (de)
DE3546683C3 (de) Verfahren zum Betreiben einer Datenverarbeitungsanlage
DE69733857T2 (de) Steuerungsübertragungsbus für Netzwerkgeräte
DE69819303T2 (de) Verfahren und vorrichtung zur übertragung von mehrfachkopien durch vervielfältigung von datenidentifikatoren
DE69533230T2 (de) Verfahren und vorrichtung zur verbesserung der fehlertoleranz eines netzwerkes
DE3300261C2 (de)
DE69433293T2 (de) Netzwerkübertragungsverfahren für Systeme mit virtuellem Speicher
DE602005004529T2 (de) Verfahren zum Verwalten einer Vielzahl von virtuellen Verbindungen zur gemeinsamen Nutzung auf einer Verbindungsleitung und Netzwerk zur Implementierung dieses Verfahrens
DE69937598T2 (de) Auf Identifikationsmarken basierendes Paketvermittlungssystem
DE69722224T2 (de) Anordnung für media-zugriffe in einem netz mit universellen vielfachzugriffsknoten und kollisionerkennungsknoten
WO1996003696A1 (de) Arbitrierung bei verzögernder buskopplung
DE69632289T2 (de) Verteiltes serielles schiedsverfahren
DE60125678T2 (de) Vermittlungstelle mit Flusssteurungverwaltung
EP1940654B1 (de) Verfahren zur Anbindung eines FlexRay-Teilnehmers mit einem Mikrocontroller an eine FlexRay-Kommunikationsverbindung über eine FlexRay-Kommunikationssteuereinrichtung, und FlexRay-Kommunikationssystem zur Realisierung dieses Verfahrens
EP1776807A1 (de) Verfahren und vorrichtung zum zugriff auf daten eines botschaftsspeichers eines kommunikationsbausteins
DE1933577B2 (de) Einrichtung zum Übertragen von Daten zwischen einem Rechner und mehreren ent fernt liegenden Anschlußgeraten
DE3424866A1 (de) Verfahren und anordnung zur uebertragung von daten, insbesondere in einem flugzeug
EP1787204A1 (de) Botschaftsverwalter und verfahren zur steuerung des zugriffs auf daten eines botschaftsspeichers eines kommunikationsbausteins
DE102005048581B4 (de) Teilnehmerschnittstelle zwischen einem FlexRay-Kommunikationsbaustein und einem FlexRay-Teilnehmer und Verfahren zur Übertragung von Botschaften über eine solche Schnittstelle
DE60125611T2 (de) Verfahren und Vorrichtung zur Kommunikation zwischen einem ersten und einem zweiten Netz
EP0408130A2 (de) Anordnung zur Bitratenanpassung zweier Signale
WO2006015908A1 (de) Verfahren zur speicherung von botschaften in einem botschaftsspeicher und botschaftsspeicher
DE102014114754A1 (de) Eine Kommunikationsvorrichtung, die ein unterbrechendes Angleichungsmuster verwendet
EP3676995B1 (de) Master eines bussystems

Legal Events

Date Code Title Description
8139 Disposal/non-payment of the annual fee