-
HINTERGRUND DER ERFINDUNG
-
1. Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf das Gebiet der Computersysteme.
Insbesondere bezieht sich die vorliegende Erfindung auf serielle
Busse zum Verbinden von Peripherieeinrichtungen mit den Systemeinheiten
von Computersystemen, einschließlich
der zugeordneten Steuereinrichtungen und Schnittstellen.
-
2. Hintergrundinformationen
-
Eine
Reihe zusammenhängender
Betrachtungen macht es wünschenswert, über einen
einzelnen, relativ schnellen, bidirektionalen, isochronen, kostengünstigen
und dynamisch konfigurierbaren, seriellen Bus zum gleichzeitigen
Verbinden isochroner sowie asynchroner Peripherieeinrichtungen mit der
Systemeinheit eines Tischcomputersystems zu verfügen. Isochrone Peripherieeinrichtungen
sind Peripherieeinrichtungen, die natürliche Echtzeitdaten, wie beispielsweise
Sprache, bewegte Bilder und dergleichen, erzeugen. Diese zusammenhängenden Betrachtungen
beinhalten:
-
Verbindung des Telefons
mit dem Tischcomputer
-
Es
wird erwartet, daß die
Verschmelzung von Datenverarbeitung und Kommunikation die Basis
der nächsten
Generation von Leistungsanwendungen auf Tischcomputern bilden wird.
Die Übertragung
von maschinenorientierten und anwenderorientierten Datentypen von
einem Ort oder einer Umgebung zu einem/einer anderen hängt von
einer allgegenwärtigen und
kostengünstigen
Verbindungsfähigkeit
ab. Bedauerlicherweise haben sich Datenverarbeitungs- und Kommunikations-Industrie
unabhängig
entwickelt. Im Ergebnis dessen muß eine breite Palette von Tischcomputer-
und Telefonverbindungen unterstützt
werden.
-
Bedienkomfort
-
Der
Mangel an Flexibilität
bei der Rekonfigurierung von Tischcomputern ist als die Achillesferse für deren
weitere Entwicklung erkannt worden. Die Kombination von benutzerfreundlichen
Grafikschnittstellen und den Hardware- und Software-Mechanismen,
die der neuen Generation von Systembus-Architekturen zugeordnet sind, hat dazu
geführt,
daß Tischcomputer
weniger konfrontativ und leichter rekonfigurierbar sind. Jedoch
vom Standpunkt des Endbenutzers gesehen, fehlen den I/O-Schnittstellen des
Tischcomputers, wie beispielsweise serielle/parallele Ports, Tastatur-/Maus-/Joystick-Schnittstellen, immer
noch die Attribute von Einstecken und Einschalten [plug and play]
oder sie unterliegen hinsichtlich des Typs der I/O-Einrichtungen,
die direkt angeschlossen/getrennt werden können, zu vielen Beschränkungen.
-
Port-Erweiterung
-
Das
Hinzufügen
externer Peripherieeinrichtungen zu Tischcomputern ist weiterhin
durch die Port-Verfügbarkeit
beschränkt.
Das Fehlen eines bidirektionalen, kostengünstigen, peripheren Busses mit
geringer bis mittlerer Geschwindigkeit hat die Verbreitung von Peripherieeinrichtungen,
wie beispielsweise Telefon-/Fax-/Modemadaptern, Anrufbeantwortern,
Scannern, Persönliche
Digitale Assistenten [Personal Digital Assistants] (PDA), Tastaturen,
Mäusen
etc., verzögert.
Vorhandene Verbindungen werden für
Ein- oder Zweipunkt-Produkte optimiert. Wie jede neue Funktion oder
Fähigkeit
zu dem Tischcomputer hinzugefügt
wird, ist üblicherweise
eine neue Schnittstelle definiert worden, um dieser Notwendigkeit
zu entsprechen.
-
Mit
anderen Worten, von diesem gewünschten
seriellen Bus wird erwartet, daß er
eine kostengünstige,
gleichzeitige Verbindungsfähigkeit
für die interaktiven
Einrichtungen mit relativ geringer Geschwindigkeit von 10–100 kbps – wie beispielsweise Tastatur,
Maus, Kopierstift, Peripherieeinrichtungen für Spiele, Peripherieeinrichtungen
für virtuelle
Realität
und Monitore – sowie
für die
isochronen Einrichtungen mit mittlerer Geschwindigkeit von 500–5000 kbps – wie beispielsweise
ISDN, PBX, POTS und andere Audio-Einrichtungen – bereitstellt. Es wird erwartet,
daß eine
Vielzahl beider Einrichtungstypen gleichzeitig verbunden und aktiv
ist, und außerdem der
letztere Einrichtungstyp mit garantierten Latenzzeiten und Bandbreiten
versehen ist. Überdies
wird erwartet, daß die
Einrichtungen während
des Betriebs angeschlossen und getrennt werden können, wobei die serielle Schnittstelle
in der Lage ist, sich selbst dynamisch zu rekonfigurieren, ohne
den Betrieb des Tischcomputersystems zu unterbrechen.
-
Es
gibt verschiedene Technologien, die üblicherweise als serielle Busse
zur Verbindung von Peripherieeinrichtungen mit Systemeinheiten von
Computersystemen betrachtet werden. Jeder dieser Busse ist für die Behandlung
eines speziellen Bereichs von Kommunikationen zwischen Systemeinheiten und
Peripherieeinrichtungen ausgelegt. Spezielle Beispiele für diese
Busse sind:
-
Apple®Desktop-Bus
(ADB): Der ADB ist ein patentrechtlich geschützter Bus von Apple Computer Inc.
Er ist ein serieller Bus für
geringe Anforderungen, der ein einfaches Lese-/Schreibprotokoll
für bis
zu 16 Einrichtungen bereitstellt. Von Steuereinrichtungs- und Schnittstellen-Hardware
werden nur Grundfunktionen verlangt. Somit ist zu erwarten, daß die Implementierungskosten
gering sind. Jedoch unterstützt der
ADB Datenübertragungsgeschwindigkeiten
nur bis zu 90 kbps, gerade ausreichend für die Kommunikation mit asynchronen
Tischcomputereinrichtungen, wie beispielsweise Tastaturen und Mäusen. Er ist
nicht in der Lage, gleichzeitig die zuvor beschriebenen isochronen
Einrichtungen mit mittlerer Geschwindigkeit zu unterstützen.
-
Access.bus
(A.b): Der A.b wird von der Access.bus Industry Group entwickelt.
Er basiert auf der I2C-Technologie der Philips
Corporation und einem Software-Modell der Digital Equipment Corporation (DEC).
Der A.b ist in erster Linie auch für asynchrone Einrichtungen,
wie beispielsweise Tastaturen und Mäuse, ausgelegt. Der A.b wird
jedoch allgemein als vielseitiger als der ADB betrachtet. Das Protokoll
des A.b verfügt über gut
definierte Spezifikationen für
dynamischen Anschluß,
Arbitrierung, Datenpakete, Konfiguration und Software-Schnittstelle.
Von Steuereinrichtungs- und Schnittstellen-Hardware wird ein mittlerer
Umfang an Funktionen verlangt. Folglich sind die Implementierungskosten
für die
gewünschte Tischcomputeranwendung
nur bedingt wettbewerbsfähig.
Während
die Adressierung für
bis zu 127 Einrichtungen ermöglicht
wird, ist die praktische Belastung durch Kabellängen und Energieverteilungsbetrachtungen
begrenzt. Revision 2.2 spezifiziert den Bus für einen 100-kbps-Betrieb, aber
die Technologie verfügt über eine
Reserve, um bei Verwendung derselben separaten Takt- und Datenleitungen
bis zu 400 kbps zu gehen. Jedoch bei 400 kbps ist der A.b noch nicht
in der Lage, den Anforderungen isochroner Einrichtungen mit mittlerer
Geschwindigkeit zu entsprechen.
-
Spezifikation serieller
Bus P1394 von IEEE (auch bekannt als FireWire)
-
Der
FireWire ist ein serieller Hochleistungsbus. Er ist in erster Linie
für Festplatten-
und Video-Peripherieeinrichtungen ausgelegt, welche Bandbreiten über 100
Mbps hinaus benötigen
können.
Sein Protokoll unterstützt
sowohl isochrone als auch asynchrone Übertragungen über denselben Satz
von 4 Signalleitungen, die in unterschiedliche Paare von Takt- und
Datensignalen unterteilt sind. Somit ist er in der Lage, gleichzeitig
den Anforderungen sowohl interaktiver Einrichtungen mit geringer Geschwindigkeit
als auch isochroner Einrichtungen mit mittlerer Geschwindigkeit
gerecht zu werden. Es werden jedoch aufwändige Funktionen von der Steuereinrichtungs-
und Schnittstellen-Hardware verlangt, was FireWire zu einer in bezug
auf die Kosten nicht wettbewerbsfähigen Version für die gewünschte Tischcomputeranwendung
macht. Darüber
hinaus kommen die Einrichtungen der ersten Generation, die auf der
FireWire-Spezifikation basieren, gerade erst auf den Markt.
-
Die
Concentration-Highway-Schnittstelle (CHI): Die CHI wird von der
American Telephone & Telegraph
Corporation (AT&T)
für Terminals
und digitale Vermittlungssysteme entwickelt. Es ist eine serielle
Voll-Duplex-Zeitmultiplexverfahren-Schnittstelle für die Übertragung
digitalisierter Sprache in einem Kommunikationssystem. Das Protokoll
besteht aus einer Anzahl von fixierten Zeitfenstern, die Sprachdaten
und Steuerinformationen transportieren können. Die aktuelle Spezifikation
unterstützt
Datenübertragungsgeschwindigkeiten
von bis zu 4096 Mbps. Der CHI-Bus hat 4 Signalleitungen: Takt, Rahmerkennung,
Datenempfang und Datenübermittlung.
Sowohl Rahmerkennungs- als auch Taktsignale werden zentral (d. h.
PBX-Schaltung) erzeugt. Somit ist er auch in der Lage, den Anforderungen
interaktiver isochroner Einrichtungen mit geringer Geschwindigkeit sowie
isochroner Einrichtungen mit mittlerer Geschwindigkeit gerecht zu
werden. Ähnlich
wie bei FireWire werden ebenfalls aufwändige Funktionen von der Steuereinrichtungs-
und Schnittstellen-Hardware verlangt. Im Ergebnis dessen ist CHI
ebenfalls eine in bezug auf die Kosten nicht wettbewerbsfähige Version
für die
gewünschte
Tischcomputeranwendung.
-
Eine
Einrichtung zum Erzeugen und Aufrechterhalten rahmen- bzw. datenblockbasierter
Abfragezeitpläne,
die isochronen Funktionen Latenzzeiten bzw. Verzögerungen und Bandbreiten garantieren,
ist aus dem Dokument
EP 0 596
624 bekannt. Dieses Dokument offenbart ein breitbandiges,
asynchrones Transfermodusnetzwerk, das mehrere Knoten verbindet.
Die Lieferung an eine einzelne Ausgabeleitung eines Knotens unterliegt
der Steuerung einer Multiplex-Schaltung und verfügt über ihren einen Time-Slive-
bzw. Zeitabschnitt-Server. Es gibt wenigstens eine Warteschlange
für jede
Signalklassifikation, z. B. isochrone Signale mit hoher Bandbreite oder
verzögerungssensitive
Signale. Der einer Warteschlange zugewiesene Zeitabschnitt ist proportional
dem Betrag der Bandbreite auf der Ausgabeverbindung, die von dieser
Warteschlange benötigt
wird.
-
Im
Gegensatz zu der zeitabschnittsbasierten Planung von
EP 0 596 624 basiert die Planung der vorliegenden
Erfindung auf einer geschichteten Planungsrahmen- bzw. -datenblockstruktur,
bei welcher Superrahmen bzw. ein Super-Datenblock mehrere Soft-Datenblöcke bzw.
Rahmen aufweist. Ein Soft-Datenblock ist eine Replikation mehrerer
Basis-Datenblöcke,
und eine asynchrone Peripherieeinrichtung wird höchstens in einem der Soft-Datenblöcke geplant.
-
Wie
nachstehend detaillierter beschrieben wird, stellt die vorliegende
Erfindung die gewünschte serielle
Busanordnung – einschließlich ihrer
zugeordneten Steuereinrichtung, Überbrückungsverbinder und
Schnittstellen – bereit,
die die Beschränkungen der
dem Stand der Technik entsprechenden seriellen Busse auf eine neuartige
Weise vorteilhaft überwindet.
-
ZUSAMMENFASSENDE
DARSTELLUNG DER ERFINDUNG
-
Die
vorliegende Erfindung enthält
Schaltungen eine Ergänzungs-
bzw. und Komplementärlogik, die
an eine Bussteuereinrichtung bereitgestellt werden, eine Anzahl
von 1:n Bussignalverteilern und eine Anzahl von Busschnittstellen
einer hierarchischen, seriellen Busanordnung, damit die Bussteuereinrichtung
einen datenblockbasierten Abrufplan bzw. Abfragezeitplan zum Abrufen
der Funktionen der Busagenten, die mit der seriellen Busanordnung und
den seriellen Buselementen selbst verbunden sind, dynamisch erzeugen
und aufrechterhalten kann. Die hierarchische, serielle Busanordnung
wird verwendet, um eine Anzahl isochroner und asynchroner Peripherieeinrichtungen
mit der Systemeinheit eines Computersystems seriell zu verbinden.
Diese Schaltungen und Komplementärlogik
der seriellen Buselemente unterstützen das Erfassen verschiedener
kritischer Betriebscharakteristika durch die Bussteuereinrichtung.
Die an die Bussteuereinrichtung bereitgestellten Schaltungen und
Logik erzeugen dann ihrerseits den datenblockbasierten Abrufplan
in Übereinstimmung
mit diesen erfaßten
kritischen Betriebscharakteristika, wodurch den isochronen Funktionen
der isochronen Peripherieeinrichtungen Latenzzeiten und Bandbreiten
garantiert werden. Ferner passen bei bestimmten Ausführungsbeispielen die
an die Bussteuereinrichtung bereitge stellten Schaltungen und Logik
als Reaktion auf einen direkten Anschluß/eine direkte Trennung serieller
Buselemente ihren datenblockbasierten Abrufplan in Echtzeit auf
die gleiche Weise an.
-
Üblicherweise
ist die Bussteuereinrichtung in der Systemeinheit angeordnet und
mit einer Anzahl von 1:n Bussignalverteilern und einer Anzahl von Busschnittstellen
verbunden. Die Busschnittstellen sind in den Anschlußperipherieeinrichtungen – eine Busschnittstelle
pro Anschlußperipherieeinrichtung – angeordnet. Über ihre
Busschnittstellen sind die Peripherieeinrichtungen im Allgemeinen
mit der Systemeinheit verbunden, über die Bussteuereinrichtung, unter
Verwendung eines oder mehrerer der in der Systemeinheit angeordneten
Bussignalverteiler, unabhängiger Überbückungsverbinder
und/oder Anschlußperipherieeinrichtungen.
Eine Busschnittstelle ist immer ein Abschlußpunkt. Nur ein Bussignalverteiler
kann einen oder mehrere Bussignalverteiler und/oder Busschnittstelle(n)
haben, die stromaufwärts
mit ihm verbunden sind. Zusammen bilden die Systemeinheit, die seriellen
Buselemente und die Peripherieeinrichtungen eine Hierarchie verbundener Einrichtungen.
-
Eine
Anschlußperipherieeinrichtung
kann eine isochrone oder eine asynchrone Peripherieeinrichtung sein. Üblicherweise
arbeiten die isochronen Peripherieeinrichtungen mit Datenraten im
Bereich von 500–5000
kbps, während
die asynchronen Peripherieeinrichtungen mit Datenraten im Bereich
von 10–100
kbps arbeiten. Des Weiteren kann eine Anschlußperipherieeinrichtung eine
multifunktionale Peripherieeinrichtung sein, d. h. mehrere Funktionen werden
auf einen einzelnen Busverbindungspunkt abgebildet, der von einer
einzelnen Busschnittstelle bedient wird.
-
Die
Bussteuereinrichtung, die Bussignalverteiler und die Busschnittstellen
implementieren gemeinsam ein Master/Slave-Modell der Ablaufsteuerung zur seriellen
Verbindung der verbundenen Peripherieeinrichtungen mit der Systemeinheit,
um die Datenkommunikationstransaktionen zwischen den Busagenten,
und die Verbindungsmanagementtransaktionen zwischen den seriellen
Buselementen bei den Busagenten und den jeweiligen Betriebs geschwindigkeiten
der seriellen Buselemente zu ermöglichen.
Des Weiteren implementieren diese seriellen Buselemente gemeinsam
einen datenblockbasierten Abrufplan zum Abrufen der Funktionen der Slave-Peripherieeinrichtungen
und der seriellen Slave-Buselemente, der die Latenzzeiten und Bandbreiten
der isochronen Funktionen garantiert. Der datenblockbasierte Plan,
der auch als Super-Datenblock bezeichnet wird, weist eine Anzahl
von Teilplänen auf,
die auch als Soft-Datenblöcke
bezeichnet werden. Eine isochrone Funktion wird so oft abgerufen, wie
es in einem oder mehreren Soft-Datenblöcken des Super-Datenblocks
erforderlich ist, um ihre Latenzzeit und Bandbreite zu garantieren.
Das übrige Abrufen
wird um das Abrufen der isochronen Funktionen herum, üblicherweise
in höchstens
einem Soft-Datenblock, geplant. Während des Betriebs ruft die
Bussteuereinrichtung die Funktionen der verbundenen Peripherieeinrichtungen über ihre
Busschnittstellen für
Datenkommunikationstransaktionen und die seriellen Buselemente für Verbindungsmanagementtransaktionen
in Übereinstimmung
mit dem Abrufplan systematisch ab.
-
Beim
Einschalten oder beim Reset ermöglichen
die unter der vorliegenden Erfindung an die seriellen Buselemente
bereitgestellten Schaltungen und die Komplementärlogik gemeinsam, daß Latenzzeitanforderungen
der isochronen Funktionen, Sendezeiten ihrer isochronen Daten, Transaktionsanforderungen
für asynchrone
Funktionen sowie Verbindungsmanagement und Sendezeiten dieser Transaktionen
durch die Bussteuereinrichtung erfaßt werden. Die an die Bussteuereinrichtung
bereitgestellten Schaltungen und die Logik bestimmen dann die geringste
Latenzzeitanforderung der isochronen Funktionen und stellen die
Größe des Soft-Datenblocks entsprechend
der geringsten Latenzzeitanforderung der isochronen Funktionen ein.
Diese Schaltungen und die Logik der Bussteuereinrichtung bestimmen ferner
einen isochronen Höchststand,
der die obere Grenze eines Soft-Datenblocks
zum Abrufen isochroner Funktionen festlegt, um zu gewährleisten, daß die Garantien
eingehalten werden, sowie einen Datenblock-Höchststand, der die obere Grenze
eines Soft- Datenblocks
zur Ausführung
jeder beliebigen Art des Abrufens festlegt, um die Betriebszuverlässigkeit zu
gewährleisten.
-
Bei
einigen Ausführungsbeispielen
planen die an die Bussteuereinrichtung bereitgestellten Schaltungen
und die Logik dann das Abrufen so vieler isochroner Funktionen in
jedem Soft-Datenblock wie möglich
für Datenkommunikationstransaktionen, vorbehaltlich
der Beschränkung,
daß die
kumulativen Sendezeiten ihrer isochronen Daten geringer als der isochrone
Höchststand
sind. Verbleibende isochrone Funktionen, sofern vorhanden, werden
von der Bussteuereinrichtung wegen des Überschreitens der Buskapazität abgelehnt.
Dann planen die an die Bussteuereinrichtung bereitgestellten Schaltungen
und die Logik das Abrufen der asynchronen Funktionen für Datenkommunikationstransaktionen
und der seriellen Buselemente für
Verbindungsmanagementtransaktionen um das Abrufen der isochronen
Funktionen für
Datenkommunikationstransaktionen herum, vorbehaltlich der Beschränkung, daß die kumulative
Sendezeit jedes Soft-Datenblocks geringer als der Datenblock-Höchststand
ist, wobei bei Notwendigkeit mehrere Soft-Datenblöcke verwendet
werden.
-
Bei
anderen Ausführungsbeispielen
bestimmen die an die Bussteuereinrichtung bereitgestellten Schaltungen
und die Logik ferner die kleinste gemeinsame Aktualisierungsrate,
die von den isochronen Funktionen benötigt wird, basierend auf ihren
jeweiligen Aktualisierungsratenanforderungen. Die Aktualisierungsratenanforderungen
entsprechen den reziproken werten der jeweiligen Latenzzeitanforderungen
der isochronen Funktionen. Bei der Bestimmung der kleinsten gemeinsamen
Aktualisierungsrate der isochronen Funktionen bestimmen die an die Bussteuereinrichtung
bereitgestellten Schaltungen und Logik ferner einen Multiplizierer
für jede
isochrone Funktion, um die benötigte
Aktualisierungsrate der isochronen Funktion auf die kleinste gemeinsame
Aktualisierungsrate multiplikativ zu erweitern. Dann planen die
an die Bussteuereinrichtung bereitgestellten Schaltungen und die
Logik das Abrufen der isochronen Funktionen in mehreren Soft-Datenblöcken für Datenkommunikationstransaktionen – basierend
auf den abgeschnittenen Ver sionen dieser Multiplizierer und vorbehaltlich
der Beschränkung,
daß die
kumulativen Sendezeiten der isochronen Daten jedes Soft-Datenblocks
geringer als das isochrone Höchststand
sind. Ebenso werden verbleibende isochrone Funktionen, sofern vorhanden,
von der Bussteuereinrichtung abgelehnt, wie bei der früher beschriebenen
Methode. Das Abrufen der asynchronen Funktionen für Datenkommunikationstransaktionen und
der seriellen Buselemente für
Verbindungsmanagementtransaktionen wird um das Abrufen der isochronen
Funktionen für
Datenkommunikationstransaktionen herum geplant, wie bei der früher beschriebenen
Methode.
-
Bei
einigen Ausführungsbeispielen
unterstützen
die Bussteuereinrichtung, die Bussignalverteiler und die Busschnittstellen
ebenfalls gemeinsam, daß die
Bussteuereinrichtung einen Anschluß/eine Trennung serieller Buselemente
während
des Betriebs dynamisch erfaßt
und die Verbindungstopologie dynamisch steuert. Für diese
Ausführungsbeispiele passen
die an die Bussteuereinrichtung bereitgestellten Schaltungen und
Logik den datenblockbasierten Abrufplan in Echtzeit auf die gleiche
weise an.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorliegende Erfindung wird anhand von beispielhaften Ausführungsbeispielen,
die aber keine Beschränkungen
darstellen, beschrieben, welche in den zugehörigen Zeichnungen dargestellt
sind, in welchen gleiche Bezugszeichen gleiche Elemente bezeichnen
und wobei:
-
1 ein beispielhaftes Computersystem darstellt,
das die Lehre der vorliegenden Erfindung zum seriellen Bus einbezieht;
-
2 ein Ausführungsbeispiel
der seriellen Busanordnung gemäß 1 in weiteren Einzelheiten
darstellt;
-
3 ein Master/Slave-Modell
der Ablaufsteuerung darstellt, das von der vorliegenden Erfindung
für das
serielle Verbinden der verbundenen Peripherieeinrichtungen mit der Systemeinheit
und für das
Steuern von Transaktionsabläufen
eingesetzt wird;
-
4 einen datenblockbasierten
Abrufplan der vorliegenden Erfindung darstellt, der von einigen Ausführungsbeispielen
zum Abrufen der Slave-„Einrichtungen" implementiert wird;
-
5 die geografische und logische
Adressierung der vorliegenden Erfindung darstellt, die von einigen
Ausführungsbeispielen
für die
Adressierung der seriellen Buselemente und Funktionen der Busagenten
implementiert wird;
-
6 die wesentlichen Elemente
der Kommunikationspakete der vorliegenden Erfindung darstellt, die
von einigen Ausführungsbeispielen
für die Ausführung von
Transaktionen unter Einsatz des Master/Slave-Modells der Ablaufsteuerung
implementiert werden;
-
7 ein Ausführungsbeispiel
der Kabel darstellt, die die seriellen Buselemente unter der vorliegenden
Erfindung physikalisch verbinden;
-
8–9 ein
Ausführungsbeispiel
der Bussteuereinrichtung der vorliegenden Erfindung, einschließlich ihrer
zugeordneten Software, darstellen;
-
10–11 ein
Ausführungsbeispiel
des 1:n Bussignalverteilers der vorliegenden Erfindung, einschließlich seiner
Port-Schaltung, darstellen;
-
12–13 ein
Ausführungsbeispiel
der Busschnittstelle der vorliegenden Erfindung, einschließlich ihrer
Verbinderschaltung, darstellen;
-
14 das Verfahren der geringsten
Latenzzeit der vorliegenden Erfindung zur Erzeugung eines datenblockbasierten
Abrufplans darstellt, der die Latenzzeiten und Bandbreiten der isochronen
Funktionen garantiert;
-
15a–15c die
Verfahrensschritte der vorliegenden Erfindung zur Planung des Abrufens
isochroner Funktionen in einem Soft-Datenblock gemäß dem Verfahren
der geringsten Latenzzeit darstellen;
-
16 ein Ausführungsbeispiel
der Verfahrensschritte der vorliegenden Erfindung zur Planung des
Abrufens asynchro ner Transfers in einem oder mehreren Soft-Datenblöcken gemäß dem Verfahren der
geringsten Latenzzeit darstellt;
-
17a–17c eine
beispielhafte Anwendung des Verfahrens der geringsten Latenzzeit
darstellen;
-
18 das Verfahren der geringsten
Latenzzeit und der kleinsten gemeinsamen Aktualisierungsrate der
vorliegenden Erfindung zur Erzeugen eines datenblockbasierten Abrufplans
darstellt, der die Latenzzeiten und Bandbreiten der isochronen Funktionen
garantiert;
-
19a–19c die
Verfahrensschritte der vorliegenden Erfindung zur Planung des Abrufens
isochroner Funktionen in einem Satz von Soft-Datenblöcken gemäß dem Verfahren
der geringsten Latenzzeit und der kleinsten gemeinsamen Aktualisierungsrate
darstellen;
-
20 die Verfahrensschritte
der vorliegenden Erfindung zur Planung des Abrufens asynchroner
Transfers in einem oder mehreren Sätzen von Soft-Datenblöcken unter
dem Verfahren der geringsten Latenzzeit und der kleinsten gemeinsamen
Aktualisierungsrate darstellt;
-
21a–21b eine
beispielhafte Anwendung des Verfahrens der geringsten Latenzzeit
und der kleinsten gemeinsamen Aktualisierungsrate darstellen.
-
DETAILLIERTE
BESCHREIBUNG
-
In
der folgenden Beschreibung werden zur Erläuterung spezielle Zahlen, Materialien
und Konfigurationen dargelegt, um ein umfassendes Verständnis der
vorliegenden Erfindung zu gewährleisten.
Es wird jedoch für
einen Fachmann erkennbar sein, daß die vorliegende Erfindung
ohne diese speziellen Details ausgeführt werden kann. In anderen
Fällen
werden bekannte Systeme in grafischer oder Blockdiagrammform dargestellt,
um die vorliegende Erfindung nicht zu verschleiern.
-
Hierarchische
serielle Busanordnung für
das serielle Verbinden isochroner und asynchroner Peripherieeinrichtungen
mit einer Systemeinheit eines Computersystems
-
Es
wird nun auf 1 Bezug
genommen; es wird eine Blockdarstellung gezeigt, die ein beispielhaftes
Computersystem darstellt, das die Lehren der vorliegenden Erfindung
zum seriellen Bus einbezieht. Das beispielhafte Computersystem 10 umfaßt eine Systemeinheit 12,
die eine serielle Bussteuereinrichtung 14 der vorliegenden
Erfindung aufweist, 1:n Bussignalverteiler 18 der vorliegenden
Erfindung, wobei jeder n + 1 Ports 24 aufweist, und die
Peripherieeinrichtungen 16 mit den Busschnittstellen 22 der vorliegenden
Erfindung. Die Peripherieeinrichtungen 16 sind mit der
Bussteuereinrichtung 14 der Systemeinheit 12 über die
1:n Bussignalverteiler 18 und die Kabel 20 gekoppelt.
Zusammen bilden die Bussteuereinrichtung 14, die Bussignalverteiler 18,
die Busschnittstellen 22 und die Kabel 20 eine
serielle Busanordnung 26, die die Busagenten, d. h. die
Systemeinheit 12 und die Peripherieeinrichtungen 16, miteinander
verbindet.
-
Die
Kabel 20 sind vorzugsweise kostengünstige Zweisignalleitungskabel 48 und 50 (wie
in 7 dargestellt). Jedoch
sind die Kabel 20 in der Lage, Datenübertragungsgeschwindigkeiten
von bis zu 5 Mbps zu unterstützen.
Des Weiteren werden bei Verwendung derartiger kostengünstiger
Kabel 20 elektrische Signale vorzugsweise über die
Zweisignalleitungen 48 und 50 zwischen den verbundenen
Einrichtungen 14, 18 und 22 auf unterschiedliche
Weise verbreitet. Beispielsweise repräsentiert eine negative Spannungsdifferenz
ein 1-Bit und eine positive Spannungsdifferenz repräsentiert
ein 0-Bit. Für
einige Ausführungsbeispiele
werden die Daten und Steuerzustände
ferner aus den Spannungszuständen und/oder
der Dauer der elektrischen Signale abgeleitet. Eine spezielle Implementierung
der elektrischen Repräsentation
von Daten und Steuerzuständen
mit Spannungszuständen
und/oder Signaldauern wird beschrieben in dem US-Patent 5,621,901
mit dem Titel „Method
And Apparatus For Serial Bus Elements Of An Hierarchical Serial
Bus To Electrically Represent Data And Control States To Each Other", welches hiermit
durch Bezugnahme vollständig
einbezogen ist.
-
Mit
Ausnahme der Bussteuereinrichtung 14 ist die Systemeinheit 12 zur
Darstellung einer breiten Kategorie von Systemeinheiten von Computersystemen
gedacht, deren Aufbau und Funktionen bekannt sind, und die anderweitig
nicht weiter beschrieben werden. Ebenso sind – mit Ausnahme der Busschnittstellen 22 – die Peripherieeinrichtungen 16 zur
Darstellung einer breiten Kategorie von Tisch-Peripherieeinrichtungen – wie beispielsweise
Tastaturen, Mäuse,
Monitore, Lautsprecher, Mikrofone, Telefone – gedacht, deren Aufbau und
Funktionen ebenfalls bekannt sind, und die ebenfalls anderweitig
nicht weiter beschrieben werden. Die Bussteuereinrichtung 14, die
Bussignalverteiler 18 und die Busschnittstellen 22 werden
nachstehend unter zusätzlicher
Bezugnahme auf die verbleibenden Figuren detaillierter beschrieben.
-
2 stellt ein Ausführungsbeispiel
der seriellen Busanordnung von 1 detaillierter
dar. Für dieses
Ausführungsbeispiel
beinhaltet die serielle Busanordnung 26' die Bussteuereinrichtung 14,
einen unabhängigen
1:n Bussignalverteiler 18a, einen integrierten 1:n Bussignalverteiler 18b und
die Busschnittstellen 22a–22f. Die serielle
Busanordnung 26' verbindet
die Busagenten Telefon 16a, zusammengesetzte Tastatur 16b mit
Tastatur-, Stift- und Maus-Funktionen, Monitorschaltung 16c eines
Monitors 28, Lautsprecher 16d–16e und ein Mikrofon 16f mit
der Systemeinheit 12. Zusammen bilden die Systemeinheit 12,
die seriellen Buselemente 14, 18a–18b und 22a–22f und
die verbundenen Peripherieeinrichtungen 16a–16f eine
Hierarchie verbundener Einrichtungen.
-
Gemäß der vorliegenden
Erfindung ist eine Busschnittstelle 22a–22f immer ein Abschlußpunkt. Nur
ein Bussignalverteiler, z. B. 18a, kann einen oder mehrere
Bussignalverteiler, z. B. 18b, und/oder eine oder mehrere
Busschnittstellen, z. B. 16a, haben, die stromaufwärts mit
ihm gekoppelt sind. Für
die Zwecke dieser Offenbarung bedeutet „stromaufwärts" „in Richtung
der Bussteuereinrichtung".
Somit ist es – mit
Ausnahme des degenerierten Falls, wenn die serielle Busanordnung 26 nur
eine Anschlußperipherieeinrichtung 16 hat – üblicherweise
ein Bussignalverteiler, wie beispielsweise 18a, der stromaufwärts mit der
Bussteuereinrichtung 14 verbunden ist.
-
Des
weiteren kann gemäß der vorliegenden Erfindung
eine Anschlußperipherieeinrichtung
eine isochrone Peripherieeinrichtung sein – wie beispielsweise Telefon 16a,
Lautsprecher 16d–16e und
Mikrofon 16f – oder
eine asynchrone Peripherieeinrichtung – wie beispielsweise die zusammengesetzte
Tastatur 16b und Monitor 16c. Die isochronen Peripherieeinrichtungen
können
mit einer Datenübertragungsgeschwindigkeit
von bis zu 5 Mbps operieren, während die
asynchronen Peripherieeinrichtungen mit einer Datenübertragungsgeschwindigkeit
von bis zu 100 kbps operieren können.
Des Weiteren kann eine Anschlußperipherieeinrichtung 16a–16f eine
multifunktionale Peripherieeinrichtung sein, d. h. mehrere Funktionen
werden auf einen einzelnen Busverbindungspunkt abgebildet, der von
einer Busschnittstelle bedient wird, z. B. 22b. Ebenso
kann – obwohl
nicht dargestellt – die
Systemeinheit 12 mehrere Clients unterstützen.
-
3 stellt ein Master/Slave-Modell
der Ablaufsteuerung dar, das von der vorliegenden Erfindung für das serielle
Verbinden der verbundenen Peripherieeinrichtungen mit der Systemeinheit
und für die
Steuerung des Transaktionsablaufes eingesetzt wird. Wie dargestellt,
wirken die Bussteuereinrichtung 14, die Signalbusverteiler 18 und
die Busschnittstellen 22 zusammen, um das Master/Slave-Modell der
Ablaufsteuerung zu implementieren. Die Bussteuereinrichtung 14 dient
als der Master, und die Signalbusverteiler 18 sowie die
Busschnittstellen 22 verhalten sich als Slave-Einrichtungen
gegenüber der
Bussteuereinrichtung 14.
-
Unter
dem Master/Slave-Modell stellt die Bussteuereinrichtung 14 die
Ablaufsteuerung für
alle Datenkommunikationstransaktionen zwischen den Busagenten bei
ihren jeweiligen Betriebsgeschwindigkeiten bereit. Die Busschnittstellen 22 schalten sich
in die Datenkommunikationstransaktionen im Auftrag der Funktionen
der Peripherieeinrichtungen 16 ein. Aber die Busschnittstellen 22 akzeptieren oder übertragen
Daten nur, wenn sie dazu von der Bussteuereinrichtung 14 autorisiert
oder instruiert worden sind (auch bekannt als „abgerufen"). Die Bussignalverteiler 18 dienen
ausschließlich
als Signalverteiler. Sie sind lediglich transparente Leitungen,
wenn von der Bussteuereinrichtung 14 und den Busschnittstellen 22 im
Auftrag der Busagenten Datenkommunikationstransaktionen ausgeführt werden.
Nie nehmen die Bussignalverteiler 18 daher aktiv an Datenkommunikationstransaktionen
teil, akzeptieren Daten oder antworten mit Daten.
-
Die
Bussteuereinrichtung 14 ruft die Funktionen der verbundenen
Peripherieeinrichtungen 16 über ihre Busschnittstellen 22 für Datenübertragungstransaktionen
gemäß einem
Abrufplan systematisch ab, der Latenzzeiten und Bandbreiten für die isochronen
Funktionen der verbundenen Peripherieeinrichtungen 16 garantiert.
Das Abrufen der isochronen Funktionen der verbundenen Peripherieeinrichtungen 16 für Datenübertragungstransaktionen
wird gegenüber
allen anderen Abrufen priorisiert, und so oft, wie es erforderlich
ist, um diese Garantie einzuhalten. Das Abrufen der asynchronen
Funktionen der verbundenen Peripherieeinrichtungen 16 über ihre Busschnittstellen 22 für Datenübertragungstransaktionen
wird um das Abrufen der isochronen Funktionen der verbundenen Peripherieeinrichtungen 16 für Datenübertragungstransaktionen
herum geplant. Vorzugsweise wird der Abrufplan dynamisch an die tatsächlich vorhandenen,
verbundenen Peripherieeinrichtungen 16 angepaßt.
-
Bei
einigen Ausführungsbeispielen
schalten sich die Bussteuereinrichtung 14, die Bussignalverteiler 18 und
die Busschnittstellen 22 ferner in Verbindungsmanagementtransaktionen
ein, wobei dasselbe Master/Slave-Modell für die Ablaufsteuerung eingesetzt
wird. Ebenso stellt die Bussteuereinrichtung 14 die Ablaufsteuerung
für die
Ausführung
von Verbindungsmanagementtransaktionen bei den entsprechenden Betriebsgeschwindigkeiten
der seriellen Buselemente bereit. Die Bussignalverteiler 18 und
die Busschnittstellen 22 reagieren auf die Verbindungsmanagementtransaktionen,
indem sie – je
nach Lage – mit
Steuer-/Zustandsinformationen antworten. Während des Betriebs ruft die
Bussteuereinrichtung 14 die Bussignalverteiler 18 und
die Busschnittstellen 22 für derartige Transaktionen ab.
Das Abrufen der Bussignalverteiler 18 und der Busschnittstellen 22 für Verbindungsmanagementtransaktionen
wird ebenfalls um das Abrufen der isochronen Funktionen der verbundenen
Peripherieeinrichtungen 16 für Datenkommunikationstransaktionen
herum geplant. Vorzugsweise wird der erweiterte Abrufplan ebenfalls dynamisch
an die tatsächlich
vorhandenen seriellen Buselemente angepaßt.
-
4 stellt eine datenblockbasierte
Abrufplanung der vorliegenden Erfindung dar, die von einigen Ausführungsbeispielen
zur Ausführung
der verschiedenen Transaktionen unter Einsatz des Master/Slave-Modells
der Ablaufsteuerung implementiert wird. Wie dargestellt, umfaßt der Abrufplan 30,
der auch als Super-Datenblock bezeichnet wird, eine Reihe von Teilplänen 32,
die auch als Soft-Datenblöcke
bezeichnet werden. Eine isochrone Funktion 34a oder 34b einer
verbundenen Peripherieeinrichtung 16 wird so oft wie nötig in einem
oder mehreren Soft-Datenblöcken 32 des
Super-Datenblocks 30 abgerufen, um ihre Latenzzeit und
Bandbreite zu garantieren. Eine asynchrone Funktion 36a oder 36b wird jedoch
nur einmal in einem Soft-Datenblock 32 des Super-Datenblocks 30 für eine Datenkommunikationstransaktion
abgerufen. Ebenso wird eine verbundene Einrichtung 38a oder 38b ebenfalls
nur einmal in einem Soft-Datenblock 32 des
Super-Datenblocks 30 für
eine Verbindungsmanagementtransaktion abgerufen.
-
Vorzugsweise
werden alle isochronen Funktionen 34a–34b innerhalb eines
ersten Prozentanteils (P1) eines Soft-Datenblocks 32 abgerufen,
um zu gewährleisten,
daß Latenzzeit-
und Bandbreitengarantien eingehalten werden. Isochrone Funktionen,
die nicht in P1 aufgenommen werden können, werden vorzugsweise wegen
unzureichender Kapazität
zurückgewiesen.
Das obere Begrenzungssymbol (M1) von P1 wird auch als der isochrone
Höchststand
bezeichnet. Ebenso werden vorzugsweise alle Abrufe in einem zweiten
Prozentanteil (P2) eines Soft-Datenblocks 32 abgerufen,
um die Zuverlässigkeit
des Betriebs zu gewährleisten.
Mehrere Soft-Datenblöcke 32 werden,
sofern erforderlich, zur Ermöglichung
des Abrufens aller asynchronen Funktionen und seriellen Buselemente
eingesetzt. Das obere Begrenzungssymbol (M2) von P2 wird auch als
der Datenblock-Höchststand
bezeichnet.
-
Verschiedene
Arten, auf welche ein derartiger datenblockbasierter Abrufplan dynamisch
erzeugt und aktualisiert werden kann, werden nachstehend detaillierter
beschrieben.
-
5 stellt die geografische
und logische Adressierung der vorliegenden Erfindung dar, die von einigen
Ausführungsbeispielen
für die
Adressierung der seriellen Buselemente und der Funktionen der Busagenten
implementiert wird. Der einfachen Erklärung halber wird dieselbe beispielhafte
serielle Busanordnung von 2 verwendet.
Aber die Bussteuereinrichtung 14 wird als Host, auch Hub0
bzw. Netzknoten0 genannt, bezeichnet. Die Bussignalverteiler 18a–18b werden
als Netzknoten1 und Netzknoten2 bezeichnet. Die Peripherieeinrichtungen 16a–16f einschließlich ihrer
entsprechenden Busschnittstellen 22a–22f werden gemeinsam
als Knoten0 bis Knoten6 bezeichnet. Die Funktionen der Peripherieeinrichtungen 16a–16f werden
als FN0, FN1 etc. bezeichnet.
-
Wie
dargestellt, sind den seriellen Buselementen und Funktionen der
Busagenten geografische sowie logische Adressen (GEO ADDR & LOG ADDR) eines
geografischen und logischen Adreßraums zugewiesen. Im Einzelnen
sind den Netzknoten 14, 18a–18b und den Knoten 22a–22f GEO ADDR
zugewiesen, während
den Funktionen der Knoten 16a–16f LOG ADDR zugewiesen
sind. Vorzugsweise können
die Netzknoten-Identität
sowie der stromaufwärts
gelegene Port des Netzknotens aus der GEO ADDR eines Netzknotens 14 und 18a–18b abgeleitet
werden, und der Anschluß-Netzknoten
sowie der Anschluß-Port
des Anschluß-Netzknotens
können
aus der GEO ADDR eines Knotens 22a–22f abgeleitet werden.
Bei einem Ausführungsbeispiel
sind die LOG ADDR den Funktionen der Knoten 16a–16f chronologisch
zugewiesen.
-
Beispielsweise
sind in der dargestellten beispielhaften Anwendung Netzknoten1 und Netzknoten2 18a und 18b die
GEO ADDR von „Netzknoten1:Port0" bzw. „Netzknoten2:Por0" zugewiesen, die
die Netzknoten 18a und 18b als „Netzknoten1" bzw. „Netz knoten2" identifizieren,
und in jedem Fall ist der stromaufwärts gelegene Port „Port0". Knoten1 und Knoten4 22b und 22e sind
die GEO ADDR von „Netzknoten1:Port2" bzw. „Netzknoten2:Port3" zugewiesen, die
die Anschluß-Netzknoten 18a und 18b als „Netzknoten1" bzw. „Netzknoten2" und die Anschluß-Ports der Anschluß-Netzknoten 18a und 18b als „Port2" bzw. „Port3" identifizieren.
Den Funktionen von Knoten1 16b sind die LOG ADDR von „LA1", „LA2" und „LA3" zugewiesen, während der
Funktion von Knoten4 16e die LOG ADDR von „LA6" zugewiesen ist.
-
Vorzugsweise
werden die GEO ADDR und die LOG ADDR von der Bussteuereinrichtung 14 im Zusammenwirken
mit den Bussignalverteilern 18 und den Busschnittstellen 22 beim
Einschalten oder Reset dynamisch zugewiesen und als Reaktion auf
eine direkte Trennung verbundener Einrichtungen oder einen Anschluß zusätzlicher
Einrichtungen aktualisiert. Eine spezielle Implementierung eines
derartigen dynamischen Verbindungsmanagements wird beschrieben in
US-Patent 5,623,610 mit dem Titel „System for Assigning Geographical
Addresses in a Hierarchical Serial Bus By Enabling Upstream Port
and Selectively Enabling Disabled Ports at Power On/Reset".
-
Für diese
Ausführungsbeispiele
werden die GEO ADDR zur Ausführung
von Verbindungsmanagementtransaktionen zwischen den seriellen Buselementen
verwendet, während
die LOG ADDR zur Ausführung
von Datenkommunikationstransaktionen zwischen den Funktionen der
Busagenten verwendet werden. Die Trennung der zwei Transaktionsarten
in zwei separate Adreßräume ermöglicht das
dynamische Verbindungsmanagement der seriellen Buselemente ohne
die Notwendigkeit, die Dienste für
die Funktionen der Busagenten zu unterbrechen.
-
6 stellt die wesentlichen
Elemente der Kommunikationspakete der vorliegenden Erfindung dar,
die von einigen Ausführungsbeispielen
für die Ausführung der
verschiedenen Transaktionen unter Einsatz des Master/Slave-Modells
der Ablaufsteuerung implementiert werden. Für diese Ausführungsbeispiele
werden Paketidentifizierer 44 zur Unterscheidung der Steuerpakete
von den Datenpaketen eingesetzt. Steuerpakete sind Pakete, die von
der Bussteuereinrichtung 14 eingesetzt werden, um die Bussignalverteiler 18 und
die Busschnittstellen 22 zu autorisieren oder zu instruieren,
sich in Transaktionen einzuschalten. Steuerpakete können auch
Pakete beinhalten, die von den Bussignalverteilern 18 und den
Busschnittstellen 22 zur Bestätigung der Autorisierungen
oder Instruktionen von der Bussteuereinrichtung 14 eingesetzt
werden. Des weiteren werden die Adressen 46 je nach Lage
zur Identifizierung der Transaktionsparteien eingesetzt. Wie deutlich
wird, kann unter dem Master/Slave-Modell der Ablaufsteuerung die
Bussteuereinrichtung 14 als ein Transaktionsteilnehmer
häufig
abgeleitet werden, und daher kann ihre Adresse weggelassen werden.
-
Vorzugsweise
kann der Transaktionsablauf, wie beispielsweise von der Bussteuereinrichtung 14 zu
einer Funktion, von einer ersten Funktion zu einer zweiten Funktion,
von den Paketidentifizierern 44 abgeleitet werden. Vorzugsweise
können
entweder geografische oder logische Adressen 46, d. h. „NetzknotenX:Port:Y" oder „LAz" spezifiziert werden,
um solche Ausführungsbeispiele
zu ermöglichen,
die Verbindungsmanagementtransaktionen unterstützen und beide Adreßtypen implementieren.
-
Eine
spezielle Implementierung des Einsatzes derartiger Kommunikationspakete
zur Ausführung
der verschiedenen Transaktionen wird beschrieben in US-Patent 5,623,610
mit dem Titel „Method And
Apparatus For Exchanging Data, Status And Commands Over An Hierarchical
Serial Bus Assembly Using Communication Packets".
-
8–9 stellen
ein Ausführungsbeispiel
der Bussteuereinrichtung der vorliegenden Erfindung dar. Bei diesem
Ausführungsbeispiel
beinhaltet die Bussteuereinrichtung 14 einen Steuerautomat
und -schaltungen 52, ein Steuer/Zustandsregister 54,
Datenpuffer 56 und Bussteuereinrichtungs-Softwaredienste 58.
Die Steuer/Zustandsregister 54 werden zum Speichern der
verschiedenen Steuer- und Zustandsdaten verwendet. Beispielsweise
die vorhandenen seriellen Buselemente, ihre Verbindungstopologie,
die Funktionen der verschiedenen verbundenen Peripherieeinrichtungen,
die geografischen Adressen, die den seri ellen Buselementen zugewiesen
sind, die logischen Adressen, die den Funktionen der verbundenen
Peripherieeinrichtungen zugewiesen sind. Die Datenpuffer 56 werden
zum Puffern der Daten der Datenkommunikationstransaktionen zwischen
den Busagenten verwendet. Steuerautomat und -schaltungen 52 steuern
die Hardware, indem sie Datenkommunikationstransaktionen steuern
und das oben beschriebene Master/Slave-Modell der Ablaufsteuerung
einsetzen, unter Programmierung der Bussteuereinrichtungs-Softwaredienste 58.
Für einige
Ausführungsbeispiele
steuern Steuerautomat und -schaltungen 52 ferner die Hardware,
indem sie die Verbindungsmanagementtransaktionen steuern, das Master/Slave-Modell
der Ablaufsteuerung mit dem datenblockbasierten Abrufplan implementieren,
geografische und logische Adressierung einsetzen, kommunikationspaketbasierte
Transaktionen unterstützen
und/oder die Ableitung von Daten und Steuerzuständen aus den Zuständen der
verbreiteten elektrischen Signale. Im Einzelnen veranlassen Steuerautomat
und -schaltungen 52 die Bussteuereinrichtung 14,
mit den Bussignalverteilern 18 und den Busschnittstellen 22 zusammenzuwirken
und die Schritte zur Erzeugung und Aufrechterhaltung des datenblockbasierten
Abrufplans der vorliegenden Erfindung auszuführen, was nachstehend detaillierter
beschrieben wird.
-
Die
Bussteuereinrichtungs-Softwaredienste 58 programmieren
Steuerautomat und -schaltungen 52, die auf das Betriebssystem 60 reagieren,
und andere Software, wie beispielsweise die Einrichtungs- und Konfigurationssoftware 62 und 64 der
Systemeinheit 12. Insbesondere beinhalten die Dienste das
Verbindungsmanagement, wie beispielsweise die Erfassung der vorhandenen
seriellen Buselemente, die Erfassung ihrer Verbindungstopologie,
die Erfassung der Funktionen der verbundenen Peripherieeinrichtungen
und die Zuweisung der geografischen und logischen Adressen. Die
Dienste beinhalten ferner das Transaktionsmanagement, wie beispielsweise
die Erzeugung und Aufrechterhaltung des Abrufplans, das Abrufen
der seriellen Buselemente und der Funktionen der Busagenten, die
Bestätigung
bestimmter Reaktionen der seriellen Buselemente und der Funk tionen
der Busagenten und den Austausch von Daten mit den Funktionen der
Busagenten.
-
Für eine detailliertere
Beschreibung der Bussteuereinrichtungs-Hardware und der Bussteuereinrichtungs-Softwaredienste 58 wird
auf die US-Patente 5,623,610, 5,909,556 und 5,621,901 verwiesen.
-
Es
sei angemerkt, daß die
Zuweisung der Funktionen für
die Hardware und die Softwaredienste der Bussteuereinrichtung 14 implementierungsabhängig ist.
Die vorliegende Erfindung kann mit jeder beliebigen Anzahl von Zuweisungen,
die von minimaler Hardwareverwendung bis zum minimalen Einsatz von
Softwarediensten reichen, ausgeführt
werden.
-
10–11 stellen
ein Ausführungsbeispiel des
Bussignalverteilers der vorliegenden Erfindung dar. Das dargestellte
Ausführungsbeispiel
ist ein 1:7 Bussignalverteiler 18' mit einer Steuerschaltung 66, Steuerregistern 68 und
8 Ports 24. Port 0 24 wird zur Verbindung des
Bussignalverteilers 18' stromaufwärts zur
Bussteuereinrichtung 14 oder einem anderen Bussignalverteiler 18 verwendet.
Ports 1–7
werden zur Verbindung von insgesamt bis zu 7 Bussignalverteilern 18 und/oder
Busschnittstellen 22 mit sich selbst verwendet. Die Steuerregister 68 werden zum
Speichern eigener Steuer- und Zustandsinformationen – wie beispielsweise,
ob ein Port 24 über eine
mit ihm verbundene Busschnittstelle 22 verfügt oder
nicht, und ob Port 24 EIN/AUSgeschaltet ist – verwendet.
Die Steuerschaltung 66 steuert den Bussignalverteiler 18' als Reaktion
auf Instruktionen von der Bussteuereinrichtung 14. Insbesondere
veranlaßt
die Steuerschaltung 66 den Bussignalverteiler 18,
mit der Bussteuereinrichtung 14 zusammenzuwirken und die
Schritte zur Erzeugung und Aufrechterhaltung des datenblockbasierten
Abrufplans der vorliegenden Erfindung auszuführen, was nachstehend detaillierter
beschrieben wird.
-
Bei
Ausführungsbeispielen,
bei welchen die kostengünstigen
Zweisignalleitungskabel 20 zur Verbindung der seriellen
Buselemente verwendet werden, und elektrische Signale vorzugsweise
auf eine unterschiedliche Weise verbreitet werden, weist jeder Port 24 zwei
Differenzverstärker 70 und 72 zur
Erzeugung der Differenzsignale auf. Vorzugsweise hat jeder Port 24 ferner
zwei Widerstände 74,
die mit Masse verbunden sind, wie dargestellt, die die Signale auf
den zwei Leitungen auf Masse ziehen, wodurch die Unterscheidbarkeit
des Nichtvorhandenseins oder Vorhandenseins einer verbundenen Busschnittstelle 22 ermöglicht wird.
Die entsprechenden Werte der Widerstände 74 können in
Abhängigkeit
von den einzelnen Implementierungen empirisch bestimmt werden.
-
Für eine detailliertere
Beschreibung des Bussignalverteilers 18 wird auf US-Patent
5,623,610 verwiesen.
-
12–13 stellen
ein Ausführungsbeispiel der
Busschnittstellen der vorliegenden Erfindung dar. Für dieses
Ausführungsbeispiel
umfaßt
die Busschnittstelle 22 die Steuerschaltung 80,
die Steuer/Zustandsregister 82, eine Verbinderschnittstelle 84 und
zwei FIFOs 76-78, ein Empfangs-FIFO 76 und
ein Sende-FIFO 78. Die Empfangs- und Sende-FIFOs 76-78 werden
verwendet, um die Empfangs- und Sendedaten für Datenkommunikationstransaktionen
bereitzustellen. Die Steuer/Zustandsregister 68 werden
zum Speichern ihrer eigenen Steuer- und Zustandsinformationen – wie beispielsweise
zugewiesene geografische Adressen, Funktionen der „Host"-Peripherieeinrichtung
und ihrer zugewiesenen logischen Adressen – verwendet. Die Steuerschaltung 66 steuert
die Busschnittstelle 22 im Auftrag der „Host"-Peripherieeinrichtung und der Funktionen
der „Host"-Peripherieeinrichtung,
die auf die Autorisierungen und Instruktionen von der Bussteuereinrichtung 14 reagiert.
Insbesondere veranlaßt
die Steuerschaltung 66 die Busschnittstelle 22,
mit der Bussteuereinrichtung 14 zusammenzuwirken und die Schritte
zur Erzeugung und Aufrechterhaltung des datenblockbasierten Abrufplans
der vorliegenden Erfindung auszuführen, wie nachstehend detaillierter beschrieben
wird.
-
Bei
Ausführungsbeispielen,
bei welchen die kostengünstigen
Zweisignalleitungskabel 20 zur Verbindung der seriellen
Buselemente verwendet werden, und elektrische Signale vorzugsweise
auf eine unterschiedliche Weise verbreitet werden, weist die Verbinderschnittstelle 84 zwei
Differenzverstärker 86 und 88 zur
Erzeugung der Differenzsignale auf. Vorzugsweise ent hält die Verbinderschnittstelle 84 ferner
zwei Widerstände 90,
die mit Vcc gekoppelt sind, wie dargestellt, die die Signale auf
den zwei Leitungen auf Vcc ziehen, komplementär zur Port-Schaltung eines Anschlußbussignalverteilers 18.
Die entsprechenden Werte der Widerstände 90 können ebenfalls
in Abhängigkeit
von den einzelnen Implementierungen empirisch bestimmt werden.
-
Für eine detailliertere
Beschreibung der Busschnittstelle 22 wird auf die US-Patente
5,623,610, 5,909,556 und 5,621,901 verwiesen.
-
Erzeugung
und Aufrechterhaltung des datenblockbasierten Abrufplans
-
Nachdem
nun die hierarchische serielle Busanordnung 26 und die
Art und Weise beschrieben wurden, auf welche ihre Elemente zur seriellen
Verbindung der isochronen und asynchronen Peripherieeinrichtungen 16 mit
der Systemeinheit 12 des beispielhaften Computersystems 10 zusammenwirken, werden
nun die Schritte der Erzeugung und Aufrechterhaltung des datenblockbasierten
Abrufplans der vorliegenden Erfindung, welche von den seriellen
Buselementen ausgeführt
werden, im Detail beschrieben.
-
14 stellt das Verfahren
der geringsten Latenzzeit der vorliegenden Erfindung zur Erzeugung
eines datenblockbasierten Abrufplans dar, der Latenzzeiten und Bandbreiten
der isochronen Funktionen garantiert. Wie dargestellt, bestimmt
beim Einschalten oder beim Reset die Bussteuereinrichtung 14 im
Zusammenwirken mit den anderen seriellen Buselementen die Latenzzeitanforderung
jeder isochronen Funktion, Schritt 302, stellt die Größe des Soft-Datenblocks
auf die geringste Latenzzeitanforderung ein, Schritt 304,
berechnet den isochronen Höchststand
für den
Soft-Datenblock, Schritt 304, und bestimmt die Sendezeiten
der isochronen Daten und aller asynchronen Transfers, Schritt 306.
Die Latenzzeitanforderung einer isochronen Funktion ist von der
Warteschlangentiefe und der Warteschlangenabbaurate der isochronen
Peripherieeinrich tung abhängig. Üblicherweise
wird auch ein Zuverlässigkeitsbereich
eingesetzt.
-
Vorzugsweise
werden die Latenzzeitanforderungen der isochronen Funktionen und
die Sendezeiten der isochronen Daten und asynchronen Transfers von
den verbundenen Peripherieeinrichtungen als ein integraler Bestandteil
des Einschalt-/Reset-Initialisierungsprozesses
erfaßt.
Alternativ können
die Latenzzeitanforderungen und die Sendezeiten nach der Initialisierung
bei Verbindungsmanagementtransaktionen erfaßt werden.
-
Wenn
die Größe des Soft-Datenblocks
festgelegt worden ist, der isochrone Höchststand berechnet worden
ist, und die Sendezeiten der isochronen Daten und der asynchronen
Transfers bestimmt worden sind, plant die Bussteuereinrichtung 14 so viele
Abrufe der isochronen Funktionen wie möglich in einem Soft-Datenblock,
vorbehaltlich der Beschränkung,
daß die
kumulativen Sendezeiten der geplanten isochronen Funktionen geringer
als der isochrone Höchststand
sind, Schritt 308. Verbleibende isochrone Funktionen, sofern
vorhanden, werden von der Bussteuereinrichtung 14 wegen
der Überschreitung
der Buskapazität
abgelehnt. Somit wird garantiert, daß jede geplante isochrone Funktion
mit einer Häufigkeit
abgerufen wird, die ausreichend ist, um ihrer Latenzzeitanforderung
zu entsprechen, und bei jedem Abruf wird garantiert, daß sie mit
einer Bandbreite abgerufen wird, die ausreichend für ihre Sendezeit
ist.
-
Der
Soft-Datenblock, der zur Planung der isochronen Funktionen verwendet
wird, wird auch als der Basis-Soft-Datenblock bezeichnet. Die Art
und Weise, auf welche der Planungsschritt der isochronen Funktionen
ausgeführt
wird, wird nachstehend unter zusätzlicher
Bezugnahme auf 15a–15c detaillierter beschrieben.
-
Nachdem
das Abrufen der isochronen Funktionen geplant worden ist, bestimmt
die Bussteuereinrichtung 14 die Anzahl der benötigten asynchronen
Transfers, d. h. die Anzahl der abzurufenden asynchronen Funktionen,
die Anzahl der abzurufenden Verbindungsmanagementtransaktionen,
um einen Anschluß/eine
Trennung serieller Buselemente etc. während des Betriebs zu erfassen,
Schritt 310. Die Bussteuereinrichtung 14 bestimmt ferner
den Betrag der asynchronen Transferzeit, die pro Soft-Datenblock verfügbar ist,
indem die kumulative Sendezeit der geplanten isochronen Funktionen
von dem Anteil des Datenblock-Höchststands
eines Soft-Datenblocks subtrahiert wird, Schritt 312. Schließlich plant
die Bussteuereinrichtung 14 die asynchronen Transfers in
einem oder mehreren Soft-Datenblöcken um
das Abrufen der isochronen Funktionen herum, Schritt 314.
Der verbleibende Anteil über
den Datenblock-Höchststand
hinaus ist reserviert, um die Zuverlässigkeit des Betriebs zu gewährleisten.
Die Art und Weise, auf welche der Planungsschritt der asynchronen
Transfers ausgeführt
wird, wird ebenfalls nachstehend unter zusätzlicher Bezugnahme auf 16 detaillierter beschrieben.
-
Bei
einigen Ausführungsbeispielen
wird der oben beschriebene Prozeß bei der Erfassung eines Anschlusses/einer
Trennung serieller Buselemente während
des Betriebs wiederholt, womit der datenblockbasierte Abrufplan
dynamisch in Echtzeit an die tatsächlich vorhandenen seriellen
Buselemente angepaßt
wird. Die Art und Weise, auf welche Schritt 308 ausgeführt wird,
ist geringfügig
anders, wenn der Prozeß als
Reaktion auf einen Anschluß/eine
Trennung serieller Buselemente während
des Betriebs wiederholt wird. Diese Unterschiede werden deutlich werden,
wenn Schritt 308 nachstehend detaillierter beschrieben
wird.
-
15a–15c stellen
die Verfahrensschritte der vorliegenden Erfindung zur Planung des
Abrufens isochroner Funktionen in einem Soft-Datenblock gemäß dem Verfahren
der geringsten Latenzzeit dar. Zu Anfang bestimmt die Bussteuereinrichtung 14,
ob sie den ersten Abrufplan erzeugt, Schritt 316, d. h., ob
sie beim Einschalten/Reset oder als Reaktion auf einen Anschluß/eine Trennung
serieller Buselemente während
des Betriebs plant. Wenn die Planung für den ersten Plan ausgeführt wird,
geht die Bussteuereinrichtung 14 unverzüglich dazu über, eine der isochronen Funktionen
für die
Planung auszuwählen, Schritt 318.
Die Auswahl kann willkürlich
oder basierend auf einigen Prioritätsmodellen erfolgen. Als Nächstes bestimmt
die Bussteuereinrichtung 14, ob die Planung der ausgewählten isochronen
Funktion dazu führt,
daß die
kumulative Sendezeit der geplanten isochronen Funktionen den isochronen
Höchststand überschreitet,
Schritt 320. Wenn die Planung nicht dazu führen würde, daß die kumulative
Sendezeit den isochronen Höchststand überschreitet,
plant die Bussteuereinrichtung 14 die isochrone Funktion und
addiert die Sendezeit ihrer isochronen Daten zu der kumulativen
Sendezeit der geplanten isochronen Funktionen hinzu, Schritt 324.
-
Bei
der Planung der isochronen Funktion prüft die Bussteuereinrichtung 14,
um zu festzustellen, ob es weitere Abrufe isochroner Funktionen
gibt, die geplant werden müssen,
Schritt 326. Wenn weitere Abrufe isochroner Funktionen
geplant werden müssen,
kehrt die Bussteuereinrichtung 14 zu Schritt 318 zurück, andernfalls
ist die Planung der isochronen Funktionen abgeschlossen.
-
Immer
dann, wenn die Bussteuereinrichtung 14 bei Schritt 320 feststellt,
daß die
Planung einer ausgewählten
isochronen Funktion dazu führen
würde,
daß die
kumulative Sendezeit der geplanten isochronen Funktionen den isochronen
Höchststand überschreitet,
lehnt die Bussteuereinrichtung 14 die ausgewählte isochrone
Funktion ab und beendet die Planung, Schritt 328. Vorzugsweise
erzeugt die Bussteuereinrichtung 14 eine Fehlerbedingung,
die anzeigt, daß die
Buskapazität überschritten
worden ist, und identifiziert alle ungeplanten isochronen Funktionen,
Schritt 328.
-
Schon
bei Schritt 316, wenn die Bussteuereinrichtung 14 bestimmt,
daß der
Prozeß nicht
ausgeführt
wird, um den ersten Abrufplan zu erzeugen, d. h., daß er ausgeführt wird,
um den Abrufplan dynamisch anzupassen, bestimmt die Bussteuereinrichtung 14 ferner,
ob die geringste Latenzzeit geringer als die Größe des „alten" Soft-Datenblocks oder gleich derselben
ist, Schritt 330. Wenn die geringste Latenzzeit geringer
als die Größe des „alten" Soft-Datenblocks
oder gleich derselben ist, geht die Bussteuereinrichtung 14 zu
Schritt 332 weiter, andernfalls setzt sie mit Schritt 352 fort.
-
Es
wird nun mit 15b fortgesetzt;
bei Schritt 332 löscht
die Bussteuereinrichtung 14 jegliche isochronen Funk tionen,
welche den Dienst des Abrufplans nicht mehr benötigen. Dann plant die Bussteuereinrichtung 14 alle
verbleibenden „alten" isochronen Funktionen
neu und kumuliert ihre Sendezeiten, wie früher beschrieben wurde, Schritt 334.
Als Nächstes
stellt die Bussteuereinrichtung 14 fest, ob der isochrone
Höchststand überschritten
worden ist oder nicht, Schritt 336. Wenn der isochrone
Höchststand überschritten
worden ist, legt die Bussteuereinrichtung 14 die Größe des Soft-Datenblocks
und den entsprechenden isochrone Höchststand neu fest – mit Ausnahme
der isochronen Funktion, die die geringste Latenzzeit ergeben hat,
Schritt 338. Die Bussteuereinrichtung 14 wiederholt
die Schritte 334–338, bis
sie bei Schritt 336 feststellen kann, daß alle verbleibenden
alten isochronen Funktionen unter dem isochronen Höchststand
eines Soft-Datenblocks erfolgreich neu geplant worden sind.
-
Die
Bussteuereinrichtung 14 geht dann zu den Schritten 340–350 weiter.
Mit Ausnahme von Schritt 348 sind die Schritte 340–350 mit
den früher beschriebenen
Schritten 320–328 identisch.
Der zusätzliche
Schritt 348 wird ausgeführt,
um zu veranlassen, daß die
Fehlerbedingung in Schritt 350 ebenfalls für den Fall
erzeugt wird, daß die „erfolgreiche" Anpassung des Abrufplans
den Ausschluß einer
oder mehrerer neuer isochroner Funktionen mit geringen Latenzzeiten
früher
bei Schritt 338 erforderlich machte, damit sich die endgültige „erfolgreiche" Größe des Soft-Datenblocks
ergibt.
-
Es
wird nun mit 15c fortgesetzt;
es sei daran erinnert, daß die
Bussteuereinrichtung 14 mit Schritt 352 fortsetzt,
wenn sie schon bei Schritt 330 entschieden hat, daß die geringste
Latenzzeit größer als
die Größe des „alten" Soft-Datenblocks ist.
Die Schritte 352 und 354 sind dieselben wie die
früher beschriebenen
Schritte 332 und 334. Jedoch sind bei der Neuplanung
der alten isochronen Funktionen in Schritt 354 Schritte
wie die früher
beschriebenen Schritte 336 und 338 nicht erforderlich,
da schon bei Schritt 330 festgestellt wurde, daß die geringste
Latenzzeit größer als
die Größe des „alten" Soft-Datenblocks
ist. Somit ist es nicht möglich,
daß die
Bussteuereinrichtung 14 versäumt, die alten isochronen Funktionen
unter dem isochronen Höchststand
des Soft-Datenblocks zu planen. Dann geht die Bussteuereinrichtung 14 dazu über, die
neuen isochronen Funktionen in den Schritten 356–364 zu
planen. Die Schritte 356–364 sind mit den
früher
beschriebenen Schritten 318–328 identisch.
-
16 stellt ein Ausführungsbeispiel
der Verfahrensschritte der vorliegenden Erfindung zur Planung des
Abrufens asynchroner Transfers in einem oder mehreren Soft-Datenblöcken gemäß dem Verfahren
der geringsten Latenzzeit dar. Bei diesem dargestellten Ausführungsbeispiel
werden die Abrufe der asynchronen Transfers nach Gruppen geplant. Spezielle
Beispiele für
asynchrone Transfergruppen sind Anrufanforderungen, Managementabfragen
und dergleichen. Es ist jedoch klar, daß die vorliegende Erfindung
ausgeführt
werden kann, ohne die Planung der asynchronen Transfers nach Gruppen
auszuführen.
-
Gemäß dem dargestellten
Ausführungsbeispiel
wählt die
Bussteuereinrichtung 14 zuerst eine bestimmte asynchrone
Transfergruppe für
die Planung aus, Schritt 366. Dann wählt die Bussteuereinrichtung 14 einen
asynchronen Transfer für
die Planung aus. Erneut kann jede Auswahl willkürlich oder unter Verwendung
einiger Prioritätsmodelle
erfolgen. Beim Auswählen
eines asynchronen Transfers für
die Planung stellt die Bussteuereinrichtung 14 fest, ob die
Planung des ausgewählten
asynchronen Transfers dazu führen
würde,
daß die
kumulative Sendezeit aller geplanten Funktionen/Transfers den Datenblock-Höchststand überschreitet, Schritt 370.
Wenn die Planung nicht dazu führen
würde,
daß der
Datenblock-Höchststand überschritten
wird, plant die Bussteuereinrichtung 14 den ausgewählten asynchronen Transfer,
Schritt 372. Wenn andererseits die Planung dazu führen würde, daß der Datenblock-Höchststand überschritten
wird, fügt
die Bussteuereinrichtung 14 einen weiteren Basis-Datenblock
hinzu, d. h. einen neuen Soft-Datenblock mit ähnlich geplanten isochronen
Funktionen, Schritt 374, bevor der ausgewählte asynchrone
Transfer geplant wird, Schritt 372.
-
Bei
der Planung des ausgewählten
asynchronen Transfers stellt die Bussteuereinrichtung 14 fest,
ob innerhalb der aus gewählten
asynchronen Transfergruppe noch weitere asynchrone Transfers zu
planen sind, Schritt 376. Wenn noch weitere asynchrone
Transfers zu planen sind, wiederholt die Bussteuereinrichtung 14 die
Schritte 368–372,
bis bei Schritt 376 festgestellt wird, daß alle asynchronen Transfers
in der ausgewählten
asynchronen Transfergruppe geplant worden sind. Dann bestimmt die Bussteuereinrichtung 14,
ob noch weitere asynchrone Transfergruppen zu planen sind, Schritt 378. Wenn
noch weitere asynchrone Transfergruppen zu planen sind, wiederholt
die Bussteuereinrichtung 14 die Schritte 366–376,
bis bei Schritt 378 festgestellt wird, daß alle asynchronen
Transfergruppen geplant worden sind.
-
17a–17c stellen
eine beispielhafte Anwendung des Verfahrens der geringsten Latenzzeit dar.
Wie in 17a gezeigt,
beinhaltet bei dieser beispielhaften Anwendung die Bustopologie
den Host, einen Netzknoten, vier Knoten mit fünf Funktionen. Die fünf Funktionen
enthalten drei isochrone Funktionen – d. h. CD, eine ISDN-T1-Leitung
und einen Sprach-Kanal – und
zwei asynchrone Funktionen – d. h.
Maus und Tastatur. Zusätzlich
müssen
auch asynchrone Transfers für
das Verbindungsmanagement (GEO-Abruf), Anrufanforderungen und Managementabfragen
aufgenommen werden. Die Latenzzeiten der isochronen Funktionen und
die Sendezeiten der isochronen Daten sowie der asynchronen Transfers werden
in Tabelle 380 zusammengefaßt.
-
Wie
in 17b gezeigt, bestimmt
die Bussteuereinrichtung 14 zuerst, daß die Latenzzeiten der drei
isochronen Funktionen – CD,
ISDN T1 und Sprache – 364 μs, 667 μs beziehungsweise
727 μs betragen,
Schritt 302a. Somit wird bestimmt, daß die geringste Latenzzeit
364 μs beträgt; die
Größe des Soft-Datenblocks wird
auf 364 μs
eingestellt; und es wird berechnet, daß der isochrone Höchststand
273 μs beträgt (unter
Verwendung einer beispielhaften Nutzungsrate von 75%), Schritt 304a.
Es wird bestimmt, daß die
Sendezeiten der isochronen Daten und der asynchronen Transfers 114 μs für CD Audio, 37,2 μs für ISDN-T1-Daten, 37,2 μs für Sprachdaten etc.
etc. betragen, Schritt 306a. Unter Anwendung der in den 15a–15c dargestellten
Verfahrensschritte werden die isochronen Funktionen – CD Audio,
ISDN T1 und Sprache – alle
erfolgreich in einen Basis-Soft-Datenblock
geplant, wie gezeigt, da die kumulative Sendezeit ihrer isochronen
Daten 188,4 μs
beträgt,
was geringer als 273 μs – der isochrone Höchststand – ist, Schritt 308a.
-
Als
Nächstes
stellt die Bussteuereinrichtung 14 fest, daß Abrufe
für zwei
asynchrone Funktionen, fünf
Verbindungsmanagementtransaktionen (GEO-Abruf), eine Anrufanforderung
und drei Managementabfragen benötigt
werden, Schritt 310. Ferner stellt die Bussteuereinrichtung 14 fest,
daß ungefähr 130 μs pro Soft-Datenblock für asynchrone Transfers
verfügbar
sind (unter Verwendung einer beispielhaften Nutzungsrate von 95%),
Schritt 312a. Nach der Feststellung der pro Soft-Datenblock
verfügbaren
Sendezeit plant die Bussteuereinrichtung 14 dann die erforderlichen
asynchronen Transfers unter Verwendung von fünf Basis-Soft-Datenblöcken, wie
dargestellt, Schritt 314a. Der resultierende Abrufpan für diese
beispielhafte Anwendung wird in 17c gezeigt.
-
18 stellt das Verfahren
der geringsten Latenzzeit und der kleinsten gemeinsamen Aktualisierungsrate
der vorliegenden Erfindung zur Erzeugen eines datenblockbasierten
Abrufplans dar, der die Latenzzeiten und Bandbreiten der isochronen Funktionen
garantiert. Die ersten drei Schritte, d. h. Schritte 382–386,
sind mit den ersten drei Schritten, den Schritten 302–306,
des früher
beschriebenen Verfahrens der geringsten Latenzzeit identisch. Jedoch
berechnet während
des aktuellen Verfahrens bei der Ausführung der ersten drei Schritte
die Bussteuereinrichtung 14 ferner die Aktualisierungsratenanforderungen
der isochronen Funktionen, Schritt 388. Die Aktualisierungsratenanforderung
jeder isochronen Funktion entspricht dem reziproken Wert ihrer Latenzzeitanforderung.
Als Nächstes
bestimmt die Bussteuereinrichtung 14 die kleinste gemeinsame
Aktualisierungsrate der isochronen Funktionen und berechnet für jede isochrone
Funktion einen Multiplizierer, um die benötigte Aktualisierungsrate der isochronen
Funktion auf die kleinste gemeinsame Aktualisierungsrate multiplikativ
zu erweitern, Schritt 390.
-
Nach
der Ausführung
der zusätzlichen
Berechnungen geht die Bussteuereinrichtung 14 dann zur
Planung der Abrufe der isochronen Funktionen über, Schritt 392.
Schritt 392 ähnelt
dem Schritt 308 des früher
beschriebenen Verfahrens der geringsten Latenzzeit. Er unterscheidet
sich jedoch von Schritt 308 dahingehend, daß das Abrufen
der isochronen Funktionen unter Verwendung eines Satzes von Basis-Soft-Datenblöcken anstelle
eines Basis-Soft-Datenblocks geplant wird. Die Planung erfolgt auch
unter Verwendung der zusätzlich
berechneten Multiplizierer. Schritt 392 wird nachstehend
unter zusätzlicher
Bezugnahme auf 19a–19c detaillierter beschrieben.
-
Nach
der Planung der isochronen Funktionen setzt die Bussteuereinrichtung 14 mit
den Schritten 394 und 396 fort, welche den Schritten 310 und 312 des
früher
beschriebenen Verfahrens der geringsten Latenzzeit ähneln. Schritt 396 unterscheidet sich
jedoch von Schritt 312 dahingehend, daß die Bussteuereinrichtung 14 den
Betrag der verfügbaren Sendezeit
in jedem Basis-Soft-Datenblock des Satzes der Basis-Soft-Datenblöcke – anstatt
nur in einem Basis-Soft-Datenblock – bestimmt. Nach der Bestimmung
der asynchronen Transferanforderungen und der in jedem der Basis-Soft-Datenblöcke verfügbaren Sendezeit
plant die Bussteuereinrichtung 14 dann die asynchronen
Transfers, Schritt 398. Schritt 398 ähnelt ebenfalls
dem Schritt 314 des früher
beschriebenen Verfahrens der geringsten Latenzzeit. Er unterscheidet
sich jedoch von Schritt 314 dahingehend, daß die asynchronen
Transfers unter Verwendung mehrerer Sätze von Soft-Datenblöcken – anstelle
mehrerer Soft-Datenblöcke – geplant
werden. Schritt 398 wird nachstehend unter zusätzlicher Bezugnahme
auf 20 detaillierter
beschrieben.
-
Bei
einigen Ausführungsbeispielen
wird der oben beschriebene Prozeß ebenfalls bei Erfassung eines
Anschlusses/einer Trennung serieller Buselemente während des
Betriebs wiederholt, wodurch der datenblockbasierte Abrufplan dynamisch
in Echtzeit an die tatsächlich
vorhandenen Buselemente angepaßt
wird. Die Art und Weise, auf welche Schritt 392 ausgeführt wird,
ist geringfügig
anders, wenn der Prozeß als
Reaktion auf die Erfassung eines Anschlusses/einer Trennung serieller
Buselemente während
des Betriebs wiederholt wird. Diese Unterschiede werden deutlich
werden, wenn Schritt 392 nachfolgend detaillierter beschrieben
wird.
-
19a–19c stellen
die Verfahrensschritte der vorliegenden Erfindung zur Planung des
Abrufens isochroner Funktionen in einem Satz von Soft-Datenblöcken unter
dem Verfahren der geringsten Latenzzeit und der kleinsten gemeinsamen
Aktualisierungsrate dar. Ähnlich
wie bei dem Verfahren der geringsten Latenzzeit bestimmt die Bussteuereinrichtung 14 zu
Anfang, ob sie den ersten Abrufplan erzeugt, Schritt 400,
d. h., ob sie beim Einschalten/Reset oder als Reaktion auf einen
Anschluß/eine Trennung
serieller Buselemente während
des Betriebs plant. Wenn die Planung für den ersten Plan ausgeführt wird,
geht die Bussteuereinrichtung 14 unverzüglich dazu über, eine der isochronen Funktionen
für die
Planung auszuwählen,
Schritt 403. Jedoch im Gegensatz zum Verfahren der geringsten Latenzzeit
basiert die Auswahl auf den berechneten Multipliziererwerten der
isochronen Funktionen. Genauer gesagt, es wird die ungeplante isochrone Funktion
mit dem geringsten abgeschnittenen Multipliziererwert ausgewählt. Als
Nächstes
bestimmt die Bussteuereinrichtung 14, ob die Planung der
ausgewählten
isochronen Funktion dazu führt,
daß die
kumulative Sendezeit der geplanten isochronen Funktionen jedes Basis-Soft-Datenblocks
eines Satzes von Soft-Datenblöcken
den isochronen Höchststand überschreitet,
Schritt 404. Die eingestellte Größe entspricht dem größten abgeschnittenen
Multipliziererwert der isochronen Funktionen. Wenn die Planung nicht
dazu führen
würde,
daß die
kumulative Sendezeit den isochronen Höchststand für irgendeinen Basis-Soft-Datenblock überschreitet,
plant die Bussteuereinrichtung 14 die isochrone Funktion
in Übereinstimmung
mit ihrem abgeschnittenen Multipliziererwert und addiert die Sendezeit
ihrer isochronen Daten zu der kumulativen Sendezeit der geplanten
isochronen Funktionen für
jeden Basis-Soft-Datenblock hinzu, Schritt 406.
-
Ähnlich wie
bei dem früher
beschriebenen Verfahren der geringsten Latenzzeit prüft die Bussteuereinrichtung 14 bei
der Planung der isochronen Funktion, um zu festzustellen, ob es
weitere Abrufe isochroner Funktionen gibt, die geplant werden müssen, Schritt 408.
Wenn weitere Abrufe isochroner Funktionen geplant werden müssen, kehrt
die Bussteuereinrichtung 14 zu Schritt 402 zurück, andernfalls
ist die Planung der isochronen Funktionen abgeschlossen.
-
Immer
dann, wenn die Bussteuereinrichtung 14 bei Schritt 404 feststellt,
daß die
Planung einer ausgewählten
isochronen Funktion dazu führen
würde,
daß die
kumulative Sendezeit der geplanten isochronen Funktionen den isochronen
Höchststand überschreitet,
lehnt die Bussteuereinrichtung 14 – ebenfalls ähnlich wie
bei dem früher
beschriebenen Verfahren der geringsten Latenzzeit – die ausgewählte isochrone
Funktion ab und beendet die Planung, Schritt 410. Vorzugsweise
erzeugt die Bussteuereinrichtung 14 außerdem eine Fehlerbedingung,
die anzeigt, daß die
Buskapazität überschritten
worden ist, und identifiziert alle ungeplanten isochronen Funktionen,
Schritt 410.
-
Ähnlich wie
bei dem früher
beschriebenen Verfahren der geringsten Latenzzeit, wenn die Bussteuereinrichtung 14 schon
bei Schritt 400 feststellt, daß der Prozeß nicht ausgeführt wird,
um den ersten Abrufplan zu erzeugen, d. h., daß er ausgeführt wird, um den Abrufplan
dynamisch anzupassen, bestimmt die Bussteuereinrichtung 14 ferner,
ob die geringste Latenzzeit geringer als die Größe oder gleich der Größe des „alten" Soft-Datenblocks
ist, Schritt 412. Wenn die geringste Latenzzeit geringer
als die Größe oder
gleich der Größe des „alten" Soft-Datenblocks ist,
geht die Bussteuereinrichtung 14 zu Schritt 414 weiter,
andernfalls setzt sie mit Schritt 434 fort.
-
Es
wird nun mit 19b fortgesetzt; ähnlich wie
bei dem früher
beschriebenen Verfahren der geringsten Latenzzeit löscht die
Bussteuereinrichtung 14 bei Schritt 414 jegliche
isochronen Funktionen, welche den Dienst des Abrufplans nicht mehr
benötigen.
Dann plant die Bussteuereinrichtung 14 alle verbleibenden „alten" isochronen Funktionen
in den Basis-Soft-Datenblöcken neu
und kumuliert ihre Sendezeiten für
alle Basis-Soft-Datenblöcke,
wie früher
beschrieben wurde, Schritt 416. Als Nächstes stellt die Bussteuereinrichtung 14 fest,
ob irgendeiner der isochronen Höchststände der
Basis-Soft-Datenblöcke überschritten
worden ist oder nicht, Schritt 418. Wenn der isochrone
Höchststand
wenigstens eines der Basis-Soft-Datenblöcke überschritten
worden ist, legt die Bussteuereinrichtung 14 die Größe des Soft-Datenblocks
für die
Basis-Soft-Datenblöcke und die
entsprechenden isochronen Höchststände neu fest – mit Ausnahme
der isochronen Funktion, die die geringste Latenzzeit ergeben hat,
Schritt 420. Die Bussteuereinrichtung 14 wiederholt
die Schritte 416–420,
bis sie bei Schritt 418 feststellen kann, daß alle verbleibenden
alten isochronen Funktionen unter den isochronen Höchstständen aller
Basis-Soft-Datenblöcke erfolgreich
neu geplant worden sind.
-
Die
Bussteuereinrichtung 14 geht dann zu den Schritten 422–432 weiter. Ähnlich wie
bei dem früher
beschriebenen Verfahren der geringsten Latenzzeit sind mit Ausnahme
von Schritt 430 die Schritte 422–432 mit
den früher
beschriebenen Schritten 404–410 identisch. Der
zusätzliche
Schritt 430 wird ausgeführt,
um zu veranlassen, daß die Fehlerbedingung
in Schritt 432 ebenfalls für den Fall erzeugt wird, daß die „erfolgreiche" Anpassung des Abrufplans
den Ausschluß einer
oder mehrerer neuer isochroner Funktionen mit geringen Latenzzeiten
früher
bei Schritt 420 erforderlich machte, damit sich die endgültige „erfolgreiche" Größe des Soft-Datenblocks
für die
Basis-Soft-Datenblöcke
ergibt.
-
Es
wird nun mit 19c fortgesetzt;
es sei daran erinnert, daß die
Bussteuereinrichtung 14 mit Schritt 434 fortsetzt,
wenn sie schon bei Schritt 412 entschieden hat, daß die geringste
Latenzzeit größer als
die Größe des „alten" Soft-Datenblocks ist.
Die Schritte 434 und 436 sind dieselben wie die
früher beschriebenen
Schritte 414 und 416. Jedoch sind bei der Neuplanung
der alten isochronen Funktionen in Schritt 436 Schritte
wie die früher
beschriebenen Schritte 418 und 420 nicht erforderlich,
da schon bei Schritt 412 festgestellt wurde, daß die geringste
Latenzzeit größer als
die Größe des „alten" Soft-Datenblocks
ist. Somit ist es nicht möglich,
daß die
Bussteuereinrichtung 14 versäumt, die alten isochronen Funktionen
unter den isochronen Höchstständen der Basis-Soft-Datenblöcke zu planen.
Dann geht die Bussteuereinrichtung 14 dazu über, die
neuen isochronen Funktionen in den Schritten 440–446 zu
planen. Die Schritte 440–446 sind mit den
früher
beschriebenen Schritten 404–410 identisch.
-
20 stellt die Verfahrensschritte
der vorliegenden Erfindung zur Planung des Abrufens asynchroner
Transfers in einem oder mehreren Sätzen von Soft-Datenblöcken unter
dem Verfahren der geringsten Latenzzeit und der kleinsten gemeinsamen Aktualisierungsrate
dar. Bei diesem dargestellten Ausführungsbeispiel werden die Abrufe
der asynchronen Transfers ebenfalls nach Gruppen geplant. Wie früher beschrieben,
sind spezielle Beispiele für asynchrone
Transfergruppen Anrufanforderungen, Managementabfragen und dergleichen.
Es ist jedoch klar, daß die
vorliegende Erfindung ausgeführt
werden kann, ohne die Planung der asynchronen Transfers nach Gruppen
auszuführen.
-
Gemäß dem dargestellten
Ausführungsbeispiel
wählt die
Bussteuereinrichtung 14 – ähnlich wie bei dem früher beschriebenen
Verfahren der geringsten Latenzzeit – zuerst eine bestimmte asynchrone Transfergruppe
für die
Planung aus, Schritt 448. Dann wählt die Bussteuereinrichtung 14 einen
asynchronen Transfer für
die Planung aus, Schritt 450. Jede Auswahl kann willkürlich oder
unter Verwendung von Prioritätsmodellen
erfolgen. Beim Auswählen
eines asynchronen Transfers für
die Planung wählt
die Bussteuereinrichtung 14 den „geringsten" ungeprüften Basis-Soft-Datenblock
aus, Schritt 452. Die Bussteuereinrichtung 14 stellt
fest, ob die Planung des ausgewählten
asynchronen Transfers dazu führen
würde,
daß die
kumulative Sendezeit aller geplanten Funktionen/Transfers das Datenblock-Höchststand des ausgewählten Basis-Soft-Datenblocks überschreitet,
Schritt 454. Wenn die Planung nicht dazu führen würde, daß der Datenblock-Höchststand
des ausgewählten
Basis-Soft-Datenblocks überschritten
wird, plant die Bussteuereinrichtung 14 den ausgewählten asynchronen
Transfer, Schritt 456. Wenn andererseits die Planung dazu
führen
würde,
daß das Datenblock-Höchststand
des ausgewählten
Basis-Soft-Datenblocks überschritten wird,
stellt die Bussteuereinrichtung 14 fest, ob es Basis-Soft-Datenblöcke gibt,
die ungeprüft
bleiben, Schritt 458. Wenn es ungeprüfte Basis-Soft-Datenblöcke gibt,
kehrt die Bussteuereinrichtung 14 zu Schritt 452 zurück. Wenn
jedoch alle Basis-Soft-Datenblöcke
geprüft
worden sind, fügt
die Bussteuereinrichtung 14 einen weiteren Satz von Basis-Soft-Datenblöcken hinzu,
d. h. einen neuen Satz von Soft-Datenblöcken mit ähnlich geplanten isochronen Funktionen,
Schritt 460, bevor der ausgewählte asynchrone Transfer geplant
wird, Schritt 456.
-
Bei
der Planung des ausgewählten
asynchronen Transfers stellt die Bussteuereinrichtung 14 – ähnlich wie
bei dem früher
beschriebenen Verfahren der geringsten Latenzzeit – fest,
ob innerhalb der ausgewählten
asynchronen Transfergruppe noch weitere asynchrone Transfers zu
planen sind, Schritt 462. Wenn noch weitere asynchrone
Transfers zu planen sind, wiederholt die Bussteuereinrichtung 14 die
Schritte 450–460,
bis bei Schritt 462 festgestellt wird, daß alle asynchronen
Transfers in der ausgewählten
asynchronen Transfergruppe geplant worden sind. Dann bestimmt die
Bussteuereinrichtung 14, ob noch weitere asynchrone Transfergruppen
zu planen sind, Schritt 464. wenn noch weitere asynchrone
Transfergruppen zu planen sind, wiederholt die Bussteuereinrichtung 14 die
Schritte 448–462,
bis bei Schritt 464 festgestellt wird, daß alle asynchronen Transfergruppen
geplant worden sind.
-
21a–21b stellen
eine beispielhafte Anwendung des Verfahrens der geringsten Latenzzeit und
der kleinsten gemeinsamen Aktualisierungsrate dar, wobei dieselbe
Topologie und dieselben isochronen/asynchronen Transferanforderungen
verwendet werden, die in 17a dargestellt
sind. Wie in 21a gezeigt,
bestimmt die Bussteuereinrichtung 14 zuerst, daß die Latenzzeiten
der drei isochronen Funktionen – CD,
ISDN T1 und Sprache – 364 μs, 667 μs beziehungsweise
727 μs betragen,
Schritt 382a. Somit wird bestimmt, daß die geringste Latenzzeit
364 μs beträgt; die
Größe des Soft-Datenblocks wird
auf 364 μs
eingestellt; und es wird berechnet, daß der isochrone Höchststand
273 μs beträgt (unter Verwendung
einer beispielhaften Nutzungsrate von 75%), Schritt 384a.
Es wird bestimmt, daß die
Sendezeiten der isochronen Daten und der asynchronen Transfers 114 μs für CD Audio,
37,2 μs
für ISDN-T1-Daten,
37,2 μs
für Sprachdaten
etc. etc. betragen, Schritt 386a. Es wird bestimmt, daß die Aktualisierungsraten
der isochronen Funktionen 2,75 für CD
Audio, 1,5 für
ISDN T1 und 1,375 für
Sprachdaten betragen, Schritt 388a. Es wird bestimmt, daß die kleinste
gemeinsame Aktualisierungsrate 2,75 beträgt, und es wird bestimmt, daß die abgeschnittenen Multipliziererwerte
der isochronen Funktionen 1 für CD
Audio, 1 für
ISDN T1 beziehungsweise 2 für Sprache
betragen, Schritt 390a.
-
Unter
Anwendung der in den 19a–19c dargestellten Verfahrensschritte
werden die isochronen Funktionen – CD Audio, ISDN T1 und Sprache – alle erfolgreich
in einen Satz von zwei Basis-Soft-Datenblöcken geplant, wie gezeigt,
da die kumulativen Sendezeiten der isochronen Daten für die zwei
Basis-Soft-Datenblöcke
151,2 μs
und 188,4 μs
betragen, welche geringer als 273 μs – der gemeinsame isochrone
Höchststand
für beide
Basis-Soft-Datenblöcke – sind,
Schritt 392a.
-
Als
Nächstes
stellt die Bussteuereinrichtung 14 fest, daß Abrufe
für zwei
asynchrone Funktionen, fünf
Verbindungsmanagementtransaktionen (GEO-Abruf), eine Anrufanforderung
und drei Managementabfragen benötigt
werden, Schritt 394a Ferner stellt die Bussteuereinrichtung 14 fest,
daß ungefähr 167 μs und 130 μs jeweils
für die
zwei Basis-Soft-Datenblöcke
für asynchrone
Transfers verfügbar
sind (unter Verwendung einer beispielhaften Nutzungsrate von 95%),
Schritt 396a. Nach der Feststellung der für die zwei
Basis-Soft-Datenblöcke
verfügbaren
Sendezeiten plant die Bussteuereinrichtung 14 dann die
erforderlichen asynchronen Transfers unter Verwendung von zwei Sätzen von
Basis-Soft-Datenblöcken,
wie dargestellt, Schritt 398a. Der resultierende Abrufpan
für diese
beispielhafte Anwendung wird in 21b gezeigt.
-
Somit
sind Verfahren und eine Einrichtung zum dynamischen Erzeugen und
Aufrechterhalten datenblockbasierter Abrufpläne zum Abrufen isochroner und
asynchroner Funktionen beschrieben worden, welche den isochronen
Funktionen Latenzzeiten und Bandbreiten garantieren. Für weitere
Informationen über
das Verfahren und die Einrichtung der vorliegenden Erfindung wird
auf die beigefügten Anhänge verwiesen.
-
Während die
vorliegende Erfindung anhand der obigen Ausführungsbeispiele beschrieben
worden ist, werden Fachleute erkennen, daß die Erfindung nicht auf die
beschriebenen Ausführungsbeispiele
beschränkt
ist. Das Verfahren und die Einrichtung der vorliegenden Erfindung
können
mit Modifikationen und Änderungen
innerhalb des Schutzbereichs der beigefügten Ansprüche ausgeführt werden. Die Beschreibung
ist somit als Erläuterung
und nicht als Beschränkung
der vorliegenden Erfindung zu betrachten.