-
TECHNISCHES
GEBIET DER ERFINDUNG
-
Die
Erfindung betrifft die Telekommunikation und insbesondere ein Vermittlungssystem
zum Weiterleiten von Zellen von einem aus einer Gruppe vom M Eingangsanschlüssen zu
einem aus einer Gruppe von M Ausgangsanschlüssen.
-
ZUGRUNDE LIEGENDE
TECHNIK
-
Der
Bedarf an Hochgeschwindigkeitssystemen nimmt insbesondere mit der
Entwicklung komplexerer Netzwerke, Multimediaanwendungen und Hochgeschwindigkeitsdatenübertragungen
immer mehr zu.
-
Heutzutage
werden Vermittlungen mit 100 Gbit/s immer stärker verlangt. Ein erstes Problem
besteht dabei darin, dass die Geschwindigkeit der Vermittlung stark
von der gerade verwendeten Technologie abhängt. Bei einem bestimmten technologischen
Stand dürfte
es daher schwierig sein, die Leistung bekannter Vermittlungseinheiten
zu steigern. Deshalb ist es erforderlich, elementare Koppelmodule
so zusammenzuschalten, dass ihre charakteristischen Eigenschaften
und Leistungsparameter erhalten bleiben. Insbesondere ist es wichtig,
dass zur Realisierung der gesamten Koppelstruktur keine Eingangs-
oder Ausgangsanschlüsse
benötigt
werden und so dem Benutzer weniger Anschlüsse zur Verfügung stehen.
Außerdem muss
der Einzelstatus des gesamten Vermittlungssystems erhalten bleiben.
-
Ein
zweites Problem besteht darin, dass in den Räumlichkeiten der Kunden Leitungsanschlüsse für relativ
lange Zeit fest installiert sind und die Investitionen der Telekommunikationsanlagen
nicht einfach abgeschrieben werden können. Einerseits besteht also
der Wunsch nach Vermittlungssystemen mit höherer Geschwindigkeit, andererseits
sollen aber die bereits installierten Anlagen weiter genutzt und
somit eine Vielzahl von Anschlussmöglichkeiten ermöglicht werden.
-
Außerdem soll
das Vermittlungssystem für
ATM-Telekommunikationsleitungen
angepasst sein und über
vielfältige
Möglichkeiten
für selektives
Rundsenden verfügen
(d.h. die Möglichkeit,
die in die Vermittlungseinheit kommende Zelle zu vervielfachen,
damit sie über
mehrere Ausgangsanschlüsse
gesendet werden kann) und ermöglichen,
dass die verschiedenen Leitungsanschlüsse in unterschiedlichen räumlichen
Bereichen realisiert werden.
-
In
dem im IBM Technical Disclosure Bulletin, Bd. 34, Nr. 10A, 1. März 1992,
S. 464 bis 465, veröffentlichten
Artikel „Multicast/Broadcast
Mechanism for a Shared Buffer Packet Switch" wird ein Mechanismus zur wirksamen
Realisierung von Multicast/Broadcast (selektives Rundsenden/Rundsenden)
in einer Paketvermittlungseinheit mit gemeinsam genutztem Ausgangspuffer
beschrieben. Da der Puffer gemeinsam genutzt wird, braucht bei Verwendung
dieses Puffers jeweils nur das Original des Multicast/Broadcast-Pakets
gespeichert zu bleiben. Um ein Paket über mehr als einen Ausgang
der Vermittlungseinheit auszugeben, reicht es aus, lediglich das
Originalpaket in diesem gemeinsam genutzten Puffer so lange gespeichert
zu lassen, bis alle Exemplare (Kopien) über alle angegebenen Ausgänge übertragen
worden sind. Zusätzlich
zu dem in dem im IBM Technical Disclosure Bulletin, Bd. 32, Nr.
10B, S. 176 bis 177, März
1990, veröffentlichten
Artikel „Packet
Switching Module" beschriebenen
grundlegenden Paketvermittlungsmechanismus mit gemeinsam genutztem Ausgangspuffer
sind hierzu drei weitere Mechanismen erforderlich.
- 1. Ein Mechanismus zum Erzeugen einer Maske der Vorsatzdaten
des ankommenden Pakets zur Ermittlung derjenigen Ausgänge, zu
denen ein Exemplar dieses Pakets geleitet werden soll.
- 2. Ein Mechanismus zum Versorgen jeder Steuerwarteschlange der
angegebenen Ausgänge
mit einem Exemplar der Adresse, an welcher sich das Multicast/Broadcast-Paket
im gemeinsam genutzten Ausgangspuffer befindet.
- 3. Ein Mechanismus zur Ermittlung des Zeitpunkts, an welchem
das Exemplar des Multicast/Broadcast-Pakets im gemeinsam genutzten
Ausgangspuffer nicht mehr benötigt
wird.
-
Der
Auswahlmechanismus zum Verbinden eines Speicherplatzes im gemeinsam
genutzten Ausgangspuffers mit einem bestimmten Vermittlungsausgang
ist in der Lage, einen Speicherplatz im gemeinsam genutzten Puffer
gleichzeitig mit mehreren Ausgängen
zu verbinden.
-
ÜBERBLICK ÜBER DIE
ERFINDUNG
-
Das
Problem wird durch die vorliegende Erfindung mittels eines Vermittlungssystems
gelöst,
das auf einem Koppelmodul basiert, welches bei einer vorhandenen
Technologie höhere
Geschwindigkeiten zulässt. Außerdem muss
das Vermittlungssystem den ganzen Umfang an vorhandenen Anschlüssen einschließlich ATM-Leitungen
nutzen sowie umfangreiche Fähigkeiten
für selektives
Rundsenden und einfache physische Verbindungen bereitstellen können.
-
Es
wurde eine in Anspruch 1 definierte neue Anordnung eines Koppelmoduls
entwickelt, die einfach zusammengesetzt werden kann und auch bei
einer begrenzten Technologie höhere
Geschwindigkeiten erlaubt. Grundsätzlich enthält das Koppelmodul einen Speicherbereich
mit einer Gruppe von M Empfängern
und einer Gruppe von M Vermittlungseinheiten zum Herstellen der
Verbindung zwischen den M Eingangsanschlüssen und einem der verschiedenen
Speicherplätze
eines Zellenspeichers. Der Speicherbereich beinhaltet ferner eine
Gruppe von M ASA-Registern, welche den Eingangs-Vermittlungseinheiten die Adressen derjenigen Speicherplätze zur
Verfügung
stellen, an denen die Zellen im Zellenspeicher gespeichert werden.
Außerdem beinhaltet
das Koppelmodul einen Abrufbereich, der eine Gruppe von M Ausgangs-Vermittlungseinheiten
zum Abrufen der an einem Speicherplatz des Zellenspeichers gespeicherten
Daten sowie eine Gruppe von M ARA-Registern, welche den Ausgangs-Vermittlungseinheiten
die Adressen der vom Zellenspeicher auszugebenden Zellen zur Verfügung stellen,
umfasst.
-
Ein
spezieller Steuerbereich stellt den Eingabe- und den Ausgabeprozess
für die
in die Vermittlungseinheit eingegebenen Zellen zur Verfügung.
-
Der
Eingabesteuerbereich umfasst ein FAQ-Adressenerzeugungsmittel, welches die
Adressen der freien Speicherplätze
im Zellenspeicher liefert, und ein erstes Multiplexermittel, welches
die von der FAQ-Schaltung erzeugten Adressen oder die von einem
ersten externen Bus für
die M ASA-Register
gelieferten Adressen bereitstellt. Eine Gruppe von Halteregistern
dient dazu, den Modulleitwegvorsatz so lange zurückzuhalten, wie die Zellen
in den Zellenspeicher eingegeben werden.
-
Der
Ausgabesteuerbereich umfasst eine Gruppe von M OAQ-Warteschlangenmitteln,
um die Adressen der Speicherplätze
im Zellenspeicher in eine Warteschlange einzustellen, deren Zellen
zu den Ausgangsanschlüssen übertragen
werden sollen. Jedes Warteschlangenmittel weist einen Eingang auf,
welcher die Inhalte der ASA-Register empfängt und ist jeweils einem der
M Ausgangsanschlüsse
zugeordnet. Ein weiteres Steuermittel empfängt den durch die Halteregister
zurückgehaltenen
Modulleitwegvorsatz und erzeugt Steuersignale WE, um den Inhalt
der ASA-Register in jede einem Ausgangsanschluss zugeordnete Warteschlange zu
laden, für
den die Zelle kopiert werden soll. Ein zweites Multiplexermittel
soll den M ARA-Registern
die von den Warteschlangenmitteln gelieferten oder die von einem
zweiten externen Bus gelieferten Adressen zur Verfügung stellen.
-
Eine
spezielle Registrierschaltung Book_Keep_Memory (7) verhindert, dass
eine zur Verfügung
zu stellende Adresse aus dem Inhalt des Warteschlangenmittels verschwindet,
bevor diese Adresse das letzte Mal aufgerufen wird.
-
Mittels
des ersten und des zweiten Multiplexers kann der Vermittlungsprozess
entweder intern oder extern realisiert werden, denn die zum Ausführen des
Eingabe- und des Ausgabeprozesses verwendeten Adressen können entweder
durch die internen Schaltungen einschließlich des Adressenerzeugungsmittels und
der Steuerschaltung erzeugt oder aber von einer (in Bezug auf das
betreffende Modul) externen Schaltlogik empfangen werden.
-
Auf
diese Weise lassen sich unterschiedliche Koppelmodule einfach zusammenschalten,
damit diese, gesteuert durch ein Hauptmodul, welches mittels des
ersten und des zweiten Busses die für die ASA- und die ARA-Register
benötigten
Adressen liefert, im Beschleunigungsmodus arbeiten. Dies hat den
großen
Vorteil, dass die Gesamtgeschwindigkeit der mehrere Koppelmodule
umfassenden Vermittlungseinheit auch bei einem vorgegebenen Technologieniveau
ansteigt.
-
Bei
einer bestimmten Ausführungsart
der Erfindung wird die Koppelstruktur auf vorteilhafte Weise mit einer
Gruppe verteilter SCAL-Elemente (Switch Core Access Layer, Vermittlungskernzugriffsschicht)
kombiniert, die über
serielle Datenleitungen mit den Eingangs- und Ausgangsanschlüssen in
Verbindung stehen. Jedes SCAL-Element umfasst eine PINT-Schaltung, die mit
einem bestimmten Protokolladapter oder Protokollprogramm gekoppelt
werden kann und eine Gruppe von FIFO-Warteschlangen für den Empfangs-
und den Sendeteil für
jedes einzelne zusammengeschaltete Modul umfasst. Jede FIFO-Warteschlange des
Empfangsteils empfängt
einen Teil der Zelle, die so aufgeteilt ist, dass der entsprechende
Teil durch das jeweilige Koppelmodul der Koppelstruktur verarbeitet
wird, welches im Beschleunigungsmodus läuft. Außerdem umfasst jedes SCAL-Element
Steuermittel zum Zeitmultiplexen (Time Division Multiplex, TDM)
der Datenübertragungsverbindung
mit der Koppelstruktur, damit jede PINT-Schaltung auf ein Viertel
der Bandbreite eines Anschlusses zugreifen kann. Dadurch entsteht
eine Gesamtvermittlungsarchitektur, welche eine große Vielfalt
von Anschlussmöglichkeiten
an die vorhandenen unterschiedlichen Leitungsadapter gestattet.
Die SCAL-Elemente stehen über
serielle Kabel mit dem Vermittlungskern in Verbindung, sodass diese
SCAL-Elemente in einem großen
Abstand vom zentralen Vermittlungskernsystem angeordnet werden können.
-
Vorzugsweise
beinhaltet der Empfangsteil jedes PINT ein Mittel zum Einfügen mindestens
eines zusätzlichen
Bytes in jede Zelle, das zur Speicherung des Leitwegvorsatzes reserviert
ist, welcher in einem ersten Schritt zur Steuerung der Koppelstruktur
und in einem zweiten Schritt zur Steuerung der PINT-Übertragungsschaltung
dient. Der Sendeteil jeder PINT-Schaltung
umfasst tatsächlich
zusätzlich
zu dem mindestens einen FIFO-Speicher zur Speicherung der Datenzellen
ein Steuermodul, welches alle an demjenigen Ausgangsanschluss der
Koppelstruktur erzeugten Zellen empfängt, mit dem das betreffende
SCAL-Element verbunden ist. Anhand des Wertes dieses mindestens
einen zusätzlichen
Bytes entscheidet das Steuermittel, ob die Zelle gelöscht werden
soll. Während
der Empfangsteil der PINT-Schaltung die zur Steuerung der Weiterleitung
und des selektiven Rundsendens der Zellen erforderlichen zusätzlichen
Bytes einfügt,
werden die hierfür
erforderlichen genauen Werte im Vermittlungssystem mit Hilfe zweier
aufeinander folgender Leseoperationen in Leitwegtabellen, einer
vor dem Weiterleiten der Zelle im Vermittlungssystem ausgeführten ersten
Operation und einer nach dem Weiterleiten der Zelle auf der Ebene
des Ausgangsanschlusses ausgeführten
zweiten Operation erzeugt. Diese beiden aufeinander folgenden Leseoperationen
weisen ein Zweiebenen-Rundsendemerkmal auf, das umfangreiche Möglichkeiten
für selektives
Rundsenden bietet, obwohl die SCAL-Elemente auf unterschiedliche
räumliche
Bereiche des Vermittlungssystems verteilt sind.
-
Bei
einer bevorzugten Ausführungsart
der Erfindung werden die Tabellen mit den für die Koppelstruktur oder die
PINT-Sendeschaltungen
erforderlichen Werten in ein und dasselbe Speichermodul geladen,
das sich im zentralen Vermittlungskern befindet. Dadurch wird die
Aktualisierung des Steuermechanismus der Leitwegtabellen stark erleichtert.
-
BESCHREIBUNG
DER ZEICHNUNGEN
-
1 zeigt
die Anordnung der 2 und 3, um das
zur Realisierung der vorliegenden Erfindung verwendete Koppelmodul 401 komplett
und umfassend zu veranschaulichen.
-
2 und 3 zeigen
die Struktur des Koppelmoduls, das bei der bevorzugten Ausführungsart
der vorliegenden Erfindung verwendet wird.
-
4 veranschaulicht
die Verwendung eines einzelnen Koppelmoduls zum Betreiben einer
Vermittlungseinheit.
-
5 veranschaulicht
die Verwendung mehrerer Koppelmodule im Anschlussbeschleunigungsmodus zur
Realisierung einer verbesserten Koppelstruktur mit hoher Arbeitsgeschwindigkeit.
-
6 veranschaulicht
ein allgemeines Koppelfeld mit einem Vermittlungskern auf der Basis
der Koppelstruktur von 5, die den SCAL-Elementen zugeordnet
ist.
-
7 veranschaulicht
den Datenfluss in der Ausführungsart
mit dem verteilten Koppelfeld.
-
8 zeigt
den PINT-Empfangsteil 511 der SCAL der vorliegenden Erfindung.
-
9 zeigt
den PINT-Sendeteil 611 der SCAL der vorliegenden Erfindung.
-
10 veranschaulicht
eine kompakte Ausführungsart
des Koppelfeldes mit verbesserter Leistung, welches umfassende Möglichkeiten
zum selektiven Rundsenden bietet.
-
11 veranschaulicht
das verteilte Koppelfeld mit verbesserter Leistung, welches umfassende
Möglichkeiten
zum selektiven Rundsenden bietet.
-
12 und 13 veranschaulichen
die Aktualisierungs- und die Erzeugungsprozedur der Steuerleitwegtabellen.
-
14 zeigt
die Struktur des Protokolladapters, das sich gut als Schnittstellenelement
für Leitungen eignet, über die
ATM-Zellen laufen.
-
15 zeigt eine Struktur zum Anschließen von
vier OC3-Leitungen
an eine Gruppe von vier Empfangsleitungsschnittstellen 971 bis 974 und
vier Sendeleitungsschnittstellen 976 bis 979.
-
16 zeigt den Empfangsteil von Kasten 910 des
ATM-Protokolladapters.
-
17 veranschaulicht den Sendeteil von Kasten 950 des
ATM-Protokolladapters.
-
BESCHREIBUNG
DER BEVORZUGTEN AUSFÜHRUNGSART
DER VORLIEGENDEN ERFINDUNG
-
2 und 3 zeigen
das Koppelmodul, mittels dessen die Vermittlungsvorrichtung gemäß der vorliegenden
Erfindung realisiert wird. Dieses in Kasten 401 dargestellte
Modul beinhaltet einen Datenbereich, welcher einen Speicherbereich
zur Speicherung der über
einen der sechzehn Eingangsanschlüsse ankommenden Zellen in einem
gemeinsamen Zellenspeicher 1 sowie einen Abrufbereich zum
Ausgeben der in diesen geladenen Zellen und zum Befördern der
Zellen zu einem Ausgangsanschluss des Koppelmoduls umfasst.
-
Der
Speicherbereich verwendet eine Gruppe von sechzehn Empfängern RCVR 10-0 bis 10-15 (wobei der
Empfänger 10-15 in
der Figur schattiert dargestellt ist), welche die physische Schnittstelle
für die
sechzehn verschiedenen Eingangsanschlüsse darstellen. Eine Gruppe
von sechzehn entsprechenden Vermittlungseinheiten 2-0 bis 2-15 (wobei
die Vermittlungseinheit 2-15 in 2 schattiert
dargestellt ist), dient zur Verbindung der Eingangsanschlüsse mit
einem der 128 Speicherplätze
des Zellenspeichers 1. Zur Steuerung des zeitlichen Ablaufs
umfasst der Speicherbereich ferner eine Gruppe von sechzehn Grenzsignalspeichern 101-0 bis 101-15 (wobei
der Signalspeicher 101-15 in der Figur schattiert dargestellt
ist) und eine Gruppe von Warteschlangenschaltungen 103-0 bis 103-15,
sodass die durch jeden Empfänger 10-i übertragenen
Daten über den
entsprechenden Grenzsignalspeicher 101-i und die Warteschlange 103-i transportiert
werden.
-
Der
Abrufbereich des Koppelmoduls 401 wiederum umfasst eine
Gruppe von sechzehn Treibern 11-0 bis 11-15, die
sich nicht auf dem Chip befinden (Off-Chip-Driver, OCD) und als
Schnittstellenelemente für
die sechzehn Ausgangsanschlüsse
des Koppelmoduls dienen. Die OCD-Treiber empfangen die Daten von
sechzehn Vermittlungseinheiten 3-0 bis 3-15 über eine
entsprechende Gruppe von sechzehn Grenzsignalspeichern 102-0 bis 102-15 (zur
Steuerung des zeitlichen Ablaufs), sodass jede Vermittlungseinheit 3-i Daten
abrufen kann, die an einem der 128 Speicherplätze im Zellenspeicher 1 gespeichert
sind, und diese Daten über
einen entsprechenden OCD-Treiber 11-i zum entsprechenden
Ziel-Ausgangsanschluss i befördern
kann.
-
Außer dem
Datenbereich umfasst das Koppelmodul auch noch einen Steuerbereich,
der auf einer frei verfügbaren
Schaltung 5 (Free Access Queue, FAQ) (dargestellt in 3)
basiert und zum Speichern der Adressen der leeren Speicherplätze im Zellenspeicher 1 dient.
Hinzu kommt noch ein Ausgangswarteschlangenspeicher 4,
der aus zwei separaten Gruppen von je acht Ausgangsadresswarteschlangen
(Ouput Address Queue, OAQ) 50-0 bis 50-7 (wobei
die Warteschlange 50-7 in der Figur schattiert dargestellt
ist) und 51-0 bis 51-7 (wobei die Letztere schattiert
dargestellt ist) besteht. Später
wird ausführlich
die Verwendung dieser beiden Warteschlangengruppen zur Speicherung
der Adressen der Speicherplätze
im Zellenspeicher 1 erläutert, auf
denen die zu den Ausgangsanschlüssen
zu übertragenden
Datenzellen gespeichert sind. Zwei Gruppen von je acht Registern,
die ASA-Register 20-0 bis 20-7 (Register 20-7 schattiert
dargestellt) und die ASA-Register 21-0 bis 21-7 (Letzteres
schattiert dargestellt) werden jeweils zum Erzeugen von Adressen
auf einer Gruppe von zwei Bussen – einem ODD-Bus 104 und
einem EVEN-Bus 105 – eingesetzt,
wobei diese beiden Busse mit den sechzehn Vermittlungseinheiten 2-0 bis 2-15 und
einer OAQ-Warteschlange 4 verbunden
sind. Der Bus 104 wird durch die Gesamtheit der acht Ausgangsbusse
der ASA-Register 20-0 bis 20-7 (mit einer Breite
von 64 Byte) und der Bus 105 mit einer Breite von 64 Byte
aus der Gesamtheit der Ausgangsbusse der acht ASA-Register 21-0 bis 21-7 gebildet.
-
Außerdem ist
der EVEN-Bus 104 mit einem ersten Eingangsbus eines Multiplexers
MUX 106 verbunden, welcher an einem zweiten Eingang über den
Bus 91 die freien Adressen von der FAQ 5 empfängt. Der Ausgang
des MUX 106 ist mit einem Grenzsignalspeicher 108 verbunden,
dessen Ausgang mit den Eingängen einer
Gruppe von acht Treibern außerhalb
des Chips (OCD) und einem Schattensignalspeicher 110 verbunden ist.
Die OCD-Treiber 40-0 bis 40-7 weisen Ausgänge auf,
welche einen 8-Bit-Bus 510 (bestehend
aus den acht Ausgängen 510-0 bis 510-7)
bilden, der auch mit den Eingängen
der entsprechenden Empfänger
RCVR 44-0 bis 44-7 verbunden ist. Die Ausgänge der
Empfänger
RCVR 44-0 bis 44-7 sind mit einem Redundanzsignalspeicher 180 verbunden,
dessen Ausgang wiederum mit einem Eingangsbus eines Multiplexers
MUX 112 verbunden ist, über
dessen zweitem Eingang der Inhalt des Schattensignalspeichers 110 empfangen
wird. Ein Ausgang des Multiplexers MUX 112 ist mit einem
Pipelineregister 114 zum Laden der Daten verbunden, die auf
diesem Weg, wie später
beschrieben, zu den entsprechenden NSA-Registern 220-0 bis 22-7 übertragen werden.
-
Entsprechend
ist der ODD-Bus 105 mit einem ersten Eingangsbus eines
Multiplexers MUX 107 verbunden, welcher über den
Bus 92 an einem zweiten Eingang die freien Adressen von
der FAQ 5 empfängt. Der
Ausgang des MUX 106 ist mit einem Grenzsignalspeicher 109 verbunden,
dessen Ausgang mit den Eingängen
einer Gruppe von acht OCD-Treibern 41-0 bis 41-7 und
einem Schattensignalspeicher 111 verbunden ist. Die Ausgänge 509-0 bis 509-7 der
OCD-Treiber 41-0 bis 41-7 bilden einen 8-Bit-Bus 509,
der ebenfalls mit den Eingängen
von acht Empfängern
RCVR 45-0 bis 45-7 verbunden ist. Die Ausgänge der
Empfänger
RCVR 45-0 bis 45-7 sind mit einem Redundanzsignalspeicher 181 verbunden,
dessen Ausgang mit einem Eingangsbus eines Multiplexers MUX 113 verbunden
ist, über
dessen zweiter Eingang wiederum der Inhalt des Schattensignalspeichers 111 empfangen
wird. Ein Ausgang des Multiplexers MUX 113 ist mit einem
Pipelineregister 115 verbunden, damit die Adressen, wie
später
beschrieben, den entsprechenden NSA-Registern 23-0 bis 23-7 zur
Verfügung
gestellt werden können.
-
Der
Steuerbereich umfasst ferner vier Gruppen von Halteregistern 60-0 bis 60-7 (wobei
das Register 60-7 schattiert dargestellt ist), 61-0 bis 61-7 (Letzteres
schattiert), 62-0 bis 62-7 und 63-0 bis 63-7,
welche bei dem später
ausführlich
beschriebenen Vermittlungsprozess Anwendung finden.
-
Im
Datenbereich können
die sechzehn Eingangsanschlüsse
gleichzeitig sechzehn Zellen an den Adressen in den Zellenspeicher 1 laden,
die durch den Inhalt der zwei Gruppen von je acht ASA-Registern 20-0 bis 20-7 und 21-0 bis 21-7 definiert
sind. Währenddessen
können
dem Zellenspeicher 1 sechzehn Zellen von den Adressen entnommen
werden, die durch den Inhalt von sechzehn ARA-Registern definiert
sind, welche in zwei Gruppen von je acht Registern angeordnet sind:
die ARA-Register 32-0 bis 32-7 (wobei Register 32-7 in der
Figur schattiert dargestellt ist) und die ARA-Register 33-0 bis 33-7 (Letzteres
schattiert). Die ARA-Register 32-0 bis 32-7 empfangen über einen
EVEN-Bus 98, der auch mit einem ersten Eingang einer Doppelmultiplexerschaltung 800 verbunden
ist, den Inhalt der entsprechenden NRA-Register 28-0 bis 28-7.
Entsprechend empfangen die ARA-Register 33-0 bis 33-7 über einen
ODD-Bus 99, der mit einem zweiten Eingang der Doppelmultiplexerschaltung 800 verbunden
ist, den Inhalt der entsprechenden NRA-Register 29-0 bis 29-7.
Mit dem Doppelmultiplexer 800 sind über einen dritten und einen
vierten Eingangsbus die Ausgänge
der ersten und zweiten Gruppe von OAQ-Warteschlangen 50-0 bis 50-7 bzw. 51-0 bis 51-7 verbunden.
Der Doppelmultiplexer weist zwei Ausgangsbusse auf, die jeweils
mit einem Grenzsignalspeicher 30 und einem Grenzsignalspeicher 31 verbunden
sind.
-
Die
NRA-Register 28-0 bis 28-7 sind mit dem Ausgang
einer Multiplexerschaltung MUX 26 verbunden, welche über einen
ersten und einen zweiten Eingang jeweils den Inhalt eines Schattensignalspeichers 34 bzw. eines
Grenzsignalspeichers 80 empfängt. Entsprechend sind die
NRA-Register 29-0 bis 29-7 mit dem Ausgang einer
Multiplexerschaltung MUX 27 verbunden, welche über einen
ersten und einen zweiten Eingang den Inhalt eines Schattensignalspeichers 35 bzw.
eines Grenzsignalspeichers 81 empfängt. Der Ausgang des Signalspeichers 30 ist
mit dem Eingangsbus des Schattensignalspeichers 34 sowie
mit den Eingängen
einer Gruppe von acht OCD-Treibern 42-0 bis 42-7 verbunden,
deren Ausgänge 520-0 bis 520-7 einen
Bus 520 bilden, der ebenfalls mit den Eingängen einer
Gruppe von acht Empfängern
RCV 46-0 bis 46-7 verbunden ist. Entsprechend
ist der Ausgang des Signalspeichers 31 mit dem Eingangsbus
des Schattensignalspeichers 35 sowie mit den Eingängen einer
Gruppe von acht OCD-Treibern 43-0 bis 43-7 verbunden,
deren Ausgänge 521-0 bis 521-7 einen
Bus 521 bilden und mit den entsprechenden Eingängen einer
Gruppe von acht Empfängern
RCVR 47-0 bis 47-7 verbunden sind. Die Ausgänge der
Empfänger
RCVR 46-0 bis 46-7 sind mit dem Eingangsbus des
Signalspeichers 80 und die Ausgänge der Empfänger RCVR 47-0 bis 47-7 mit
dem Eingangsbus des Signalspeichers 81 verbunden.
-
Im
Folgenden wird beschrieben, wie mittels der Struktur der vorliegenden
Erfindung eine Gruppe von sechzehn Zellen gleichzeitig dem Zellenspeicher 1 entnommen
und zum entsprechenden Ausgangsanschluss weitergeleitet werden kann.
-
Wenn
eine Zelle N Byte (zum Beispiel 54 Byte) umfasst, ermöglicht das
Koppelmodul die Speicherung von sechzehn Zellen im Zellenspeicher 1 und
das Abrufen von sechzehn Zellen aus dem Zellenspeicher 1 während N
Taktzyklen. Im Folgenden werden die Eingabe- und Ausgabeprozesse
für das
Koppelmodul 401 ausführlich
beschrieben.
-
1. EINGABEPROZESS
-
Der
Eingabeprozess dient der vollständigen
Speicherung einer Gruppe von N Byte in einer Elementarzelle (wobei
allerdings gleichzeitig sechzehn Zellen eingegeben werden). Der
Eingabeprozess beinhaltet im Grunde zwei verschiedene Operationen:
zuerst werden die Zellen über
die sechzehn im Folgenden beschriebenen Empfänger 10-0 bis 10-15 in
den Datenbereich eingegeben. Dieser erste Schritt erfolgt während einer ersten
Anzahl von N Taktzyklen. Weiterhin wird eine zweite Operation zur
Vorbereitung der Adressen im Zellenspeicher 1 durchgeführt, genauer
gesagt, die sechzehn Adressen zum Laden der nächsten sechzehn Zellen in den
Zellenspeicher werden berechnet. Bei der bevorzugten Ausführungsart
der Erfindung erfolgt dieser zweite Schritt zur Berechnung der Adressen
während
einer Anzahl von lediglich acht Systemtaktzyklen. Dabei werden während des
ersten Zyklus die Adressen für
die Eingangsanschlüsse
0 und 1, während
des zweiten Zyklus die Adressen für die Eingangsanschlüsse 2 und
3 und allgemein während
des n-ten Zyklus die beiden Adressen im Zellenspeicher 1 zum
Speichern der über
die Eingangsanschlüsse
2n und 2n + 1 ankommenden Zellen berechnet.
-
Zur
Vorbereitung der Eingabeoperation werden die freien Adressen des
Zellenspeichers 1 von der FAQ 5 zur Verfügung gestellt
und in die erste Gruppe der ASA-Register 20-0 bis 20-7 sowie
die zweite Gruppe der ASA-Register 21-0 bis 21-7 geladen.
Zur Vereinfachung werden die ASA-Register einfach als „ASA-Register 20" bezeichnet, wenn
zwischen den ASA-Registern 20-0 bis 20-7 im Einzelnen
nicht unterschieden werden soll. Desgleichen soll der Begriff „ASA-Register 21" für die acht
ASA-Register 21-0 bis 21-7 gelten, wenn zwischen
diesen nicht unterschieden werden soll. Wenn zwischen den einzelnen
ASA-Registern unterschieden werden
soll, wird wieder die normale Bezeichnung der Register 20-0 bis 20-7 (bzw.
Register 20-i) verwendet. Diese Vereinfachung gilt auch
für die
Beschreibung der anderen Gruppen von sieben oder fünfzehn einzelnen Elementen
im restlichen Teil der Beschreibung, zum Beispiel für die ARA-Register 32-0 bis 32-7,
die NRA-Register 28-0 bis 28-7 usw.
-
Im
Folgenden wird das vollständige
Laden der ASA-Register 20 und 21 beschrieben.
Dies geschieht, wie bereits erwähnt,
durch acht aufeinander folgende Übertragungen
der von der FAQ-Schaltung 5 gelieferten Adressen über den
Multiplexer 106, den Grenzsignalspeicher 108,
den Schattensignalspeicher 110, den Multiplexer 112,
das Pipelineregister 114 und den Multiplexer 112.
Zum Beispiel erfolgt das Laden des Registers 20-0 durch
die Übertragung
der (auf dem Bus 91) von der FAQ-Schaltung 5 gelieferten
Adresse über
den Multiplexer 106, die Signalspeicher 108 und 110,
den Multiplexer 112, das Pipelineregister 114 und
das NSA-Register 22-0. Dann wird das ASA-Register 20-1 durch
eine ähnliche Übertragung über sein
entsprechendes NSA-Register 22-1 geladen usw.
-
Auf
die gleiche Weise werden auch die ASA-Register 21 nacheinander über den
Multiplexer 107, den Grenzsignalspeicher 109,
den Schattensignalspeicher 111, den Multiplexer 113,
das Pipelineregister 115 und die acht NSA-Register 23 geladen.
-
Die
Multiplexer 106 und 107 weisen, wie oben erwähnt, einen
zweiten Eingang auf, über
den sie jeweils den Inhalt der ASA-Register 20 bzw. 21 empfangen.
Durch die Verwendung des zweiten Eingangs der Multiplexer 106 und 107 können die
in die ASA-Register 20 und 21 (zum Beispiel in
das ASA-Register 20-i, wenn die Übertragung während des
i-ten Zyklus der acht Systemtaktzyklen erfolgt) geladenen Adressen
erneut verwendet werden. Dabei ist zu beachten, dass die beiden
Gruppen von ASA-Registern eine einheitliche Gruppe von sechzehn
Registern bilden, welche den sechzehn Eingangsanschlüssen des
Koppelmoduls zugeordnet sind. Die Anordnung der ASA-Register in
zwei Gruppen 20 und 21 ist für die Erfindung von Vorteil,
da so die erforderliche Anzahl der Systemtaktzyklen zur Berechnung
der sechzehn Adressen verringert wird, die zum Laden der sechzehn
Zellen in den Zellenspeicher 1 benötigt werden. Die Erfindung
ist in der Lage, sechzehn verschiedene Eingangsanschlüsse mit
nur acht aufeinander folgenden Zyklen zu bedienen.
-
Wenn
die freien Adressen in die ASA-Register 20 und 21 geladen
sind, kann der Zellenzyklus zum Laden der eigentlichen N-Byte-Zelle in den Zellenspeicher 1 gestartet
werden. Dabei zeigt sich, dass in jeweils einem der sechzehn ASA-Register
eine Adresse für
jeden Eingangsanschluss zur Verfügung
gestellt wird. Genauer gesagt, die am Eingangsanschluss Nummer 2n
ankommende Zelle (wobei n eine ganze Zahl zwischen 0 und 7 ist)
wird über
die entsprechende Vermittlungseinheit 2 – (2n) an einem Speicherplatz
im Zellenspeicher 1 gespeichert, dessen Adresse durch den
Inhalt des ASA-Registers 20-n definiert ist. Wenn die Zelle
an einem ungeradzahligen Eingangsanschluss, also mit der Nummer
2n + 1 (wobei n eine ganze Zahl zwischen 0 und 7 ist), ankommt,
wird sie über
die Vermittlungseinheit 2(n + 1) an einem Speicherplatz im Zellenspeicher 1 geladen,
dessen Adresse durch den Inhalt des ASA-Registers 21-n definiert
ist. Es ist klar, dass bei dieser Anordnung die vollständige Speicherung
einer ganzen Zelle mit N elementaren Bytes insgesamt N Systemtaktperioden
benötigt,
während
der Steuerbereich für
die Speicherung der ASA-Register 20 und 21 acht
Systemtaktperioden benötigt.
Dabei ist jedoch zu beachten, dass jede Vermittlungseinheit 2 jeweils
einem bestimmten der sechzehn ASA-Register 20 und 21 zugeordnet
ist und gleichzeitig sechzehn Zellen in den Zellenspeicher 1 geladen
werden können.
Genauer gesagt, der Ausgangsbus des ASA-Registers 20-n führt zur
Vermittlungseinheit 2 – (2n)
und der Ausgangsbus des ASA-Registers 21-n zur Vermittlungseinheit
2 – (2n
+ 1).
-
Im
Folgenden wird in Verbindung mit dem oben erwähnten Laden der ASA-Register 20 und 21 der
Vermittlungsprozess der ankommenden Zelle im einzelnen beschrieben.
Bei der bevorzugten Ausführungsart
der Erfindung basiert dieser Vermittlungsprozess auf der Verwendung
eines Leitwegvorsatzes, der eine Größe von ein oder zwei Byte haben
kann.
-
Wenn
der Vorsatz auf ein einziges Byte beschränkt ist, reagiert das Koppelmodul
gemäß der vorliegenden
Erfindung je nach dem Wert des höchstwertigen
Bits (Most Significant Bit, MSB) des Vorsatzes auf unterschiedliche
Weise. Dabei arbeitet das Koppelmodul gemäß der folgenden Beschreibung
im Unicastmodus (bidirektionale Einzelübertragung), wenn der Wert
des MSB des einen Bytes im Leitwegvorsatz gleich null ist, und im
Multicastmodus (selektives Rundsenden), wenn der Wert des MSB gleich
eins ist.
-
Im
Unicastmodus sind die Vorsatzdaten wie folgt definiert:
wobei
die Modulnummer genau dasjenige Modul definiert, welches die Zelle
weiterleitet. Die Anschlussnummer definiert die Kennung desjenigen
Anschlusses, zu welchem die Zelle weitergeleitet werden soll.
-
Im
anderen Fall, also wenn das MSB gleich eins ist, was bei einem Byte
für den
Multicastmodus typisch ist, dienen die übrigen Bits des 1-Byte-Vorsatzes
als Multicastkennung zum Festlegen der Ausgangsanschlüsse, zu
denen die Zelle mehrfach gesendet werden soll. Dies wird im Folgenden
erläutert.
-
Abgesehen
vom 1-Byte-Vorsatz kann das Koppelmodul der vorliegenden Erfindung
auch mit einem 2-Byte-Vorsatz arbeiten. In diesem Fall definieren
die sechzehn Bits des Letzteren diejenigen Ausgangsanschlüsse, zu
denen die Zelle mehrfach gesendet werden soll. Dabei ist jedes der
sechzehn Bits des Vorsatzes einem Ausgangsanschluss zugeordnet – zum Beispiel
das dem Ausgangsanschluss mit der Nummer 0 entsprechende MSB – und jedes
auf eins gesetzte Bit im Vorsatz zeigt an, dass die Zelle mit diesem
Vorsatz zu jedem Ausgangsanschluss gesendet werden soll, welcher
diesem Bit zugeordnet ist. Wenn zum Beispiel das MSB auf „eins" gesetzt ist, wird
die Zelle zum Ausgangsanschluss 0 gesendet, und wenn das Bit Nummer
1 auf eins gesetzt ist, wird dieselbe Zelle auch zum Ausgangsanschluss
Nummer 1 gesendet.
-
Da
sich aus der Verwendung unterschiedlicher Vorsatzformate verschiedene
Modi ergeben, kann das Koppelmodul sehr flexibel arbeiten, wobei
lediglich der in das Koppelmodul zu ladende Mikrocode angepasst werden
muss.
-
Im
Folgenden werden ausführlich
die bidirektionale Einzelübertragung
mit einem 1-Byte-Vorsatz (der so genannte „Unicastmodus"; Kapitel 1.1), das
selektive Rundsenden mit einem 1-Byte-Vorsatz (der so genannte „integrierte
Multicastmodus";
Kapitel 1.2) und abschließend
der Modus mit einem 2-Byte-Vorsatz (der so genannte „Bitmapmodus"; Kapitel 1.3) beschrieben.
-
Kapitel 1.1. Beschreibung
der bidirektionalen Einzelübertragung
(Unicastmodus mit 1-Byte-Vorsatz)
-
Der
Unicastmodus basiert auf der Verwendung der beiden Gruppen von Halteregistern 60 und 61,
welche eine Gesamtheit von sechzehn Halteregistern bilden. Während die
sechzehn Zellen (zu je N Bytes) geladen werden, wird gleichzeitig
der 1-Byte-Vorsatz
jeder Zelle jeweils in eines der oben erwähnten sechzehn Halteregister 60 bzw. 61 geladen.
Diese sechzehn Halteregister (die Register 60-0 bis 60-7 und 61-0 bis 61-7) speichern
den Vorsatz so lange, bis der gesamte Ladeprozess der Zellen vollständig abgeschlossen
ist. Bei der Anordnung der vorliegenden Erfindung wird der Vorsatz
der durch den Anschluss 2n ankommenden Zelle in das Halteregister 60(n) und
der Vorsatz der durch den Anschluss 2n + 1 ankommenden Zelle in
das Halteregister 61(n) geladen. Die in diese sechzehn
Halteregister geladenen sechzehn Werte werden dann durch den Steuerbereich
des Koppelmoduls verwendet. 2 und 3 zeigen,
dass jedes Halteregister 60-i über einen EVEN-Bus 150 mit
einem Steuermodul 200 sowie mit einem Multicasttabellenspeicher 6 verbunden
ist. Desgleichen ist jedes Halteregister 61-i über einen
ODD-Bus 151 mit dem Steuermodul 200 und dem Multicasttabellenspeicher 6 verbunden.
-
Ähnlich wie
bei dem oben beschriebenen Ladeprozess der ASA-Register 20 und 21 erfolgt
der Zugriff auf die sechzehn Halteregister 60 und 61 während acht
aufeinander folgender Systemtaktperioden, wobei während jedes
Taktes ein doppeltes ODD-EVEN-Halteregister auf den Bus 150 und
den Bus 151 zugreift. Genauer gesagt, während des Taktes mit der Nummer
0 beispielsweise greifen die Halteregister 60(0) und 61(0) auf
den EVEN-Bus 150 bzw. auf den ODD-Bus 151 zu,
um ihren Inhalt zum Steuermodul 200 zu übertragen. Während des
nächsten
Taktes befördern
die Busse 150 und 151 den Inhalt der Halteregister 60(1) und 61(1) weiter
usw.
-
Man
beachte, dass durch den Zugriff der Halteregister 60(i) und 61(i) auf
das Steuermodul 200 insbesondere die Überwachung des MSB des Vorsatzes
jeder in das Koppelmodul eingegebenen Zelle möglich wird. Insbesondere kennt
das Steuermodul dadurch den passenden Betriebsmodus – Unicast
oder integriertes Multicast – für jeden
Eingangsanschluss. Wenn beispielsweise der in das Halteregister 60(i) geladene
Vorsatz ein MSB mit dem Wert null aufweisen – was den Betriebsmodus Unicast
anzeigt – legt
das Steuermodul 200 fest, dass der betreffende Eingangsanschluss
2n im Unicastmodus arbeiten soll. Wenn das MSB des Halteregisters 61(i) hingegen
den Wert eins aufweist – was
den Betriebsmodus integriertes Multicast anzeigt – veranlasst
das Steuermodul 200, dass die betreffende Zelle in dem
im Folgenden beschriebenen integrierten Multicastmodus verarbeitet
werden soll.
-
Aufgrund
dieser Tatsache ermöglicht
das Koppelmodul der vorliegenden Erfindung, dass die sechzehn Eingangsanschlüsse entsprechend
dem Inhalt des durch die jeweiligen Eingangsanschlüsse beförderten
Leitwegvorsatzes völlig
unabhängig
voneinander, also in verschiedenen Modi, arbeiten können – im Unicast-
oder im integrierten Multicastmodus.
-
Der
Vermittlungsprozess im Unicastmodus verläuft wie folgt:
Die Gruppen 50 und 51 zu
je acht Warteschlangen bilden eine Ausgangswarteschlange. Jede einzelne OAQ-Warteschlange
der Gruppen 50 und 51 stellt einen doppelten Eingangsanschluss
von mindestens 64 Byte dar, der mit dem EVEN-Bus 104 und
dem ODD-Bus 105 verbunden
ist. Außerdem
empfängt
jede OAQ-Warteschlange
vom Steuermodul 200 ein ODD-Schreibfreigabe- und ein EVEN-Schreibfreigabesteuersignal.
Die je sechzehn Gruppen von ODD- und EVEN-Schreibfreigabesteuerleitungen
bilden einen Bus 210 mit 32 Leitungen. Analog
der oben bereits verwendeten Bezeichnungsweise ist jede OAQ-Warteschlange
jeweils einem der sechzehn Ausgangsanschlüsse des Koppelmoduls zugeordnet.
So ist der Ausgangsanschluss mit der Nummer 2n der OAQ-Warteschlange 50(n) und
der Ausgangsanschluss 2n + 1 der OAQ-Warteschlange 51(n) zugeordnet.
-
Zu
einem bestimmten Zeitpunkt (als Zyklus n bezeichnet) werden die
beiden Eingangsanschlüsse
2n und 2n + 1 wie folgt verarbeitet: Die Steuerschaltung 200 greift über den
Bus 150 auf den Inhalt der Halteregister 60(n) (d.h.
den Vorsatz der Zelle am Eingangsanschluss 2n) und über den
Bus 151 auf den Inhalt der Halteregister 61(n) (d.h.
den am Eingangsanschluss 2n + 1 empfangenen Vorsatz der Zelle) zu.
Das Steuermodul verwendet diese Vorsatzdaten zur Erzeugung der entsprechenden
ODD- und EVEN-Schreibfreigabesteuersignale, damit der Inhalt der
ASA-Register 20(n) und 21(n) in eine oder zwei
der sechzehn OAQ-Warteschlangen 50 bzw. 51 geladen
wird.
-
Genauer
gesagt, das Steuermodul erzeugt die Schreibfreigabesteuersignale
auf dem Bus 210, damit der Inhalt der ASA-Register 20(n) in
eine der sechzehn OAQ-Warteschlangen 50 bzw. 51 geladen
wird, welche demjenigen Ausgangsanschluss entspricht, der aus dem
Inhalt des zum Halteregister 60(n) beförderten und darin gespeicherten
Vorsatzes, speziell dem durch die Bits 4 bis 7 des 1-Byte-Vorsatzes
definierten Feld „Anschlussnummer", ermittelt werden
kann.
-
Gleichzeitig
wird der Inhalt des ASA-Registers 21(n) in eine der sechzehn
Ausgangswarteschlangen 50 bzw. 51 geladen, welche
demjenigen Ausgangsanschluss entspricht, der aus dem Inhalt des
im Halteregister 61(n) gespeicherten Vorsatzes, speziell
dessen Bits 4 bis 7, ermittelt werden kann.
-
Zur
Verdeutlichung soll der Eingangsanschluss 2n betrachtet werden:
wenn der Inhalt des Halteregisters 60(n) gleich einer ganzen
Zahl 2p ist, wird der Inhalt des ASA-Registers 20(n) in
die Ausgangswarteschlange 50(p) geladen. Das führt gemäß der folgenden
Beschreibung dazu, dass die am Eingangsanschluss 2n ankommende Zelle
entsprechend dem Inhalt des durch die Zelle beförderten Leitwegvorsatzes zum
Ausgangsanschluss mit der Nummer 2p weitergeleitet wird.
-
Wenn
der Inhalt des Halteregisters 60(n) gleich einer ganzen
Zahl 2p + 1 ist, erzeugt das Steuermodul 200 auf dem Bus 210 die
entsprechenden Schreibfreigabesteuersignale, damit der Inhalt des
ASA-Registers 20(n) in die OAQ 51(p) geladen und
damit die am Eingangsanschluss 2n empfangene Zelle zum Ausgangsanschluss
2p + 1 weitergeleitet wird.
-
Ähnlich verläuft die
Verarbeitung des Eingangsanschlusses 2n + 1: wenn der Inhalt des
Halteregisters 61(n) gleich einer ganzen Zahl 2q ist, wird
der Inhalt des ASA-Registers 21(n) in die Ausgangswarteschlange 50(q) geladen
(damit die Zelle zum Ausgangsanschluss 2q weitergeleitet wird).
Wenn der Inhalt des Halteregisters 61(n) gleich 2q + 1
ist, erzeugt das Steuermodul 200 die entsprechenden Schreibfreigabesteuersignale, damit
der Inhalt des ASA-Registers 21(n) in die Ausgangswarteschlange 51(q) und
damit die Zelle zum Ausgangsanschluss 2q + 1 weitergeleitet wird.
-
Es
kann mitunter vorkommen, dass die an den Eingangsanschlüssen 2n
und 2n + 1 ankommenden und in den Speicher 1 geladenen
Zellen entsprechend dem durch die beiden Zellen beförderten
Vorsatz zu demselben Ausgangsanschluss weitergeleitet werden, zum
Beispiel zum Ausgangsanschluss 2p (bzw. 2p + 1). In diesem Fall
enthalten die beiden Halteregister 60(n) und 61(n) denselben
Vorsatz, was dazu führt,
dass der Inhalt der ASA-Register 20(n) und 21(n) in
dieselbe Ausgangswarteschlange 50(p) (bzw. 51(p))
geladen wird. Die Erfindung löst
diese Konkurrenzsituation durch die Verwendung eines Speichers mit
einem Doppelanschluss, um jede der sechzehn Ausgangswarteschlangen 50 und 51 zu
realisieren.
-
1.2 Beschreibung des selektiven
Rundsendens mit 1-Byte-Vorsatz (integriertes Multicast)
-
Der
integrierte Multicastmodus basiert auf der Verwendung von zwei Gruppen
von Halteregistern 60 und 61, die insgesamt 16
Register ergeben.
-
Der
Vorsatz der am Eingangsanschluss 2n ankommenden Zelle wird wie oben
in das Halteregister 60(n) und der Vorsatz der am Eingangsanschluss
2n + 1 ankommenden Zelle in das Halteregister 61(n) geladen.
Zum Laden der sechzehn Halteregister 60 und 61 sind
auch hier acht Taktperioden erforderlich, da zwei Register gleichzeitig
geladen werden können.
-
Durch
die Kontrolle des MSB des in jeder Zelle enthaltenen 1-Byte-Vorsatzes ist,
wie oben erwähnt wurde,
dem Steuermodul 200 die entsprechende Verarbeitungsart, – Unicast
oder integriertes Multicast – bekannt,
der jede an einem Eingangsanschluss ankommende Zelle unterzogen
werden soll.
-
Der
Vermittlungsprozess im integrierten Multicastmodus verläuft wie
folgt:
Die sechzehn Ausgangswarteschlangen 50 und 51 der
OAQ-Warteschlange 4 mit
je einem Doppelanschluss sind wie oben so angeordnet, dass der Ausgangsanschluss 2n der
Warteschlange 50(n) und der Ausgangsanschluss 2n + 1 der
Warteschlange 51(n) zugeordnet ist.
-
Zu
einem bestimmten Zeitpunkt, während
des Zyklus n, werden die beiden Eingangsanschlüsse 2n und 2n + 1 wie folgt
verarbeitet: die 7 niedrigstwertigen Bits (Low Significant Bit,
LSB) der beiden jeweils in das Halteregister 60(n) bzw. 61(n) geladenen
Vorsätze – welche
dem oben erwähnten
Multicastzeichen entsprechenden – werden zum gleichzeitigen
Adressieren des Multicasttabellenspeichers 6 über die
Busse 150 und 151 verwendet. Dies bedeutet die
Ausführung
von gleichzeitigen Leseoperationen des für die Realisierung des Multicasttabellenspeichers 6 verwendeten
Doppelanschlussspeichers. Der Multicasttabellenspeicher 6 stellt zwei
16-Bit-Datenbusse 152 und 153 dar, die jeweils
mit einem ersten 16-Bit-Eingangsbus eines Multiplexers 64 und
einem ersten 16-Bit-Eingangsbus eines Multiplexers 65 verbunden
sind. Der Multiplexer 64 (bzw. 65) weist einen
zweiten Eingangsbus auf, der jeweils so geschaltet ist, dass über diesen
der Inhalt der beiden 8-Bit-Halteregister 60(n) und 62(n) (bzw.
Halteregister 61(n) und 63(n)) empfangen wird.
Die Verwendung dieses zweiten Eingangsbusses der Multiplexer 64 und 65 wird
unter Bezug auf die obige Beschreibung des Bitmap-Multicastmodus
genauer erläutert.
Die Multiplexer 64 und 65 weisen jeweils einen
16-Bit-Ausgangsbus auf, der mit einem bestimmten Teil (so genannter
MultiCast oder MC) des Steuermoduls 200 verbunden ist.
-
Die
Ergebnisse der beiden gleichzeitigen Leseoperationen des Speichers 6 werden
dem Steuermodul 200 über
die Multiplexer 64 bzw. 65 angezeigt. Man beachte,
dass die Steuerung aller im Koppelmodul der vorliegenden Erfindung
verwendeten Multiplexer mittels einer universellen Steuervorrichtung
wie beispielsweise eines (in der Figur nicht dargestellten) universellen
Mikroprozessors erfolgt. Wenn also das Steuermodul 200 feststellt,
dass Eingangsanschlüsse
der integrierten Multicastverarbeitung zu unterziehen sind, bedient
es sich des Inhalts der Multicasttabellen, die von den Multiplexern 64 und 65 über die
Busse 154 bzw. 155 übermittelt werden, um auf dem
Bus 210 die entsprechenden Schreibfreigabesteuersignale
zu erzeugen, damit der Inhalt der ASA-Register 20(n) und 21(n) in
die entsprechenden Warteschlangen 50 und 51 geladen
wird, welcher auf die für
die Multicastoperation vorgesehenen Ausgangsanschlüsse verweist.
-
Dies
geschieht wie folgt: Entsprechend der Multicastkennung in dem in
das Halteregister 60(n) geladenen Vorsatz am Eingangsanschluss
2n liefert die Leseoperation im Multicasttabellenspeicher 6 ein 16-Bit-Wort,
das über
den Bus 152 ausgegeben wird. Jedes der sechzehn Bits dieses
Wortes ist einem Ausgangsanschluss des Koppelmoduls zugeordnet.
Zum Beispiel entspricht das MSB dem Ausgangsanschluss mit der Nummer
0, welcher dem OCD-Treiber 11(0) zugeordnet ist, und das
LSB dem Ausgangsanschluss 15. Somit definierten die sechzehn Bits
des über
den Bus 152 ausgegebenen Worts die verschiedenen Ausgangsanschlüsse, zu
denen ein Exemplar der Zelle mit dem betreffenden 1-Byte-Vorsatz
weitergeleitet werden soll. Wenn die Zelle zu den EVEN-Ausgangsanschlüssen (d.h.
Anschlüsse
0, 2, 4, ..., 14) weitergeleitet werden soll, lautet das Wort X'AAAA' (hexadezimal). Wenn
die Zelle zu allen Ausgangsanschlüssen weitergeleitet werden soll,
was einem so genannten Rundsendemulticast entspricht, lautet das
Wort X'FFFF'.
-
Allgemein
gesagt, das Steuermodul 200 erzeugt die Schreibfreigabesteuersignale
auf dem Bus 210, damit der Inhalt des ASA-Registers 20(n) in
die Gruppe der entsprechenden Warteschlangen aller sechzehn Ausgangswarteschlangen 50 und 51 in
Kasten 4 geladen wird, welche dem durch das auf dem Bus 152 übertragene
Wort definierten Ausgangsanschluss entspricht. Der Inhalt des Registers 21(n) wird
gleichzeitig in die Gruppe der entsprechenden Warteschlangen aller
sechzehn Ausgangswarteschlangen der OAQ in Kasten 4 geladen,
welche dem durch den auf dem Bus 152 übertragenen Wert definierten
Ausgangsanschluss entspricht. Genauer gesagt, wenn während des
Zyklus n das Bit mit der Nummer p auf dem Bus 154 gleich „EINS" ist, wird der Inhalt
des ASA-Registers 20(n) (was dem Eingangsanschluss 2n entspricht)
in die Ausgangswarteschlange 50(p) geladen. Das führt dazu,
dass ein weiteres Exemplar der Zelle zum Ausgangsanschluss 2p weitergeleitet
wird. Wenn während
desselben Zyklus n das Bit mit der Nummer 2p + 1 gleich „EINS" ist, schließt das Steuermodul 200 daraus,
dass der Inhalt des ASA-Registers 20(n) (was ebenfalls
dem Eingangsanschluss 2n entspricht) zur Ausgangswarteschlange OAQ 51(p) weitergeleitet
wird. Das führt
dazu, dass ein weiteres Exemplar der am Eingangsanschluss 2n ankommenden
Zelle zum Ausgangsanschluss 2p + 1 weitergeleitet wird. Durch diesen Mechanismus
ist es möglich,
eine (im vorliegenden Beispiel am Eingangsanschluss 2n ankommende)
Zelle mehrfach zu einer beliebigen Kombination von Ausgangsanschlüssen weiterzuleiten.
-
Wenn
das Bit mit der Nummer 2q auf dem Bus 155 ebenfalls während des
Zyklus n gleich eins ist, überträgt das Steuermodul 200 den
Inhalt des ASA-Registers 21(n) (was dem Eingangsanschluss
2n + 1 entspricht) zur Ausgangswarteschlange 50(q). Auch
hier wird ein Exemplar der am Eingangsanschluss 2n + 1 ankommenden
Zelle zum Ausgangsanschluss 2q weitergeleitet. Desgleichen wird,
wenn das Bit mit der Nummer 2q + 1 auf dem Bus 155 während des
Zyklus n gleich eins ist, der Inhalt des ASA-Registers 21(n) in
die Ausgangswarteschlange 51(q) geladen und ein Exemplar
der Zelle zum Ausgangsanschluss 2q + 1 weitergeleitet.
-
Bei
dem oben beschriebenen Mechanismus kann es durchaus vorkommen, dass
die beiden an den Eingangsanschlüssen
2n und 2n + 1 ankommenden Zellen einen Vorsatz enthalten, der für beide
Zellen eine Rundsendeoperation vorsieht, sodass für alle Ausgangsanschlüsse je ein
Exemplar der Zelle bereitgestellt werden muss. In diesem sehr speziellen
Fall befördern
die beiden Busse 154 und 155 während des zur Verarbeitung
der sechzehn Anschlüsse
erforderlichen Taktperioden dieselbe Information, d.h. X'FFFF' (hexadezimal). Das
Steuermodul 200 erzeugt gleichzeitig die 32 Schreibfreigabesteuersignale
auf dem Bus 210, sodass der Inhalt der beiden während des
Zyklus n zu verarbeitenden ASA-Register 20(n) und 21(n) in
die sechzehn Ausgangswarteschlangen OAQ 50 und 51 geladen
wird. Da diese Warteschlangen als Speicher mit Doppelanschluss ausgeführt sind,
zeigt sich, dass eine Konkurrenzsituation erfolgreich vermieden
wird.
-
Als
Nächstes
muss mittels einer speziellen Operation der Ausgabeprozess für die beiden
von den ASA-Registern 20(n) und 21(n) übertragenen
Adressen vorbereitet werden. Bei diesem Mechanismus wird eine Zählspeicherschaltung 7 verwendet.
Dabei dient während
des Zyklus n die durch den Inhalt des ASA-Registers 20(n) und über den
Bus 104 übertragene
Adresse zum Adressieren des Zählspeichers 7,
um in diesem zu speichern, wie oft die betreffende Adresse im ASR-Register 20(n) in
der Ausgangswarteschlange 4 gespeichert worden ist und
wie viele Exemplare der betreffenden Zelle somit in den Zellenspeicher 1 geladen
werden müssen.
Speziell bei einer Unicastoperation ist der Wert, welcher unter
der durch den Inhalt des ASA-Registers 20(n) definierten
Adresse in den Zählspeicher 7 geladen
wird, gleich 1. Bei einer Multicastoperation der am Anschluss 2n
ankommenden Zelle stellt der in den Zählspeicher geladene Wert die
Anzahl Einsen auf dem Bus 154 dar, das heißt, wie
viele Exemplare der Zelle zu den Ausgangsanschlüssen weitergeleitet werden
sollen.
-
Gleichzeitig
wird die während
des Zyklus n in das ASA-Register 21(n) geladene Adresse
in derselben Weise verarbeitet. Daher ist bei einer Unicastoperation
am Eingangsanschluss 2n + 1 der Wert, welcher unter der durch den
Inhalt des ASA-Registers 21(n) in den Zählspeicher 7 geladen
werden soll, gleich 1 und bei einer Multicastoperation gleich der
aktuellen Anzahl der auf dem Bus 155 vorhandenen Einsen.
-
1.3. Beschreibung des
selektiven Rundsendens mit 2 Byte Vorsatz (Bitmapmodus)
-
Im
Bitmapmodus werden die Multiplexer 64 und 65 gegenüber dem
Modus mit 1-Byte-Vorsatz (mittels einer in der Figur nicht dargestellten
Steuervorrichtung) umgekehrt.
-
Dadurch
können
die Daten direkt vom Bus 156 zum Bus 154 und gleichermaßen die
Daten vom Bus 157 direkt zum Bus 155 übertragen
werden.
-
Der
Bitmapmodus basiert auf der Verwendung von Halteregistern 60, 61, 62 und 63 zu
je acht Bit, also insgesamt 32 Registern. Der 2-Byte-Vorsatz der über den
Eingangsanschluss 2n ankommenden Zelle wird in die Halteregister 60(n) und 62(n) und
der Vorsatz der über
den Eingangsanschluss 2n + 1 ankommenden Zelle in die Halteregister 61(n) und 63(n) geladen.
Zum vollständigen
Laden der 32 Halteregister werden insgesamt acht aufeinander folgende
Zyklen benötigt.
Im Bitmapmodus werden die Multicasttabelle 6 sowie die
Busse 150, 151, 152 und 153 nicht
verwendet. Für
den Übergang
des Steuermoduls 200 in diesen Bitmapmodus ist eine Initialisierungsperiode
erforderlich, damit das Modul die auf den Bussen 154 und 155 ankommenden 16-Bit-Wörter bzw.
die 2-Byte-Vorsätze der
an den Eingangsanschlüssen
2n und 2n + 1 ankommenden Zellen verarbeiten und die entsprechenden
Schreibfreigabesteuersignale auf dem Bus 210 erzeugen kann.
Dadurch wird der Inhalt der ASA-Register 20(n) und 21(n) in
die entsprechenden Warteschlangen 50 und 51 geladen, welche
genau den für
die Multicastoperation vorgesehenen Ausgangsanschlüssen entsprechen,
wie bei dem integrierten Multicastmodus in Kapitel 1.2 beschrieben.
-
Bei
dem speziellen Fall, in dem eine Unicastoperation mit einer am Eingangsanschluss
2n ankommenden Zelle durchgeführt
werden soll, weist der 2-Byte-Vorsatz eine einzige „1" auf, deren Stellung
unter allen sechzehn Bits genau denjenigen Ausgangsanschluss definiert,
zu dem die Zelle weitergeleitet werden soll.
-
Der
Zählspeicher
schließlich
wird ebenso wie oben beschrieben zur Vorbereitung des Ausgabeprozesses
verarbeitet, bei dem die einzelnen in die ASA-Register 20(n) und 21(n) geladenen
Adressen verwendet werden.
-
Im
Folgenden wie der Ausgabeprozess ausführlich beschrieben.
-
2. Beschreibung des vom
Koppelmodul ausgeführten
Ausgabeprozesses
-
Der
Ausgabeprozess ist vom Eingabeprozess unabhängig und verläuft in zwei
unterschiedlichen Phasen.
-
Zunächst wird
eine erste, vorbereitende Phase gestartet, die 8 aufeinander folgende
Zyklen erfordert. Während
des Zyklus n wird gleichzeitig die Verarbeitung der Ausgangsanschlüsse 2n und
2n + 1 vorbereitet. während
der ersten Phase können
die sechzehn ARA-Register 32 und 33 geladen werden.
Dies geschieht wie folgt: während
des Zyklus n wird die in die Rusgangsadresswarteschlange 50(n) geladene
Adresse entnommen und (gesteuert durch einen in der Figur nicht
dargestellten internen Prozessor) über den Grenzsignalspeicher 30,
das Schattenregister 34 und den Multiplexer 26 zum
NRA-Register 28(n) befördert.
Gleichzeitig wird die in die Ausgangsadresswarteschlange 51(n) geladene
Adresse entnommen und über
den Grenzsignalspeicher 31, das Schattenregister 35 und
den Multiplexer 27 zum NRA-Register 29(n) befördert. Somit
nimmt das Laden der sechzehn NRA-Register 28 und 29 insgesamt
acht Systemtaktperioden in Anspruch. Nach diesen acht Zyklen wird
gleichzeitig der Inhalt jedes der sechzehn NRA-Register 28 und 29 in
jeweils eines der sechzehn ARA-Register 32 und 33 geladen.
Damit ist die erste Initialisierungsphase abgeschlossen.
-
Dann
kann die zweite Phase beginnen. Die nunmehr in den ARA-Registern 32 und 33 verfügbaren sechzehn
Adressen werden den ihnen entsprechenden Ausgangs-Vermittlungseinheiten 3-0 bis 3-15 zugeleitet.
Dann stellt jede Vermittlungseinheit die Verbindung ihres entsprechenden
Ausgangsanschlusses zu einem der 128 Speicherplätze im Zellenspeicher 1 her,
welcher der Adresse entspricht, die durch den Inhalt des entsprechenden
ARA-Registers 32 oder 33 definiert ist. Genauer
gesagt, jede Vermittlungseinheit 3(2p), mit p = 0 bis 7, stellt
die Verbindung des Ausgangsanschlusses 2p zu demjenigen Speicherplatz
im Zellenspeicher 2 her, der durch den Inhalt des ARA-Registers 32(p) definiert
ist. Gleichzeitig stellt jede Vermittlungseinheit 3(2p + 1), mit
p = 0 bis 7, die Verbindung des Ausgangsanschlusses 2p + 1 zu demjenigen
Speicherplatz im Zellenspeicher 1 her, der durch den Inhalt
des ARA-Registers 33(p) definiert ist. Somit können die
sechzehn Abrufoperationen gleichzeitig ausgeführt und sechzehn Zellen zu
den sechzehn OCD-Treibern 11 weitergeleitet werden, was
einen sehr wirksamen Vermittlungsmechanismus darstellt. Man beachte,
dass für
den Gesamtvorgang der Zellenentnahme N Taktperioden erforderlich
sind.
-
Nach
Beendigung des Ausgabeprozesses werden die sechzehn in den ARA-Registern
befindlichen Adressen zu den entsprechenden Speicherplätzen einer
Gruppe von sechzehn Altadressenregistern (Old Retrieve Address,
ORA) 24(0) bis 24(7) und 25(0) bis 25(7) übertragen.
Dies wird durch eine einzige Übertragung des
Inhalts der ARA-Register 32(n) und 33(n) in die
ORA-Register 24(n) und 25(n) erreicht.
-
Man
beachte, dass bei der bevorzugten Ausführungsart der vorliegenden
Erfindung die Doppelübertragung
des Inhalts der NRA-Register 28(n) und 29(n) zu
den entsprechenden ARA-Registern 32(n) und 33(n) gleichzeitig
mit der Doppelübertragung
des Inhalts der ARA-Register 32(n) und 33(n) zu
den ORA-Registern 24(n) und 25(n) erfolgt.
-
Dann
wird der Prozess fortgesetzt mit der Wiederherstellung der Adressen
des Zellenspeichers 1, der wieder verfügbar wird, da die geladenen
Zellen entnommen werden können.
Dieser Prozess bedient sich des Zählspeichers 7, um
die Möglichkeit
der Mehrfachzählung
beim Multicastmodus zu berücksichtigen.
Beim Übermitteln
von Multicastzellen verhindert die Erfindung nämlich, dass der betreffende
Speicherplatz im Zellenspeicher 1 nach der ersten Abrufoperation
dieser Zelle wieder zur Verfügung
steht, bevor das letzte Exemplar der Zelle übertragen worden ist. Der Prozess
der vorliegenden Erfindung berücksichtigt
auch die Tatsache, dass beispielsweise beim Übertragen von drei Exemplaren
einer Zelle über
drei verschiedene Anschlüsse
das Abrufen jedes Exemplars für
jeden einzelnen Ausgangsanschluss nicht unbedingt zum selben Zeitpunkt
erfolgen muss. Die Differenz der aktuellen Abrufoperation derselben
Zelle hängt
offensichtlich vom aktuellen Laden der OAQ-Warteschlange ab, welche
dem betreffenden Ausgangsanschluss entspricht, also vom tatsächlichen Datenverkehr
am Ausgangsanschluss.
-
Der
Wiederherstellungsprozess erfordert insgesamt acht Systemtaktzyklen,
die wie folgt ablaufen: während
des Zyklus n wird der Inhalt des ORA-Registers 24(n) über den
Bus 158 der FAQ-Schaltung 5 und der Zählspeicherschaltung 7 zugeleitet.
Der Zählspeicher 7 stellt
für die
betreffende durch den Wert auf dem Bus 158 definierte Adresse
die Anzahl der restlichen Reservierungen zur Verfügung, das
heißt,
wie oft die am betreffenden Speicherplatz gespeicherte Zelle noch
abgerufen werden soll. Diese Zahl wird dann um eins verringert und
das Ergebnis der Subtraktion geprüft. Wenn das Ergebnis ungleich
null ist, wird es wieder unter derselben Adresse in der Zählspeicherschaltung 7 gespeichert.
Wenn das Ergebnis jedoch gleich null ist – gleichbedeutend mit der letzten
durch den Vorsatz angeforderten Abrufoperation – wird auch dieses Ergebnis unter
derselben Adresse in den internen Speicher der Zählspeicherschaltung 7 gespeichert,
und die Schaltung 7 erzeugt auf Leitung 160 ein
Schreibfreigabesteuersignal, damit die auf dem Bus 158 anliegende
Adresse in den internen Speicher der FAQ-Schaltung 5 geladen
wird. Dieser Speicherplatz wird somit für weitere Zellenspeicheroperationen
freigegeben.
-
Gleichzeitig
wird derselbe Prozess für
den wert der Adresse durchgeführt,
die im ORA-Register 25(n) gespeichert ist und über den
Bus 159 zum Eingangsbus der FAQ-Schaltung 5 und
der Zählspeicherschaltung 7 übertragen
wird. Ebenso wie oben wird der über
den Bus 159 in die Schaltung 7 geladene Wert um
eins verringert und das Ergebnis der Subtraktion geprüft; wenn
das Ergebnis gleich null ist, erzeugt die Schaltung 7 auf
der zur FAQ-Schaltung 5 führenden Leitung 161 ein Schreibfreigabesteuersignal,
damit die betreffende Adresse in den internen Speicher der FAQ-Schaltung 5 geladen
wird. Anschließend
wird die betreffende Adresse wieder für weitere Zellenspeicheroperationen
für den
im Kapitel 1 beschriebenen Eingabeprozess freigegeben.
-
Man
beachte, dass die Verwendung der Doppelanschlussspeicherung beim
Realisieren des internen Speichers der beiden Schaltungen 5 und 7 von
großem
Vorteil ist. Dadurch ist es nämlich
möglich,
die Anzahl der zur Verarbeitung der verschiedenen Adressen im Zellenspeicher 1 erforderlichen
Zyklen um den Faktor zwei zu verringern. Bei einem Koppelmodul gemäß der Erfindung
mit 16 Eingangsanschlüssen
und 16 Ausgangsanschlüssen
sind nur 8 Systemtaktzyklen erforderlich.
-
4 veranschaulicht
die Verwendung eines einzelnen Koppelmoduls 401 der vorliegenden
Erfindung zum Aufbau einer Vermittlungseinheit. Die Figur zeigt,
dass eine bestimmte Zelle 410 durch das Koppelmodul 401 empfangen
und gemäß dem oben
beschriebenen Vermittlungsprozess weitergeleitet wird. Die durch
den Pfeil 420 dargestellte Zelle wird am entsprechenden
Ausgangsanschluss des Moduls 401 bereitgestellt. In dieser
Figur basiert die im Folgenden als Koppelfeld bezeichnete Vermittlungsvorrichtung
auf einem einzelnen Modul 401 und arbeitet mit einer Geschwindigkeit,
die im Wesentlichen durch eine bestimmte Technologie vorgegeben
ist.
-
Bei
einer einstufigen Architektur besteht jedoch die Forderung nach
höheren
Geschwindigkeiten. Das Koppelmodul der vorliegenden Erfindung lässt mit
ein und derselben Technologie auch höhere Geschwindigkeiten zu.
Das lässt
sich in vorteilhafter Weise durch eine bestimmte Anordnung identischer
Koppelmodule 401 erreichen, die im Folgenden ausführlich beschrieben
wird und eine sehr einfache und wirksame Zusammenschaltung mehrerer
Koppelmodule in einem so genannten Beschleunigungsmodus ermöglicht. 5 veranschaulicht
eine Anordnung, in der vier verschiedene Koppelmodule 401 bis 404 so
zusammengeschaltet sind, dass sie eine leistungsfähigere Koppelstruktur
mit höherer
Geschwindigkeit darstellt. Bei dieser aus vier Koppelmodulen 401 bis 404 bestehenden
Anordnung wird jede an einem Eingangsanschluss p der Gesamtkoppelstruktur
ankommende Zelle 410 logisch in vier verschiedene Teile 411, 412, 413 und 414 aufgeteilt
oder aufgespaltet. Der erste Teil 411 der Zelle geht zum
Eingangsanschluss p des Moduls 401 und der zweite Teil 412 zum
Eingangsanschluss p des Moduls 402. Entsprechend gehen
der dritte und der vierte Teil 413 und 414 der Zelle
jeweils zum Eingangsanschluss p des Koppelmoduls 403 bzw. 404.
-
Im
Folgenden wird sich zeigen, dass eine solche Anordnung aufgrund
der internen Schaltung der Koppelmodule 401 bis 404 von
Vorteil ist, da die vier verschiedenen Teile der Zelle 410 gleichzeitig
verarbeitet werden können.
Andererseits wird die Zelle abgerufen und zum entsprechenden Ausgangsanschluss
jedes Koppelmoduls 401 bis 404 weitergeleitet.
Speziell wird der erste Teil 421 der Zelle 420 zum
entsprechenden Ausgangsanschluss q des Koppelmoduls 401 und
der zweite Teil 422 der Zelle 420 zum entsprechenden
Ausgangsanschluss q des Koppelmoduls 402 weitergeleitet.
Entsprechend werden der dritte und der vierte Teil 423 und 424 der
Zelle zum entsprechenden Ausgangsanschluss q des Koppelmoduls 403 bzw. 404 weitergeleitet.
-
Somit
zeigt sich, dass die gleichzeitige Verarbeitung der vier verschiedenen
Teile der Zelle 410 zu einer Verringerung der durch jedes
einzelne Koppelmodul tatsächlich
verarbeiteten Zellengröße um den
Faktor vier führt.
Deshalb werden die Koppelmodule komplett zusammengeschaltet, um
so die effektive Geschwindigkeit der Koppelstruktur um den Faktor
vier zu erhöhen.
Durch die Anordnung ergibt sich der deutliche Vorteil, dass man
auch bei einer vorgegebenen Technologie die Geschwindigkeit des
Koppelprozesses erhöhen kann.
Im Folgenden wird ausführlich
erläutert,
dass durch einfaches Zusammenschalten der Koppelmodule der 2 und 3 eine
deutliche Geschwindigkeitssteigerung möglich ist. Da die Anzahl der
für jede
Zelle erforderlichen Zyklen für
jedes Koppelmodul 401 bis 404 um den Faktor vier
verringert wird, besteht die einzige Beschränkung beim Zusammenschalten
mehrerer Koppelmodule zum Aufbau einer leistungsfähigeren
Koppelstruktur 450 darin, die für die oben beschriebenen Eingabe-
und Ausgabeprozesse erforderlichen acht Systemtaktzyklen im Rahmen
der durch die jeweilige Technologie vorgegebenen Möglichkeiten
auszuführen.
Bei der vorliegenden Erfindung basiert die Leistungssteigerung der
Koppelstruktur 450 auf vier Koppelmodulen 401 bis 404,
und die Beschreibung bezieht sich ausschließlich auf diese spezielle Anordnung.
Ein Fachmann ist jedoch in der Lage, die folgende Beschreibung direkt
auf beliebige andere Kombinationen von Koppelmodulen anzupassen.
-
Bei
der Anordnung der bevorzugten Ausführungsart empfängt das
Koppelmodul 401 den ersten Teil der Zelle 410,
d.h. den Teil 401 mit dem zur Steuerung des oben beschriebenen
Vermittlungsprozesses verwendeten Leitwegvorsatz. Deshalb stellt
das Koppelmodul 401 in der Gesamtstruktur 450 das
Hauptmodul (Master) dar, das heißt, der Steuerbereich des Moduls 401 ist
für alle
vier Koppelmodule 401 bis 404 zuständig. Die
drei anderen Koppelmodule 402 bis 404 (Slave)
sind dem Modul 401 im Vermittlungsprozess untergeordnet,
und die vier verschiedenen Teile der ausgegebenen Zelle 420 kommen
gleichzeitig am Ausgangsanschluss bzw. an den Ausgangsanschlüssen q an.
Da der Speicherungsprozess im Zellenspeicher 1 des Master-Koppelmoduls 401 in
Abhängigkeit
vom gerade zur Verfügung
stehenden Speicherplatz zufällig
verläuft, muss
unbedingt sichergestellt werden, dass in den Slave-Koppelmodulen 402 bis 404 derselbe
Speicherungsprozess erfolgt, damit die Unversehrtheit der durch
die vier Koppelmodule geleiteten Zelle erhalten bleibt. Bei der
Erfindung wird dies auf vorteilhafte Weise durch die Verwendung
eines speziellen Beschleunigungssteuerbusses 500 sichergestellt,
welcher durch das Master-Koppelmodul 401 gesteuert wird.
-
Bei
der bevorzugten Ausführungsart
der Erfindung handelt es sich bei dem Beschleunigungsbus 500 um
einen 32-Bit-Bus, der aus vier verschiedenen Teilen besteht. Der
Beschleunigungsbus 500 beinhaltet eine erste Gruppe von
acht Leitungen 510-0 bis 510-7, die jeweils mit
dem Eingang der oben unter Bezug auf 2 beschriebenen
Empfänger 44-0 bis 44-7 und
dem Ausgang der Treiber 40-0 bis 40-7 verbunden
sind. Außerdem
umfasst der Beschleunigungsbus 500 eine zweite Gruppe von
acht Leitungen 509-0 bis 509-7, die jeweils mit
der Ausgangsleitung der acht oben beschriebenen Treiber 41-0 bis 41-7 sowie
mit der Eingangsleitung der acht Empfänger 45-0 bis 45-7 verbunden
sind.
-
Ferner
umfasst der Beschleunigungsbus 500 eine dritte Gruppe von
acht mit dem Bus 520 (das heißt, mit der Eingangsleitung
der acht Empfänger 46 und
der Ausgangsleitung der Treiber 42) verbundene Leitungen
und eine vierte Gruppe von acht mit dem Bus 521 (das heißt, mit
der Eingangsleitung der acht Empfänger 47 und der Ausgangsleitung
der acht Treiber 43) verbundenen Leitungen.
-
Somit
kann der Beschleunigungsbus 500 eine komplette Verknüpfung der
vier die Koppelstruktur bildenden Koppelmodule herstellen. Der Beschleunigungsmodus
funktioniert wie folgt: Im Mastermodul 401 werden die verschiedenen
OCD-Treiber 40, 41, 42 und 43 aktiviert.
Diese geben die Vermittlungsdaten aus, welche über den Bus 500 zu
den anderen Slave-Koppelmodulen 402 bis 404 übermittelt
werden. Ferner wird der Multiplexer 112 (bzw. der Multiplexer 113)
(durch den nicht dargestellten internen Prozessor) so gesteuert, dass
der Inhalt des Registers 110 (bzw. des Registers 111)
zum Pipelineregister 114 (bzw. Pipelineregister 115) übertragen
wird. Der Multiplexer 26 (bzw. der Multiplexer 27)
ist so konfiguriert, dass der Inhalt des Registers 34 (bzw. 35)
zu den NRA-Registern 28 (bzw. NRA-Registern 29) übertragen
wird, da in diesem Fall kein Pipelineregister verwendet wird.
-
Bei
den Slave-Koppelmodulen 402 bis 404 sind die verschiedenen
OCD-Treiber 40, 41, 42 und 43 nicht
aktiv. Der Multiplexer 112 (bzw. der Multiplexer 113)
wird so gesteuert, dass er den Ausgang des Grenzsignalspeichers 180 (bzw.
des Grenzsignalspeichers 181) über den EVEN-Bus (bzw. über den
ODD-Bus) mit dem Pipelineregister 114 (bzw. mit dem Pipelineregister 115 verbindet.
Der Multiplexer 26 (bzw. der Multiplexer 27) hingegen
ist so konfiguriert, dass er den Ausgang des Grenzsignalspeichers 80 (bzw.
des Grenzsignalspeichers 81) mit der Gruppe von NRA-Registern 28 (bzw.
NRA-Registern 29) verbindet. Deshalb enthalten die ASA-Register 20 und 21 sowie
die ARA-Register 32 und 33 jedes Koppelmoduls 401 bis 404 während jedes
Zellenzyklus dieselben Daten, sodass in den vier Komponenten der
gesamten Koppelstruktur derselbe Vermittlungsprozess sichergestellt
ist. Dadurch läuft
in den einzelnen Koppelmodulen genau derselbe Vermittlungsprozess
ab, und die vier einzelnen Teile der Zelle 410 kommen gleichzeitig
an den entsprechenden Ausgangsanschlüssen der Module 401 bis 404 an.
Der vollständig
synchrone Ablauf wird durch die Verwendung von Grenz- und Schattensignalspeichern 110, 111, 80 und 81 erreicht.
-
Das
zeigt, dass das Koppelmodul der vorliegenden Erfindung einfach mit
anderen Modulen zusammengeschaltet werden kann, um eine leistungsfähige Koppelstruktur
für hohe
Geschwindigkeiten zu erhalten. Obwohl die obige Beschreibung von
der Verwendung von vier einzelnen Koppelmodulen 401 bis 404 ausgeht, sind
auch andere Anordnungen möglich.
Das zusammenschalten der Module ist also nicht auf vier beschränkt. Bei
Verwendung von zwei Modulen im Beschleunigungsmodus wird die Vermittlungsgeschwindigkeit
um den Faktor zwei erhöht.
-
Die
Leistungsfähigkeit
der Koppelstruktur wird – unabhängig davon,
ob zwei, vier oder mehr Koppelmodule 401 verwendet werden – bei der
vorliegenden Erfindung durch Verwendung spezieller Schaltungen noch
weiter gesteigert, welche die zahlreichen auf dem Markt vorhandenen
Anforderungen erfüllen.
-
Die
Erfindung bedient sich einer Reihe von Adaptern, welche außer der
Aufteilung der Zelle in die vier Teile (bei der bevorzugten Ausführungsart
der Erfindung) auch die von einer breiten Vielfalt von Benutzern
geforderten Schnittstellen bereitstellen. Somit stellt die Erfindung
ein äußerst flexibles
Koppelsystem zur Verfügung,
das die meisten Anforderungen an solche Systeme erfüllen kann.
-
6 zeigt
ein Beispiel einer Vermittlungsarchitektur auf der Grundlage der
Hochgeschwindigkeits-Koppelstruktur 450, die eine große Vielfalt
von Peripherieeinheiten aufweist. Der Vermittlungskern kann sich
in einem Gebäude
befinden und eine Anzahl N verschiedener Telekommunikationseingangs-
und -ausgangsanschlüsse
(sechzehn Anschlüsse
bei der Ausführungsart
der Erfindung) zur Verfügung
stellen. Ein Anschluss mit einer Telekommunikationsverbindung von
1,6 Gbit/s kann zusammen mit einem Adapter 4500 eine (durch
Pfeil 4400 dargestellte) Hochgeschwindigkeitsverbindung
herstellen. Der Vermittlungskern 1130 weist einen Anschluss
i mit 1,6 Gbit/s auf, der eine Datenübertragungsverbindung 1400 zu
einem SCAL-Element 1000 herstellt. Das SCAL-Element 1000 stellt
eine Verbindung zu vier so genannten Protokolladaptern 1600, 1700, 1800 und 1900 her,
die je eine s/4-Datenübertragungsverbindung
herstellen. Ein dritter Anschluss des Vermittlungskerns 1130 ist
für eine
Leitung 2400 zu einem weiteren SCAL-Element 2000 reserviert,
welches die Verbindung zu zwei s/2-Protokolladaptern herstellt. Eine ähnliche
Verbindung kann mittels eines weiteren SCAL-Elements 3000 hergestellt
werden, das mit zwei Protokolladaptern 3500 und 3600 verbunden
ist, welche die vom Vermittlungskern 1130 bereitgestellte
Datenübertragungsverbindung 3400 mit
1,6 Gbit/s gemeinsam nutzen. Schließlich können bei dem in der Figur veranschaulichten
Beispiel über
ein SCAL-Element 5000 vier s/4-Protokolladapter 5500 bis 5800 angeschlossen
werden, die über
die Leitung 4400 auf den Datenfluss des Anschlusses j des
Koppelfeldes 450 mit 1,6 Gbit/s zugreifen können.
-
Bei
der bevorzugten Ausführungsart
der Erfindung weisen die SCAL-Elemente 1000, 2000 und 3000 die
Form von Elektronikblöcken
auf, die mit den verschiedenen Protokolladaptern in Form von Platinen
verbunden sind.
-
Im
Folgenden werden zwei verschiedene Ausführungsarten der allgemeinen
Architektur der Erfindung ausführlich
erläutert,
die in 6 als Beispiel dargestellt ist. Je nach den Anforderungen
des Benutzers kann das Koppelfeld in zwei unterschiedlichen Formen
auftreten: einer ersten so genannten kompakten Koppelfeldarchitektur
und einer zweiten so genannten verteilten Koppelfeldarchitektur.
-
Die
als kompakte Koppelfeldarchitektur bezeichnete erste Ausführungsart
der Erfindung wird dann eingesetzt, wenn in einem eng umgrenzten,
kompakten Bereich ein sehr flexibles und leistungsfähiges Vermittlungssystem
benötigt
wird. In diesem Fall befinden sich der Vermittlungskern 1130 und
die diversen SCAL-Elemente 1000, 2000, 3000 und 5000 in
demselben eng begrenzten räumlichen
Bereich und sind mittels einer Datenübertragungsverbindung von 1,6
Gbit/s auf Basis von Koaxialkabeln miteinander verbunden.
-
Meist
befinden sich die Peripherieeinheiten in unterschiedlichen räumlichen
Bereichen einer Reihe von Betriebsgebäuden. In diesem Fall können die
SCAL-Elemente der Erfindung ziemlich weit – bis zu 100 Meter – vom Vermittlungskern 1130 entfernt
angeordnet und mittels Datenübertragungsverbindungen 1400, 2400, 3400 mit
1,6 Gbit/s in Form einer Gruppe von mindestens vier Datenlichtwellenleitern
zu je 500 Mbit/s verbunden werden. Durch diese einfachen Verbindungen
bilden die einzelnen Elemente der Vermittlungsarchitektur ein so
genanntes „Koppelfeld".
-
7 zeigt
die Struktur des Empfangs- und Sendeteils jedes SCAL-Elements 1000 bis 5000 und
den logischen Datenfluss zwischen dem Empfangsteil des SCAL-Elements 1000 (über den
Anschluss i des Vermittlungskerns 1130) und den Sendeteil
des SCAL-Elements 5000 (über den Anschluss j des Vermittlungskerns 1130).
Diese Figur veranschaulicht insbesondere die oben erwähnte verteilte
Ausführungsart
des Koppelfeldes, bei dem sich jedes SCAL-Element 1000 bis 5000 in
einer Entfernung von mindestens 100 Metern vom Vermittlungskern 1130 befindet.
Im Folgenden wird der Empfangs- und der Sendeteil eines SCAL-Elements ausführlich beschrieben,
wobei davon ausgegangen wird, dass dieses SCAL-Element den Anschluss von
vier Protokolladaptern herstellt. Man beachte jedoch, dass die SCAL-Struktur
der Erfindung nicht auf diese spezielle Anordnung von vier Protokolladaptern
beschränkt
ist. Die Protokolladapter 1600 bis 1900 können beispielsweise
mit zwei OC3/STM1-Leitungen gemäß den CCITT-Empfehlungen
oder aber mit acht DS3-Datenübertragungsverbindungen
usw. verbunden sein. Bei der vorliegenden Erfindung ist jeder mit
einem SCAL-Element
verbundene Protokolladapter einem so genannten PINT-Element zugeordnet.
Auf der Empfangsseite des SCAL-Elements 1000 ist der Protokolladapter
PE 1600 (bzw. PE 1700, PE 1800 und PE 1900) über den Bus 541 (bzw. 542, 543 und 544)
einem PINT-Element 511 (bzw. 512, 513 und 514)
zugeordnet, während
auf der Sendeseite des SCAL-Elements 5000 (über den
Anschluss j) der PE 5500 (bzw. 5600, 5700 und 5800) über den
Bus 641 (bzw. 642, 643 und 644)
Datenzellen von einem PINT-Element 611 (bzw. 612, 613 und 614) empfängt. Wenn
die Anzahl der an ein SCAL-Element (zum Beispiel SCAL 2000)
angeschlossenen Protokolladapter auf zwei begrenzt ist, beinhaltet
dieses nur zwei PINT-Schaltungen.
-
Außerdem sind
die SCAL-Elemente mit einer Parallel-Seriell-/Seriell-Parallel-Umsetzerschaltung
zur Unwandlung des Datenflusses ausgestattet, um die Anzahl der
Koaxialkabel (beim kompakten Vermittlungskern) bzw. der Lichtwellenleiter
(beim verteilten Vermittlungskern) zu verringern.
-
7 veranschaulicht
den logischen Datenfluss zwischen zwei bestimmten Anschlüssen, zum
Beispiel zwischen dem Anschluss i auf der Empfangsseite und dem
Anschluss j auf der Sendeseite. Deshalb ist jedes Element auf der
linken Seite der Koppelstruktur 450 durch den Index i gekennzeichnet,
damit man seine Zugehörigkeit
zum Anschluss i erkennt. Desgleichen trägt jedes Element auf der rechten
Seite von Kasten 450 den Index j, um den Ausgangsanschluss
j zu kennzeichnen. Zur Vereinfachung der folgenden Beschreibung sind
jedoch die Indizes in 6 weggelassen worden. In 9 werden
die Indizes jedoch wieder benutzt, wenn der Multicastbetrieb des
verbesserten Koppelsystems beschrieben wird.
-
Man
beachte, dass der allgemein gefasste Begriff „Protokolladapter" (Protocol Engine)
die Leitungsanpassungsschicht der unterschiedlichen auf dem Markt
befindlichen Leitungen beschreibt. Im Grunde bezeichnet dieser Begriff
Funktionskomponenten in Form von Hard- und Software, die dem Fachmann
wohlbekannt sind und als Schnittstelle die Anpassung der Leitung
an die verschiedenen von den Benutzern verwendeten Leitungen vornimmt.
Das können
Leitungen auf der Grundlage von ATM-Protokollen, T3, DS3, AT1 und E1
sowie Schnittstellen wie FCS, ESCON usw. sein. Ein Beispiel für ein solches
System ist „Hauptanschlussadapter" (Trunk Port Adapter),
der von IBM für
das NWays 2220, Modell 500, vertrieben wird.
-
Unter
Bezug auf die 14 bis 17 wird
ein spezieller verbesserter ATM-Protokolladapter genauer beschrieben.
Unabhängig
von der Art der jeweils angeschlossenen Leitung ist jedoch zu beachten,
dass der Protokolladapter die Verbindung mit der von den Benutzern
verwendeten Leitung herstellt und dem SCAL-Element 1000 die
für den
Vermittlungskern 450 vorgesehenen Zellen zuleitet, die
einen Leitwegvorsatz und Nutzdaten enthalten. Der Leitwegvorsatz
der Zellen wird gemäß dem oben
beschriebenen Vermittlungsmechanismus verwendet.
-
8 zeigt
die Struktur eines Empfangsteils der PINT-Schaltungen 511 bis 514 des
SCAL-Elements 1000. Der über den 8-Bit-Eingangsbus 541 ankommende
Datenfluss wird so auf die vier FIFO-Speicher 701 bis 704 verteilt,
dass das erste Byte in der FIFO 701, das zweite in der
FIFO 702, das dritte in der FIFO 703, das vierte
in der FIFO 704, das fünfte
wieder in der FIFO 701 usw. gespeichert wird. Dadurch wird
der 8-Bit-Datenfluss
in einen 4-Byte-Ausgangsbus 540 umgewandelt, der für die vier
Koppelmodule der Struktur 450 benötigt wird. Bei der Ausführungsart
des so genannten kompakten Koppelfeldes wird jedes Byte mit Hilfe
des Parallel-Seriell-/Seriell-Parallel-Umsetzers
und eines gemeinsamen Koaxialkabels übertragen, während beim verteilten
Vermittlungskern jedes Byte durch den Parallel-Seriell-/Seriell-Parallel-Umsetzer
und einen längeren Lichtwellenleiter übertragen
wird. Somit werden auf dem Bus 540 vier Byteströme zu den
je vier Empfängern jedes
einzelnen Koppelmoduls übertragen.
-
Bei
den beiden Ausführungsarten
des kompakten und des verteilten Koppelfeldes ist zu beachten, dass
das erste Byte auf dem Bus 540 (die 8 höchstwertigen Bits, MSB) zum
8-Bit-Eingangsbus
des Empfängers 10 am
entsprechenden Eingangsanschluss des ersten Moduls 401 übertragen
werden muss. Desgleichen muss das zweite Byte auf dem Bus 540 (Bits
9 bis 15) zum Eingang des Empfängers 10 am
entsprechenden Eingangsanschluss des zweiten Koppelmoduls 402 übertragen
werden, usw. Wenn eine Zelle während einer
Anzahl von N Zyklen am Eingangsanschluss 541 des Elements 511 empfangen
wird, wird sie während einer
Anzahl von N/4 Zyklen in etwa der gleichen Form zum Eingang der
vier Koppelmodule 401 bis 404 weitergeleitet.
Bei der bevorzugten Ausführungsart
der Erfindung hat die am Eingangsbus 541 ankommende Zelle einen
Umfang von 58 Bytes. Dieser Satz von 58 Bytes wird an geeigneten
Stellen in der Zelle durch zwei weitere Bytes ergänzt, um
eine 60-Byte-Zelle zu erzeugen, die auf die vier FIFOs verteilt
wird und eine Folge von 15 4-Byte-Wörtern ergibt, die durch die
Koppelmodule 401 bis 404 verarbeitet werden können. Diese
beiden zusätzlich
zu den ursprünglichen
58 Bytes eingefügten
Bytes werden in Verbindung mit dem oben beschriebenen „Bitmapmodus" bzw. „Multicastmodus
mit 2-Byte-Vorsatz" verwendet. Das Koppelmodul 401 fungiert
dabei als Master, und eine Steuerschaltung 710 setzt die
beiden Bitmapbytes auf den ersten und zweiten Speicherplatz in der
FIFO 701 (das heißt,
an die erste und fünfte
Position der auf dem Bus 541 empfangenen Zelle). Somit
empfängt
das Koppelmodul 401 die beiden den Leitwegvorsatz bildenden
Bitmapbytes als erste Positionen des an seinem Eingangsanschluss
ankommenden Datenflusses. Man beachte, dass die Geschwindigkeiten
auf den beiden Bussen 541 und 540 kaum voneinander
abhängen,
da die erstere niedriger als die letztere sein kann. Ausgehend von
einer Verarbeitungsgeschwindigkeit des Koppelmoduls von 20 ns (entsprechend
einem Gesamtdatenfluss von 1,6 Gbit/s) ergibt sich die auf dem Bus 541 zulässige höhere Geschwindigkeit
zu 60/58 × 20
ns. Außer
den PINT-Schaltungen beinhaltet das SCAL-Element 1000 noch eine Steuerlogik
zur Steuerung der vier (nicht gezeigten) Eingangsleitungen „Ausgang
freigeben" der PINT-Schaltungen 511 bis 514,
sodass die Gesamtkoppelstruktur 450 nacheinander zuerst
die durch die Schaltung 511 empfangene Zelle (bei der bevorzugten
Ausführungsart
während
15 Zyklen), dann die durch die Schaltung 512 empfangene
Zelle, dann die durch die Schaltung 513 empfangene Zelle
usw. verarbeiten kann. Dadurch steht jeder PINT-Schaltung 511 bis 514 ein
Viertel der Bandbreite auf dem Bus 540 zur Verfügung.
-
9 veranschaulicht
die Struktur der vier Sendeteile der PINT-Schaltungen 611 bis 614.
Jedes PINT-Element 611 bis 614 empfängt die
Daten über
alle Leitungen des 32-Bit-Busses 640. Dieser empfängt die
vier Datenflüsse
der parallel/seriell umgesetzten Bytes, die (bei der Ausführungsart
des kompakten Vermittlungskerns) von den vier Koaxialkabeln zwischen
dem Vermittlungskern und dem SCAL-Element oder (beim verteilten
Koppelfeld, bei dem sich die SCAL-Elemente räumlich getrennt vom Vermittlungskern 1130 befinden)
von den vier Lichtwellenleitern empfangen wurden. Jedes PINT-Element 611 ist
mit vier FIFO-Registern 801 bis 804 versehen,
deren Speicherkapazität
wesentlich größer als
bei der FIFO des Empfangsteils ist. Bei der bevorzugten Ausführungsart
der Erfindung wird das Verhältnis
der Speicherkapazität
zwischen den FIFO-Speichern 801 bis 804 und den
FIFO-Speichern 701 bis 704 auf mindestens 250
festgelegt, um ausreichend Speicherkapazität bereitzustellen, falls viele
Zellen gleichzeitig zu demselben Ausgangsanschluss weitergeleitet
werden sollen.
-
Im
Sendeblock 611 empfängt
ein Steuermodul 810 die Daten vom Bus 640 und
entnimmt der empfangenen Zelle die beiden „Bitmap"-Bytes. Anhand des wertes dieser beiden
Bytes ermittelt das Steuermodul 810, ob die Zelle in eine
Gruppe von vier FIFO-Registern 801 bis 804 geladen
oder gelöscht
werden soll. Im ersten Fall erzeugt das Steuermodul 810 ein
Ladesteuersignal, damit jedes der vier Bytes auf dem 32-Bit-Bus 640 in das
entsprechende FIFO-Register 801 bis 804 geladen
wird. Zum Beispiel wird das erste Byte mit den Bits 0 bis 7 auf
dem Bus 640 in das FIFO-Register 801, das zweite
Byte mit den Bits 8 bis 15 in das FIFO-Register 802 geladen,
usw. Im zweiten Fall, wenn also die Zelle durch den betreffenden
Sendeblock gelöscht
werden soll, erzeugt das Steuermodul 810 das Ladesteuersignal
nicht und verhindert so das Laden der Zelle in die FIFO-Register.
-
Jedes
der vier Elemente 611 bis 614 empfängt dieselben
Zelle, die auf dem gemeinsamen Bus 640 ankommen. Da jedoch
jedes der Elemente 611 bis 614 den 2-Byte-„Bitmap"-Vorsatz verwendet,
um das Laden der betreffenden Zelle in die internen FIFO-Warteschlangen zu
steuern oder zu verhindern, führt
dieser Vorsatz eine Multicastoperation aus, bei der mehrere Exemplare
der auf dem Bus 640 ankommenden Zelle zu mehreren Ausgängen geleitet
werden können.
Bei der bevorzugten Ausführungsart
der Erfindung ermittelt das Steuermodul 810 des Elements 611 anhand
des ersten Bits des Vorsatzes, ob mehrere Exemplare der Zelle zum Ausgangsbus 641 zum
Ausgangsbus 641 weitergeleitet werden soll, während das
Steuermodul des Elements 612 diese Entscheidung anhand
des zweiten Bits des 2-Byte-Vorsatzes trifft, usw.
-
In
jedem Block 611 bis 614 greift das Steuermodul 820 zum
Wiederherstellen der Reihenfolge der verschiedenen Bytes der Zelle
auf einem 8-Bit-Bus 641 auf die vier FIFO-Warteschlangen
zu. Außerdem
entfernt das Steuermodul 820 den 2-Byte-„Bitmap"-Vorsatz, sodass die Zelle der im Empfangsteil
der SCAL-Schaltung 1000 empfangenen
Zelle wieder identisch ist. Bei der bevorzugten Ausführungsart
der Erfindung erfolgt dies auf einfache Weise, da der „Bitmap"-Vorsatz stets eine
fest vorgegebene Position innerhalb der 60 Bytes der Zelle einnimmt.
-
Dann
wird den Protokolladaptern 5500 bis 5800 die entsprechende
durch die Blöcke 611 bis 614 erzeugte
Folge von Zellen zugeleitet.
-
Man
beachte, dass die Erfindung zwei voneinander unabhängige Ausführungsarten
zur Verfügung stellt,
die aufgrund des effizienten Zusammenwirkens der leistungsfähigen Koppelstruktur
und der an allen Anschlüssen
angeordneten verschiedenen SCAL-Elemente sehr flexibel sind. Bei
einer Ausführungsart
wurde gezeigt, dass alle SCAL-Elemente unmittelbar am Vermittlungskern 1130 angeordnet
sind, sodass sich eine kompakte Vermittlungsarchitektur ergibt.
Bei der zweiten Ausführungsart
werden in einem weitläufigen
Unternehmensbereich zahlreiche Leitungsadapter benötigt, sodass
die Erfindung mittels der Parallel-Seriell-/Seriell-Parallel-Umsetzer
in Verbindung mit Glasfaserleitungen Übertragungslängen von
mindestens 100 m erreicht.
-
10 veranschaulicht,
wie die Multicastübertragung
bei der Ausführungsart
des kompakten und des verteilten Koppelfeldes von 7 noch
deutlich verbessert werden kann. Zum besseren Verständnis wird
die Ausführungsart
des kompakten Koppelfeldes erläutert,
bei welcher die SCAL-Elemente über
den Bus 540 direkt mit der Koppelstruktur 450 in
Verbindung stehen und keinen zusätzlichen
Pfad mit Parallel-Seriell-Umsetzer, Lichtwellenleitern und Seriell-Parallel-Umsetzer
benötigen
(der erforderlich ist, um den 32-Bit-Bus an jedem Eingangsanschluss
des Vermittlungskerns 1130 wiederherzustellen).
-
In
dieser Figur dienen die Indizes i und j zur Verdeutlichung des Logikpfades
einer am Eingangsanschluss i ankommenden Zelle, die zum Ausgangsanschluss
j weitergeleitet wird. Außerdem
wird davon ausgegangen, dass die Struktur der sechzehn mit der Koppelstruktur
verbundenen SCAL-Elemente gleich ist, dass sie also jeweils vier
identische PINT-Elemente
enthalten (die jeweils vier entsprechenden Protokolladaptern zugeordnet
sind). 10 zeigt, dass der die Koppelstruktur 450 mit
den PINT-Empfangsschaltungen 511-i, 512-i, 513-i und 514-i des
SCAL-Elements 1000 verbindende Bus 540-i durch
Einschaltung einer Leitwegsteuereinheit 1001-i in zwei
Teile aufgeteilt ist. Desgleichen ist der den Ausgang der gesamten
Koppelstruktur 450 mit den PINT-Sendeschaltungen 611-j, 612-j, 613-j und 614-j des
SCAL-Elements 5000-j verbindende Bus 640-j durch
Einschaltung einer weiteren Leitwegsteuereinheit 1010-j in
zwei Teile aufgeteilt. Jede dieser 32 Steuereinheiten, die in die
32 Eingangs- und Ausgangsbusse der Koppelstruktur 450 eingeschaltet sind,
ist einer entsprechenden Leitwegsteuertabelle 1002-i und 1020-j zur
Steuerung des Vermittlungsprozesses der Zelle zugeordnet. Zum Beispiel
ist die Steuereinheit 1001-i der ihr entsprechenden Leitwegsteuertabelle 1001-i und
die Steuereinheit 1010-j der ihr entsprechenden Leitwegsteuertabelle 1020-j zugeordnet.
-
Dieses
verbesserte kompakte Koppelfeld arbeitet wie folgt:
Beispielsweise
werde angenommen, dass der Protokolladapter 1600-i am Anschluss
i eine Zelle erzeugt, die aus einem Vermittlungsleitwegvorsatz (Switch
Routing Header, SRH) und einer nachfolgenden Nutzinformation besteht.
Dieser SRH kennzeichnet den Protokolladapter, welcher diese Zelle
empfängt.
Wenn diese Zelle zu genau einem Ziel-Protokolladapter befördert werden soll, muss die
Vermittlung als bidirektionale Einzelübertragung (Unicast) durchgeführt werden.
Anderenfalls gibt es mehrere Ziel-Protokolladapter, und die Vermittlung
muss als selektives Rundsenden (Multicast) durchgeführt werden.
Gemäß der obigen
Beschreibung wird die Zelle in die PINT-Empfangsschaltung 511-i eingegeben,
welche in die Zelle zwei Bytes zur Kennzeichnung des Speicherplatzes
in der Bitmap einfügt,
den die Leitwegsteuereinheit 1001-i später ermittelt. Dann wird die Zelle
gemäß der obigen
Beschreibung über
den Bus 540-i weitergeleitet und gelangt über Lichtwellenleiter
bis zur Leitwegsteuereinheit 1001-i. Dieses Element führt die
folgenden Operationen dynamisch aus. Zuerst greift es mittels des
SRH als Adresse auf die zugehörige
Leitwegsteuertabelle 1002-i zu. Der dieser Tabelle entnommene
Wert wird dann dynamisch an den beiden zusätzlichen Bytes in die Zelle
eingefügt,
die zuvor durch die PINT-Empfangseinheit 511-i eingefügt worden
waren. Somit empfängt
das Master-Koppelmodul 401 diese beiden Bytes an seinen
ersten Bytepositionen in der am Eingangsanschluss ankommenden Zelle und
kann sie gemäß dem Multicastmodus
mit 2-Byte-Vorsatz (Bitmapmodus) verwenden.
-
Nach
der Verarbeitung der Zelle durch die Leitwegsteuereinheit 1001-i wird
diese auf den Eingangsbus des gesamten Koppelmoduls 450 gegeben,
sodass das Mastermodul 401 die an den beiden ersten Bytes stehende
Bitmap zur Steuerung des gesamten Vermittlungsmechanismus der vier
Elemente verwenden kann. Dieser Mechanismus kann jedoch auch mit
einem einzelnen Koppelmodul realisiert werden.
-
Dann
erzeugt die Koppelstruktur 450 Exemplare der Zelle, die
von den entsprechenden Ausgangsanschlüssen empfangen werden. Wenn
beispielsweise Exemplare der Zelle zu den Anschlüssen j, k und l weitergeleitet
werden, geschieht dies über
die Busse 640-j, 640-k und 640-l.
-
Die
Zelle gelangt auf dem Bus 640-j zur Leitwegsteuereinheit 1010-j,
die, wie oben beschrieben, auf die zugehörige Leitwegsteuertabelle 1020-j zugreift
und dieser Daten mit einer 2-Byte-Bitmap entnimmt, welche vom Sendeteil
des PINT-Elements 100-j der
SCAL-Schaltung 1000 verwendet wird.
-
Zu
dieser Entnahme werden die SRH-Daten verwendet, die in der empfangenen
Zelle enthalten sind. Ebenso wie oben ist zu beachten, dass durch
den Zugriff auf die Leitwegsteuertabelle 1020-j auch noch.
weitere Bits entnommen werden können,
die sich vorteilhaft für
Steuerzwecke einsetzen lassen.
-
Anhand
des soeben entnommenen Bitmapvorsatzes ermittelt die SCAL-Schaltung 5000-j,
welche der PINT-Sendeschaltungen 611-j, 612-j, 613-j und 614-j die
Zelle weiterleiten soll. Wenn die Bitmap beispielsweise lediglich
eine einzige „1" enthält, wird
die Zelle zu einem einzelnen Element weitergeleitet (zum Beispiel
zum Block 611-j), wenn sie jedoch zwei „1" enthält, wird sie zu zwei verschiedenen
Elementen weitergeleitet. Somit wird in einem weiteren Kopierschritt
in der Koppelstruktur 450 ein weiteres Exemplar der Zelle
erzeugt. Dann kann die Zelle entsprechend der von der Leitwegsteuereinheit 1010-j ermittelten
Bitmap auf jeden Protokolladapter 5500-j, 5600-j, 5700-j und 5800-j zugreifen,
wobei die Bitmap einzig und allein anhand des durch die Zelle beförderten
SRH ermittelt wurde.
-
Die
Koppelstruktur 450 und die PINT-Schaltungen des SCAL 1000-j betrachten
den von jedem Protokolladapter ermittelten SRH als ihre Nutzinformation,
während
der zur Steuerung des Koppelmechanismus verwendete Leitwegvorsatz
lokal aus diesem SRH erzeugt wird.
-
Derselbe
Mechanismus läuft
an den Anschlüssen
k und l ab, sodass für
jedes der Elemente 611-k, 612-k, 613-k oder 614-k, 611-l, 612-l, 613-l oder 614-l der
PINT-Elemente 100-k und 100-l Exemplare der Zelle
erzeugt werden. Somit erlaubt das Vermittlungssystem durch die beiden
verschiedenen Multiplexerstufen eine Vielzahl von Multiplexmöglichkeiten.
-
Bei
der bevorzugten Ausführungsart
der Erfindung befinden sich die Leitwegsteuereinheiten im Vermittlungskern 450.
Dadurch werden die Möglichkeiten
der Vermittlung wesentlich erweitert, da die unterschiedlichen Inhalte
der verschiedenen Leitwegsteuertabellen einfach aktualisiert werden
können.
Ein weiterer Vorteil besteht darin, dass ein langsamerer, billigerer
und größerer Speicher
verwendet werden kann als für
die Multicasttabelle 6, deren Speicher sehr schnell sein
muss, da es vorkommen kann, dass die Tabelle während eines Zellenzyklus ständig beschäftigt ist.
Wenn für
die Leitwegsteuertabellen ein größeres Speichervolumen
zur Verfügung
steht (wobei sich dieser Speicher auch außerhalb des Chips des Koppelmoduls
befinden kann), kann die Anzahl der SRH-Kennungen erhöht werden.
-
Zumindest
dieses Merkmal lässt
sich bei der Ausführungsart
des so genannten verteilten Koppelfeldes leicht realisieren, bei
welchem sich die SCAL-Elemente 1000 bis 5000 an
räumlich
getrennten Standorten eines Unternehmensbereichs befinden. 11 zeigt
die Anordnung des verteilten Koppelfeldes, das nicht nur sehr flexibel
und schnell ist, sondern durch Verwendung des oben beschriebenen
Leitwegsteuermechanismus auch vielfältige Multiplexmöglichkeiten
bietet. Die punktierten Linien stellen die physischen Grenzen der
Module oder Baueinheiten dar.
-
Der
gezeigte Vermittlungskern 1130 stellt eine physische Vorrichtung
dar, welche die Koppelstruktur 450 meist als Steckkarte
enthält,
auf der sich mindestens vier Elementarkoppelmodule in Form eines
Elektronik-Chips befinden. Die beiden Leitwegsteuereinheiten 1001-i und 1010-i sind
demselben Anschluss i zugeordnet und physisch als ein einziger Chip 1110-i realisiert,
der einem entsprechenden Speicher 1120-i zugeordnet ist,
welcher die beiden unter Bezug auf 9 beschriebenen
Leitwegsteuertabellen 1002-i und 1020-i enthält.
-
Somit
sind die Koppelstruktur 450 und die sechzehn zugehörigen Module 1110 und 1120 auf
vorteilhafte Weise in ein und demselben physischen Bauelement untergebracht,
während
die verschiedenen SCAL-Elemente im gesamten Unternehmensbereich
räumlich überall dort
verteilt sind, wo die Leitungen benötigt werden.
-
Das
verteilte Koppelfeld umfasst, wie oben erwähnt, eine Gruppe von N physisch
verteilten SCAL-Elementen (bei der bevorzugten Ausführungsart
der Erfindung ist N gleich 16), wobei in der Figur nur das SCAL-Element 1000 dargestellt
ist. Jedes SCAL-Element enthält
die PINT-Empfangs- und -Sendeschaltungen, die jeweils einem bestimmten
Protokolladapter zugeordnet sind. Die Letzteren sind als Steckkarten
ausgeführt,
die in die SCAL-Leiterplatte gesteckt werden. Da die Datenübertragung
mit 1,6 Gbit/s zwischen jedem SCAL-Element und dem Vermittlungskern 1130 über mehrere
Lichtwellenleiter (mindestens vier für den Datenpfad) erfolgt, können die
beiden Elemente in großer
Entfernung voneinander stationiert werden. Dies stellt einen großen Vorteil
dar, da so unabhängig
vom Standort der verschiedenen Datenübertragungsverbindungen im
Unternehmensbereich eine leistungsfähige Verbindung hergestellt
werden kann. Wenn sich beispielsweise in einem ersten Gebäude eine
ATM-Leitung und in einem zweiten Gebäude eine OC3-Leitung befindet,
stellt die Erfindung die Verbindung zwischen beiden einfach dadurch
her, dass im ersten Gebäude
ein erstes SCAL-Element mit einem ATM-Protokolladapter, im zweiten Gebäude ein
zweites SCAL-Element untergebracht wird, usw. Dieses Beispiel zeigt
die große
Flexibilität
der Lösung
der vorliegenden Erfindung, welche die Nachteile der Lösungen nach
dem Stand der Technik vermeidet, die durch aufwändige Datenübertragungskabel oder eine
Vielzahl von Vermittlungsstellen in den Netzen bedingt sind, da
jede Vermittlungsstelle sich an einem anderen Standort befindet
und die Anschlüsse
für die
Netzwerkverbindung gebraucht werden. Da die Anschlüsse zum
Herstellen der Netzwerkverbindungen zwischen den verschiedenen Vermittlungsstellen
gebraucht werden, sind diese Anschlüsse vom Standpunkt des Benutzers
aus als verloren anzusehen, da sie für eine Datenübertragungsverbindung
nicht genutzt werden können.
Die Architektur der vorliegenden Erfindung beseitigt alle diese
Nachteile.
-
Ferner
können
die Lehren des Dokuments „Single-chip
4 × 500
Mbaud CMOS Transceiver" von
A. Wilmer et al., IEEE ISSCC96, Session 7, ATM/SOMET/PAPER FA 7.7,
9. Februar 1996, genutzt werden. Es zeigt die Möglichkeit der Realisierung
von Datenübertragungsverbindungen 1400, 2400, 3400 und 440 mit
1,6 Gbit/s und ist durch Bezugnahme in das vorliegenden Dokument
einbezogen. Dieses Dokument zeigt die mögliche Verwendung des so genannten
7B/10B. Während
Leerlaufperioden, die durch eine Markierung gekennzeichnet sind,
werden Leerpakete übertragen,
die anstelle von Daten mit einem Kommazeichen beginnen. Das Komma
markiert die Byte- und Zellengrenzen auf der seriellen Leitung.
Dadurch können
die Bytes und die Zellen synchronisiert und die Datenübertragungsverbindung
mit 1,6 Gbit/s mittels einer einzigen Gruppe von Koaxial- oder Lichtwellenleitern
realisiert werden. Die Anzahl der Kabel wird drastisch verringert,
denn ohne dieses Merkmal wären
zur Realisierung der Datenübertragungsverbindung
mit 1,6 Gbit/s mindestens fünf
oder sechs Lichtwellenleiter erforderlich.
-
Man
beachte, dass der Vermittlungskern 1130 einen Prozessor 1160 beinhaltet,
welcher zu Steuerungszwecken auf jeden Speicher und jedes Register
in der Baugruppe zugreifen kann. Außerdem beinhaltet die Baugruppe
eine weitere Schaltlogik zur Überwachung
des Vorhandenseins des speziellen auf X'000' gesetzten
Bitmapvorsatzes, der dafür
sorgt, dass die Zelle aus der normalen Datenverarbeitung mit ASA-
und NSA-Registern entnommen und direkt in einen bestimmten vorgegebenen
Speicherplatz im Speicher 1 geladen wird, der in der Figur
als Paketsteuerspeicher bezeichnet ist. Durch diesen Entnahmeprozess
kann der Prozessor die Zellen steuern. Andererseits beinhaltet der
Prozess auch noch einen Einfügungsprozess
zum Weiterleiten einer an der letzten Position des Speichers gespeicherten
Zelle zu einem Ausgangsanschluss.
-
Da
die spezielle Bitmap X'0000' zur Steuerung zwischen
dem Steuerprozessor (im Innern des Vermittlungskerns) und den anderen
Komponenten des Koppelfeldes verwendet wird, steht dieser Wert nicht
mehr zum Löschen
der Zellen zur Verfügung.
Diese Möglichkeit
wird mittels eines zusätzlichen
Steuerbits zum Löschen
der Zellen, eines so genannten „Gültigkeitsbits", auf vorteilhafte
Weise wiederhergestellt. Das Gültigkeitsbit
wird durch die Leseoperationen in den Tabellen 1002 und 1020 zur
Verfügung
gestellt.
-
Somit
kann der im Vermittlungskern befindliche allgemeine Steuerprozessor
in den sechzehn Leitwegsteuertabellen, die in den sechzehn Speichermodulen 1120 enthalten
sind, speichern und aus ihnen abrufen.
-
Im
Folgenden wird die allgemeine Prozedur zum Erzeugen und Aktualisieren
der Leitwegsteuertabellen 1002-i und 1020-i beschrieben,
die sich in demselben Chip befinden. Die Prozedur wird durch 12 veranschaulicht.
-
Die
Prozedur beginnt mit einem Initialisierungsschritt 1220,
in welchem der Steuerprozessor 1160 eine Gruppe von SRH-Leitwegtabellen aktiviert.
-
Das
ist möglich,
weil der Prozessor seine eigene Topologie kennt und daher einige
SRH-Werte zuordnen kann, mit denen die verschiedenen Protokolladapter
für die
verschiedenen Anschlüsse
unterschieden werden können.
Das geschieht mittels der folgenden Zuweisungsprozedur: zuerst ermittelt
der Prozessor die Nummer des Protokolladapters, das einem bestimmten
Ausgangsanschluss zugeordnet werden soll und weist dann eine Anzahl
von SRH-Werten zu, damit die Protokolladapter voneinander unterschieden
werden können. Wenn
beispielsweise der Anschluss 0 vier verschiedenen Protokolladaptern
(die mit dem SCAL-Element 1000 verbunden sind) zugewiesen
ist, reserviert der Prozessor für
die vier Protokolladapter je einen SRH-Wert usw. Entsprechend der
Topologie der Vermittlungsarchitektur weist somit der Steuerprozessor 1160 die
notwendige Anzahl von SRH-Werten zu, die zur Unterscheidung der
verschiedenen Protokolladapter erforderlich sind.
-
Dann
kann die Leitwegtabelle erstellt werden. Dabei ist zunächst zu
beachten, dass jede Tabelle 1002-i dieselben Daten enthält, da alle
auf dem Bus 450-i ankommenden (und dieselbe SRH-Leitwegkennung enthaltenden)
Zellen zu ein und demselben Ausgangsanschluss weitergeleitet werden.
Der SRH kennzeichnet nicht die Verbindung, sondern den Zielanschluss.
Deshalb erstellt der Prozessor eine Tabelle in folgendem Format:
-
-
Die
Tabellen 1002-1 und 1020-1, 1002-2 und 1020-2,
usw. haben dasselbe Format, jedoch sind die darin gespeicherten
Werte (bis auf das Gültigkeitsbit)
auf null gesetzt.
-
Eine
genauere Darstellung der Tabelle, in der die Verwendung des Gültigkeitsbits
veranschaulicht wird, ist im Anhang A zu finden.
-
Außerdem ist
für die
Kommunikation zwischen dem Prozessor 1160 und den Protokolladaptern
ein gesonderter SRH-Wert reserviert.
-
Die
Initialisierungsprozedur ist abgeschlossen, wenn die verschiedenen
Leitwegsteuertabellen geladen sind. Dann nutzt der Prozessor 1160 in
Schritt 1230 die allgemeine Einfügungsfunktion, um eine durch
ein spezielles Format gekennzeichnete Zelle zu jedem Protokolladapter
zu übertragen,
um diesem den ihm zugewiesenen SRH-Wert mitzuteilen. Somit kennt
jeder Protokolladapter den zu ihm gehörenden SRH-Wert, der dieses
von den anderen unterscheidet.
-
In
Schritt 1240 bestätigt
dann jeder Adapter diese Zuweisung mittels eines speziellen SRH-Wertes
für die
Kommunikation zwischen dem Prozessor 1160 und den Protokolladaptern.
-
Dann
werden mittels eines im Rahmen eines bestimmten Protokolladapters
tätigen
Vermittlungsagenten die verschiedenen Verbindungen gesteuert. Dem
Fachmann ist eine solche Funktion wohlbekannt, welche insbesondere
bei ATM-Verbindungen
die Zuweisung der VP/VC-Parameter steuert. Dieser Vermittlungsagent dient
der Verständigung
zwischen den verschiedenen Verbindungen und der Steuerung der jedem
Protokolladapter zugewiesenen SRH-Leitwegwerte. Man beachte, dass
jedem einzelnen Protokolladapter mehrere Verbindungen zugeordnet
werden können.
Allgemein kennt der Vermittlungsagent genau die Topologie des gesamten
Netzwerks, das eine große
Anzahl verschiedener Koppelfelder der in 11 dargestellten
Art beinhalten kann. Insbesondere kann der Vermittlungsagent die
für die
Datenübertragung
zuständigen
Ausgangsanschlüsse
festlegen, wenn ein in einem Land befindliches Koppelfeld X eine
Verbindung zu einem Koppelfeld Y in einem anderen Land anfordert.
-
Da
er den zu verwendenden Ausgangsanschluss kennt, kann er den erforderlichen
Unicast-SRH (also den während
der Initialisierung 1220 bereitgestellten SRH) ermitteln.
-
Der
Vermittlungsagent erstellt deshalb in Schritt 1250 eine
COMMAND-Zelle und sendet diese zum Prozessor 1160 innerhalb
des Koppelfeldes. Diese Zelle enthält Nutzdaten, die wie folgt
angeordnet sind:
!Command! SRH_connection ! label1 label2 label3
...!
-
Dabei
definiert ein erstes Feld (Command) einen bestimmten vom Vermittlungsagenten
angeforderten Befehl. Das zweite Feld SRH-connection dient zum Definieren des
der Verbindung zugewiesenen SRH, und anschließend folgen eine oder mehrere
Unicast-Leitwegkennungen zum Definieren der Ziel-Protokolladapter für die Zellen mit dem im zweiten
Feld angegebenen SRH. Im Grunde umfasst das dritte Feld die Verteilerliste der
Unicast-Leitwegkennungen (die bereits während der Initialisierung 1220 bereitgestellt
wurden) des Ziel-Protokolladapters ...
-
Dann
speichert der Prozessor 1160 in Schritt 1260 anhand
dieser empfangenen Information die zur Steuerung der verschiedenen
Leitwegsteuereinheiten erforderlichen Daten im Speicher 1002-i unter
der durch das zweite Feld (SRH_connection) definierten Adresse.
Dies geschieht auf vorteilhafte Weise mittels des folgenden Leitwegaktualisierungsalgorithmus
anhand des während
der Initialisierung zugewiesenen Unicast-SRH.
-
Der
in 13 dargestellte Aktualisierungsalgorithmus funktioniert
wie folgt:
Der Prozessor 1160 führt in Schritt 1310 eine
Leseoperation in Tabelle 1002-i unter der Adresse durch,
die durch den im zweiten Feld der COMMAND-Zelle des Vermittlungsagenten
befindlichen Wert definiert ist.
-
Anschließend führt der
Prozessor 1160 in Schritt 1320 eine Leseoperation
in Tabelle 1002-i unter der Adresse durch, die durch die
im dritten Feld der COMMAND-Zelle des Vermittlungsagenten befindliche
erste Leitwegkennung definiert ist. Als Ergebnis dieser Leseoperation
wird ein Wert X ausgegeben.
-
Dann
führt der
Prozessor in Schritt 1330 mit dem Wert X von Schritt 1320 und
dem in Schritt 1310 ausgegebenen Wert eine logische ODER-Operation
durch. Diese logische ODER-Operation liefert die in der Unicast-Konfiguration
noch fehlenden Anschlüsse.
Das Ergebnis der ODER-Operation wird in Tabelle 1002 unter der Adresse
SRH_Connection gespeichert.
-
In
Schritt 1340 führt
der Prozessor 1160 eine Leseoperation in Tabelle 1020-i unter
der Adresse durch, die durch den im zweiten Feld der COMMAND-Zelle
des Vermittlungsagenten befindlichen Wert definiert ist.
-
In
Schritt 1350 führt
der Prozessor 1160 eine Leseoperation in Tabelle 1020-i unter
der Adresse durch, die durch die im dritten Feld der COMMAND-Zelle
des Vermittlungsagenten befindliche erste Leitwegkennung definiert
ist. Als Ergebnis dieser Leseoperation wird ein Wert Y ausgegeben.
-
Dann
führt der
Prozessor in Schritt 1360 mit dem Wert Y von Schritt 1350 und
dem in Schritt 1340 ausgegebenen wert eine logische ODER-Operation
durch, deren Ergebnis in Tabelle 1020-i unter der Adresse
gespeichert wird, die durch das in der COMMAND-Zelle befindliche
zweite Feld SRH_Connection definiert ist.
-
Die
Schritte 1310 bis 1360 werden für alle Anschlüsse ausgeführt, sodass
dann alle sechzehn Tabellen 1002 und 1020 aktualisiert
sind (Schritt 1370).
-
Wenn
das dritte Feld in der COMMAND-Zelle des Vermittlungsagenten mehr
als nur eine Leitwegkennung, zum Beispiel label2 und label3, umfasst,
wird die obige Prozedur für
alle restlichen Leitwegkennungen wiederholt (Schritt 1380).
Für die
zweite Leitwegkennung im dritten Feld besteht diese Prozedur beispielsweise in
Folgendem:
Der Prozessor 1160 führt eine Leseoperation in Tabelle 1002-i unter
der Adresse durch, die durch den im zweiten Feld der COMMAND-Zelle
des Vermittlungsagenten befindlichen Wert definiert ist (Schritt 1310).
-
Dann
führt der
Prozessor 1160 eine Leseoperation in Tabelle 1002-i unter
der Adresse durch, die durch die zweite Leitwegkennung im dritten
Feld der COMMAND-Zelle des Vermittlungsagenten definiert ist (Schritt 1320).
Als Ergebnis dieser Leseoperation wird ein Wert X ausgegeben. Dann
wird mit den beiden Werten eine logische ODER-Operation durchgeführt, deren
Ergebnis in Tabelle 1002-i unter der Adresse SRH Connection
gespeichert wird.
-
Dann
kann die Aktualisierung der Tabelle 1020-i erfolgen, indem
mit dem von der Adresse SRH_Connection entnommenen Wert und dem
von der Adresse, die durch die zweite Leitwegkennung definiert ist,
entnommenen Wert eine logische ODER-Operation durchgeführt wird.
Das Ergebnis dieser Operation wird in Tabelle 1020-i unter
der Adresse SRH_Connection gespeichert.
-
Die
Verarbeitung der zweiten Leitwegkennung wird dann mit der Aktualisierung
aller anderen Tabellen 1001 und 1020 fortgesetzt.
-
Es
kann von Vorteil sein, wenn der Fachmann vor Beginn der Aktualisierung
der Tabelle 1020-i in einer Schleife der Schritte 1320 und 1330 die
Tabelle 1002-i direkt aktualisiert. Solche Ausführungsdetails
hängen jedoch
von den speziellen Umständen
ab.
-
Dieser
Algorithmus ist besonders leistungsfähig, da der im Allgemeinen
in einem Protokolladapter des Vermittlungssystems angeordnete Vermittlungsagent
die verschiedenen Leitwegtabellen des Vermittlungskerns 1130 aktualisieren
kann, ohne die interne Topologie des Koppelfeldes zu kennen. Mittels
der logischen ODER-Operationen können
zur Unicastkonfiguration leicht weitere Ausgangsanschlüsse zugefügt werden, von
denen der Vermittlungsagent keine Kenntnis zu haben braucht.
-
Man
beachte, dass der oben beschriebene Aktualisierungsprozess für alle neuen
Verbindungen durchgeführt
werden kann, die durch den Vermittlungsagenten angefordert werden.
Sobald eine neue Verbindung angefordert wird, können die Leitwegtabellen 1002 und 1020 einfach
durch eine COMMAND-Zelle vom Verbindungsagenten aktualisiert werden,
die mit einem einfachen Verbindungskabel über den normalen Datenpfad übertragen
wird.
-
Im
Folgenden werden die Schritte beim Löschen einer Kennung eines Feldes
SRH_connection beschrieben.
-
Das
Prinzip besteht darin, in Tabelle 1020-i unter der durch
die betreffende Kennung definierten Adresse nach demjenigen Wert
i zu suchen, dessen Gültigkeitsbit
auf gültig
gesetzt ist. An diesem Speicherplatz bleibt der Inhalt der Tabelle 1020-i,
also die Bitmap, gleich einem Wert X. Im nächsten Schritt wird in dieser Tabelle
(1020-i) aus der durch den betreffenden Wert SRH_connection
definierten Adresse die darin gespeicherte Bitmap (d.h. Y) gelesen.
Dann wird mit dem Wert Y und dem inversen Wert von X eine UND-Operation durchgeführt.
-
Deren
Ergebnis Z wird wieder unter der durch das Feld SRH_connection definierten
Adresse gespeichert. Wenn dieses Ergebnis Z ungleich null ist (was
bedeutet, dass in diesem Feld SRH_connection noch eine Unicastkennung
vorhanden ist), muss die Bitmap auf ON bleiben. Die Tabellen 1002-i bleiben
unverändert.
-
Wenn
jedoch der Wert Z gleich null ist (was bedeutet, dass die letzte
Kennung des Feldes SRH_connection gelöscht worden ist), wird das
diesem Feld SRH_connection entsprechende Gültigkeitsbit auf OFF gesetzt.
Da auch der letzte Protokolladapter entfernt werden muss, werden
außerdem
alle verschiedenen Tabellen 1022-i (mit i = 0 bis 15) aktualisiert,
um den (diesem Protokolladapter entsprechenden) Ausgangsanschluss
unter der Adresse SRH_connection zu sperren. Wenn die Bitmap gleich
null ist, wird das Gültigkeitsbit
in einem weiteren Schritt gleich null gesetzt.
-
Die
Löschoperation
ist genauso einfach wie Erzeugung der Kennung, da der Vermittlungsagent
die Topologie des Vermittlungssystems nicht genau zu kennen braucht.
Die Kennung wird einfach durch Ausführung von Booleschen Operationen
gesperrt.
-
14 zeigt
eine spezielle Ausführungsart
einer verbesserten Komponente „Protokolladapter", die sich gut als
Schnittstelle für
Leitungen eignet, über
die ATM-Zellen übertragen
werden. Der Protokolladapter 521 in dieser Figur weist
einen Empfangsprozessblock 910 auf, um den ankommenden
ATM-Datenfluss zu verarbeiten
und auf die Weiterleitung zum SCAL-Element 1000 vorzubereiten.
Der Empfangsblock 910 weist einen mit dem 2-Byte-Bus 911 verbundenen
Eingang und einen mit einem entsprechenden Bus 541 verbundenen
Ausgang auf. Der Sendeprozess 950 empfängt die vom Bus 641 kommenden
ATM-Zellen und leitet sie zum Bus 951 weiter. Bei dem in
der Figur gezeigten Beispiel stellt der Protokolladapter die Verbindung
mit einer OC12/STM4-Leitung her. Dem Fachmann ist bekannt, dass
für eine
solche Übertragung
solche herkömmlichen
Funktionen verwendet werden müssen
wie die Taktwiederaufnahme 914, die Seriell-Parallel-Umsetzung 912 und
die ATM-Zellendarstellung 913,
um einen physischen 2-Bit-Datenfluss auf Leitung 921 in 16-Bit-ATM-Zellen
auf dem Bus 911 umzuwandeln. Da solche Funktionen in den
als Schnittstelle verwendeten Logikschaltungen üblicherweise enthalten sind,
wird hier auf die ausführliche
Beschreibung verzichtet. In umgekehrter Richtung umfasst der Sendepfad
den Sendeblock Xblock 950, der ATM-Zellen zu einem 16-Bit-Bus 951 liefert,
die wiederum über
einen Block 952 und einen Parallel-Seriell-Umsetzer 953 zu
einer physischen 1-Bit-Leitung 961 übertragen werden. Der Block 952 fügt die ATM-Zellen
in den SDH-Bitstrom (Synchronous Digital Hierarchy, synchrone digitale
Hierarchie) ein.
-
15 zeigt eine ähnliche
Struktur zum Anschließen
von vier OC3-Leitungsschnittstellen über eine Gruppe von vier Empfangsleitungsschnittstellen 971 bis 974 und
vier Sendeleitungsschnittstellen 976 bis 979. Die
Empfangsleitungsschnittstelle 971 beispielsweise umfasst
die Schaltungen 914, 912 und 913 von 14, und
die Sendeleitungsschnittstelle 976 kann die Schaltungen 952 und 953 von 14 umfassen.
Im Empfangsteil werden die Ausgänge
der vier Blöcke 971 bis 974 auf
Zellenebene gemultiplext, bevor die Zellen zum Bus 961 gelangen.
Entsprechend werden die vom Sendeblock Xmit 950 kommenden
Zellen auf Zellenebene gedemultiplext und bilden die vier Zellenfolgen,
die zur jeweiligen OC3-Leitungsschnittselle übertragen werden. Bei einer
Ausführungsart
der Erfindung kann das Format der vom Empfänger 910 empfangenen
Zelle drei Felder umfassen: ein erstes 1-Byte-Feld, welches genau
diejenige Leitung bezeichnet, über
die die betreffende Zelle empfangen wurde, ein zweites Feld mit
dem 5-Byte-ATM-Vorsatz und ein drittes Feld mit den ATM-Nutzdaten.
Es sind jedoch auch noch andere Ausführungsarten möglich, die
die so genannte Leve1_2-UTOPIA-Schnittstelle
nutzen können, über welche
die ATM-Schicht mehrere Leitungsschnittstellen steuern kann. Solche
Verfahren sind dem Fachmann bekannt und werden daher nicht weiter
beschrieben. Es kann auch vorkommen, dass die vom Empfänger 910 empfangene
Zelle nur die ATM-Zelle (d.h. den Vorsatz und die Nutzdaten) umfasst
und die Daten zum Definieren der entsprechenden Leitung auf anderem
(nicht dargestelltem) Wege zum Empfänger 910 übermittelt
werden.
-
16 zeigt die Struktur des Empfangsblocks 910 im
Detail, Der Block 910 basiert auf einer Pipelinestruktur,
welche nacheinander Elementaroperationen ausführt, um die auf dem Bus 911 ankommende
Zelle zur Weiterleitung auf dem Bus 541 umzuwandeln, um
dann durch das entsprechende PINT-Element des lokal angeschlossenen
SCAL-Elements 1000 verarbeitet zu werden.
-
Als
Erstes umfasst der Empfänger 910 einen
Suchblock 920, der die Zelle auf der Leitung 911 empfängt und
mittels des Feldes LI/VP/VC auf eine LI/VP/VC-Tabelle 924 zugreift,
um darin einen Eingabeindex zu ermitteln. Der Mechanismus für den Zugriff
auf eine solche Tabelle ist wohlbekannt und kann sich auf vorteilhafte
Weise zum Beispiel der Lehren in der Europäischen Patentanmeldung 94-909050.0
von IBM Corp. (Aktenzeichen SZ9-94-001) bedienen, in der eine wirksame
Lösung
für eine
große
Anzahl (zum Beispiel 16000) benötigter
verschiedener Adressen gezeigt wird. Sollte das Feld LI/VP/VC nicht
in der Tabelle 924 enthalten sein, bewirkt der Block 920 das
Löschen
der Zelle, damit diese im übrigen
Teil des Empfangsblocks 910 nicht weiter verarbeitet wird.
Wenn dem betreffenden LI/VP/VC-Wert in der Zelle ein Eingabeindex
zugewiesen ist, wird mit diesem auf eine zweite Tabelle mit der
Bezeichnung Empfangssuchtabelle 922 zugegriffen, welche für jeden
Eingabeindex eine Gruppe weiterer Indizes enthält, die vom Empfänger 910 zur
weiteren Bearbeitung benötigt
werden.
-
Die
Tabelle 922 enthält
die folgenden Felder: einen Index VERBINDUNG (CONNECTION), einen
Index NEUORDNUNG (REASSEMBLY), einen Index AUSFÜHRUNG UND WARTUNG (OPERATION
AND MAINTENANCE, OAM), einen Index ZELLENENTNAHME (CELL EXTRACTION),
den VERMITTLUNGSLEITWEGVORSATZ (SWITCH ROUTING HEADER) zur Nutzung
durch das Koppelfeld und insbesondere durch das PINT-Element und
den Vermittlungskern sowie einen Index AUSGABE (OUTPUT), der in
Verbindung mit dem Sendeblock 950 verwendet wird.
-
Wenn
die Verarbeitung im Block 920 abgeschlossen ist, wird die
Zelle im Block STRATEGIE (POLICING) 915 weiterverarbeitet,
welcher prüft,
ob die Zelle die für
die betreffende ATM-Zellen-Verbindung
definierten Verkehrsparameter erfüllt. Hierzu greift der Block 925 den
aus der Tabelle 922 gelesenen Index VERBINDUNG auf eine
Tabelle STRATEGIEPARAMETER UND ZÄHLER
(POLICING PARAMETERS AND COUNTERS) 926 zu, um die ankommende
Zelle zu prüfen.
Der Block 925 kann prüfen,
ob die Zelle den Anforderungen des Generic Cell Rate Algorithm (Allgemeiner
Zellenratealgorithmus, GCRA) genügt,
der dem Fachmann bekannt ist und von der Internationalen Union für Telekommunikation
(International Telecommunication Union, ITU) empfohlen wird. Erweist
sich die Zelle als nicht vereinbar mit dem GCRA-Algorithmus, kann sie
gemäß den obigen
Ausführungen
gelöscht
werden.
-
Nach
der Konformitätsprüfung in
Block 925 gelangt die Zelle zum Block AAL5 930,
in welchem mittels des Indexes NEUORDNUNG aus Tabelle 924 ermittelt
wird, ob die soeben empfangene Zelle direkt zum nächsten Block 935 weitergeleitet
zum wohlbekannten Format AAL5 neu geordnet werden soll. Im letzteren Falle
veranlasst der Block AAL5 930, dass die Nutzdaten der Zelle
in einen (nicht gezeigten) Puffer geladen werden. Man beachte, dass
dessen Speicherkapazität
und somit auch die Anzahl der gleichzeitig auszuführenden
Neuordnungsoperationen begrenzt ist.
-
Sobald
die gesamte Nachricht in diesem Speicher vorliegt, kann der im Protokolladapter
befindliche Steuerprozessor auf den Speicher zugreifen.
-
Wenn
die Zelle nicht neu geordnet werden soll, überlässt der Block 930 die
Weiterverarbeitung dem Block OAM 935. Dieser ermittelt
mittels des Indexes OAM RESSOURCEN, ob die empfangene Zelle zu einer (durch
VP/VC definierten) Verbindung gehört, deren OAM-Kapazität gemäß den ITU-Empfehlungen
I.610 zu überwachen
ist. Wenn die Zelle nicht der Überwachung
der OAM-Kapazität
unterliegt, geht die Verarbeitung von Block 935 weiter
zu Block 940. Anderenfalls ermittelt der Block 935 in
Abhängigkeit
von der aktuellen Anzahl der bereits empfangenen bzw. gesendeten
Zellen, ob eine bestimmte OAM-Zelle eingefügt oder entnommen werden soll.
Im Fall der Einfügung
beispielsweise wird in Block 935 in Abhängigkeit von der aktuellen
Anzahl der seit der letzten Einfügung
einer OAM-Zelle
auf der betreffenden Verbindung bereits übertragenen Zellen ermittelt,
ob eine weitere OAM-Zelle (mit einem speziellen VP/VC) eingefügt werden
kann. Bei der Zellenentnahme hingegen wird in Block 935 die
empfangene OAM-Zelle
entnommen. Man beachte, dass der Empfangsblock 910 als
Pipeline organisiert ist, sodass die Einfügung immer an der ersten leeren
Zellenposition in der Pipeline erfolgt. Das ist dadurch möglich, dass
der Empfangsblock 910 so ausgelegt ist, dass er etwas schneller
ist als der genaue Datendurchsatz der angeschlossenen Leitungen,
sodass im Zellenstrom immer genügend
leere Zellenpositionen vorhanden sind. Außerdem steht im Empfangsblock 910 ein
Block ZELLE ENTNEHMEN/EINFÜGEN 915 für den Steuerprozessor
zur Verfügung,
sodass dieser in Abhängigkeit
vom Inhalt des Feldes ZELLE ENTNEHMEN/EINFÜGEN eine Zelle entnehmen oder
einfügen
kann.
-
Nach
Beendigung der Verarbeitung in Block 935 gelangt die Zelle
weiter zum Block VERMITTLUNGSVORSATZ EINFÜGEN 940, in dem der
Tabelle 922 gelesenen VERMITTLUNGSLEITWEGVORSATZ an die empfangene
Zelle anhängt
und diese dann zum Auslagerungsblock VP/OI 945 weiterleitet.
Dieser Block verwendet den Inhalt des Indexes AUSGANG, der anstelle
der acht LSB (niedrigstwertigen Bits) des VP in die Zelle eingefügt wird,
sowie das Feld Vorsatzkorrekturcode (Header Correction Code, HEC).
Im Folgenden wird ausführlich
dargelegt, dass dieser Code vom Sendeteil des Protokolladapters
zum Erstellen des endgültigen Feldes
VP/VC verwendet wird, der am Ausgang des Protokolladapters benötigt wird.
Bei anderen Ausführungsarten
der Erfindung kann das Feld OI auch als separates Feld übertragen
werden, das sich an der ersten Position der Zellen befindet. Man
beachte, dass der Index AUSGANG einen speziellen Prozess kennzeichnet, der
im Zielprotokolladapter abläuft.
Dadurch kann es passieren, dass zwei verschiedene Verbindungen ein
und denselben Ausgangsindex verwenden. Dadurch können einfache Mehrpunkt-zu-Punkt-Verbindungen realisiert werden.
-
Gemäß den oben
beschriebenen Mechanismen empfängt
das SCAL-Element 1000 vom
Bus 541 eine Zelle mit der in der Figur dargestellten Form.
Ein wesentlicher Vorteil der Struktur des Empfängers 910 ergibt sich
aus der Anordnung der verschiedenen Tabellen im Speicher und der
Organisation der Pipeline, weil dadurch jeder Block 920, 925, 930, 935, 940 und 945 eine
Elementaroperation ausführen
kann, bevor die Verarbeitung im nächstfolgenden Block des Pfades
erfolgt. Dadurch wird sichergestellt, dass der gesamte Empfangsprozess
in einer begrenzten Zeitspanne erledigt wird, was für Hochgeschwindigkeitsleitungen
von Bedeutung ist.
-
Der
Sendeteil 950 ist in 17 dargestellt.
Die vom SCAL-Element 1000 empfangene
Zelle wird in den Sendeteil eingegeben und in Block 960 in
der Weise bearbeitet, dass der SRH aus der Zelle entfernt wird. Außerdem verwendet
der Block 960 den Index AUSGANG in der Zelle, um auf eine
Suchtabelle SENDEN (XMIT) 964 zuzugreifen, welche ein dem
Index AUSGANG entsprechendes Feld liefert, das Folgendes umfasst:
einen Index NÄCHSTER-AUSGANG
(NEXT_OUTPUT) zum Ausführen
von Multicastoperationen auf ATM-Verbindungen, einen Index WARTESCHLANGE
(QUEUE), einen Index OAM-RESSOURCEN (OAM RESOURCE) und ein Feld
NEUER LI/VP/VC (NEW LI/VP/VC), um die Zelle wieder in den Zustand
zu versetzen, in welchem sie vom Empfänger 910 empfangen
wurde.
-
Dann
wird die Zelle durch das Modul ZULASSUNGSPRÜFUNG 965 verarbeitet,
welches den Status der Warteschlange der betreffenden Verbindung
prüft, über welche
die Zelle übertragen
wird. Bei der bevorzugten Ausführungsart
der Erfindung der Sendeblock 950 zur Bearbeitung von mindestens
16000 Warteschlangen ausgelegt. Wenn der Block 965 eine
Zelle empfängt,
wird mittels des Index WARTESCHLANGE ermittelt, welche Warteschlange
zur betreffenden Zelle gehört,
und insbesondere ein Speicher 966 adressiert, in welchem
sich Parameter zu dieser Warteschlange befinden. Solche Parameter
können
beispielsweise die Anzahl der bereits in der Warteschlange befindlichen
Zellen oder die Anzahl der Zellen sein, die angesichts einer Überlastungsbedingung
noch in die betreffende Warteschlange geladen werden können. Anhand
dieser Parameter kann der Block 965 entscheiden, ob die
gerade bearbeitete Zelle in die zum diesem Index WARTESCHLANGE gehörende Warteschlange
geladen werden soll. Bei einer bevorzugten Ausführungsart der Erfindung wird
mittels eines speziellen Mechanismus die Anzahl der aktuell in der
Warteschlange gespeicherten Zellen überwacht und der so ermittelte
Wert mit einem vorgegebenen Schwellenwert verglichen. Wenn der ermittelte
Wert den Schwellenwert überschreitet,
kann der Block 965 entweder weitere Zellen abweisen oder,
in einigen wenigen Fällen,
weitere Zellen akzeptieren, die bestimmte Prioritätsbedingungen
erfüllen.
-
Parallel
zum Laden der Zelle in die betreffende Warteschlange erstellt der
Block LI/VP/VC 975 einen neuen Vorsatz für die Zelle.
Das geschieht, indem der OI/VC aus der Zelle gelöscht und mit dem Inhalt des Feldes
NEW_LI/VP/VC überschrieben
wird. Man beachte, dass hierbei das Feld VC unverändert bleibt
kann, während
sich das Feld VP ändert.
Normalerweise ändert
sich jedoch das gesamte Feld VP/VC.
-
Außer der
Anordnung der 16000 Warteschlangen im Sendeblock 950 steht
noch ein System WARTESCHLANGENVERWALTUNG zur Verfügung, in
welchem eine geordnete Liste von Puffern verwaltet wird, in denen
die Zellen gespeichert sind, wobei jede geordnete Liste einer der
16000 Warteschlangen entspricht. Außerdem sorgt eine Anpassungseinheit 985 für eine geregelte
Ausgabe der in die verschiedenen Warteschlangen gespeicherten Zellen.
Diese Ausgabe hängt
insbesondere von der jeder Warteschlange zugewiesenen Ausgaberate
ab.
-
Ebenso
wie beim Empfangsblock 910 wird ein OAM-Block 970 zum
Einfügen
oder Entnehmen von Zellen zur OAM-Leistungsüberwachung verwendet. Wenn
für die
Zelle keine OAM- Leistungsüberwachung durchgeführt wird,
tritt der Block 970 nicht in Aktion. Anderenfalls ermittelt
der Block 970 wie oben in Abhängigkeit von der aktuellen
Anzahl von Benutzerzellen, die im betreffenden Fall bereits empfangen
oder gesendet worden sind, ob eine bestimmte OAM-Zelle eingefügt oder
entnommen werden soll.
-
Ebenso
wie beim Empfangsblock 910 ist die besondere Anordnung
der verschiedenen Tabellen zur Verwaltung der unterschiedlichen
Indizes für
die Erfindung von Vorteil. Dadurch erübrigt sich die Verwendung großer und
teurer Speicher. Durch diese sehr wirkungsvolle Organisation werden
ein Empfangs- und ein Sendeblock für einen ATM-Protokolladapter zur Verfügung gestellt,
mit dem 600-Mbit/s-Verbindungen
ermöglicht werden.
Aus dem oben Gesagten ergibt sich, dass der Protokolladapter den
VP/VC-Tausch mittels des zusätzlichen
Index AUSGANG durchführt,
der in die Nutzdaten der Zelle integriert ist, welche durch den
Vermittlungskern weitergeleitet wird. Beim Fehlen dieses speziellen
Merkmals müsste
die VP/VC-Auslagerung auf der Ebene des Protokolladapterempfängers erfolgen,
sodass vor dem Weiterleiten der Zelle durch den Vermittlungskern
ein weiteres Exemplar der Zelle bereitgestellt werden müsste. Durch
diesen im Protokolladapter der Erfindung angewendeten sehr wirkungsvollen
Mechanismus wird nur eine Zelle durch den Vermittlungskern geleitet,
was zu einer geringeren Überlastung
des Vermittlungskerns führt,
und die VP/VC-Auslagerung auf der Ebene des Protokolladapters auf
der Sendeseite durchgeführt,
bevor die Zelle über
die Leitung übertragen wird.
Auf diese Weise wird die Verwendung des durch den Sendeteil des
Protokolladapters eingeführten
Index AUSGANG auf vorteilhafte weise mit der Leistungsfähigkeit
des oben beschriebenen Vermittlungskerns verknüpft.
-
Der
Mechanismus kann außerdem
durch Verwendung des Index AUSGANG für eine zweite Funktion noch
weiter verbessert werden, welche das selektive Rundsenden (Multicast)
von Zellen über
die Verbindung ermöglicht.
Dies wird erreicht durch Verknüpfen
eines Multicastpuffers mit einem zusätzlichen Mechanismus, der auf
der Verwendung eines speziellen Bits des Indexfeldes NÄCHSTER_AUSGANG
(NEXT_OUTPUT) basiert, welches aus der Tabelle 964 gelesen
wird. Ein solcher Mechanismus wird in der gleichzeitig anhängigen Patentanmeldung
(Aktenzeichen FR9-96-011) ausführlich
beschrieben, welche dasselbe Prioritätsdatum hat, an denselben Anmelder
abgetreten wurde und durch einfache Bezugnahme Bestandteil der vorliegenden
Anmeldung ist.
-