DE69637462T2 - ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen - Google Patents
ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen Download PDFInfo
- Publication number
- DE69637462T2 DE69637462T2 DE1996637462 DE69637462T DE69637462T2 DE 69637462 T2 DE69637462 T2 DE 69637462T2 DE 1996637462 DE1996637462 DE 1996637462 DE 69637462 T DE69637462 T DE 69637462T DE 69637462 T2 DE69637462 T2 DE 69637462T2
- Authority
- DE
- Germany
- Prior art keywords
- address
- cell
- buffer
- multicast
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/104—Asynchronous transfer mode [ATM] switching fabrics
- H04L49/105—ATM switching elements
- H04L49/108—ATM switching elements using shared central buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
- H04L49/203—ATM switching fabrics with multicast or broadcast capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/04—Selecting arrangements for multiplex systems for time-division multiplexing
- H04Q11/0428—Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
- H04Q11/0478—Provisions for broadband connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5601—Transfer mode dependent, e.g. ATM
- H04L2012/5678—Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
- H04L2012/5681—Buffer or queue management
- H04L2012/5683—Buffer or queue management for avoiding head of line blocking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
- HINTERGRUND DER ERFINDUNG
- Die vorliegende Erfindung betrifft ATM-Schalter mit Eingangsports und Ausgangsports und Verfahren zum Steuern derselben und insbesondere ATM-Schalter mit einem gemeinsam genutzten Puffer und Verfahren zum Steuern derselben.
- Der ATM-Schalter von diesem Typ hat eine Vielzahl von Eingangsports und eine Vielzahl von Ausgangsports und transferiert ATM-Zellen von bestimmten Eingangsports zu bestimmten Ausgangsports. Die ATM-Zelle, wie sie im Stand der Technik wohlbekannt ist, hat eine feste Läge von 53 Bytes. Von diesen Bytes bilden 5 Bytes einen Anfangsblock VCI-, VPI-, etc. Identifizierer und bilden die übrigen 48 Bytes eine Nutzlast mit darin vorgesehenen Daten, etc.
- Bei einem Typ eines ATM-Schalters wird ein gemeinsamer Speicher mit einer Vielzahl von Adressen gemeinsam für eine Vielzahl von Ausgangsports verwendet. Bei diesem ATM-Schalter werden von Eingangsports gelieferte ATM-Zellen aufeinanderfolgend im gemeinsamen Speicher gespeichert, während Speicheradressen der gespeicherten ATM-Zellen im gemeinsamen Speicher unter einer Steuerung einer Schreibsteuerung aufeinanderfolgend in entsprechende Adressenpuffer geschrieben werden, die für die jeweiligen Ausgangsports vorgesehen sind. Für die zu den Ausgangsports zu transferierenden gespeicherten ATM-Zellen werden ihre Adressenpuffer aufeinanderfolgend durch eine Lesesteuerung bestimmt und wird jede gespeicherte ATM-Zelle aus der aus ihrem bestimmten Adressenpuffer ausgelesenen gemeinsamen Speicheradresse ausgelesen und zum entsprechenden Ausgangsport transferiert.
- Bei einem solchen ATM-Schalter kann eine allgemein als Mehrpunktverbindungszelle bzw. Multicast-Zelle bezeichnete Zelle, die auf eine Multicast-Weise zu einer Vielzahl von Ausgangsports zu transferieren ist, als eine ATM-Zelle von einem einzelnen Eingangsport geliefert werden. Es wird angenommen, dass sich die Forderung nach einem Transferieren von solchen Multicast-Zellen in Zukunft erhöhen wird.
- Ein ATM-Schalter zum Verarbeiten von solchen Multicast-Zellen ist in der
japanischen offengelegten Patentveröffentlichung Nr. 6-62041 - Der offenbarte ATM-Schalter hat Adressenpuffer, die hardwaremäßig jeweils unabhängig entsprechend jedem Ausgangsport vorgesehen sind. Jeder Adressenpuffer enthält einen Zähler, der die Menge an Inhalt in jedem Adressenpuffer zum Unterscheiden der letzten ausgegebenen Multicast-Zellenadresse anzeigt.
- Bei diesem ATM-Schalter muss auf eine Ankunft einer Multicast-Zelle hin die Adresse des Multicast-Zellenspeicherbereichs im gemeinsamen Speicher gleichzeitig in Adressenpuffern entsprechend den Ausgangsports gespeichert werden, zu welchen das Senden durchzuführen ist.
- Dies bedeutet, dass die Adresse der angekommenen Multicast-Zelle im gemeinsamen Speicher kopiert und gleichzeitig als Adressenzeiger in den entsprechenden Adressenpuffern gespeichert werden muss.
- Das Kopieren der angekommenen Multicast-Zellenadresse und ihr Speichern als Adressenzeiger in den entsprechenden Adressenpuffern zur gleichen Zeit macht es schwierig, die Vielzahl von Adressenpuffern als einzelnen RAM oder als einen ähnlichen Speicher aufzubauen. Anders ausgedrückt ist es mit einem einzelnen Speicher mit einer kleinen Dateneingangsbitbreite unmöglich, eine Vielzahl von Adressenpufferbereichen zur Verfügung zu stellen und zuzulassen, dass eine Adresse in einer Vielzahl von Adressenbereichen gleichzeitig geschrieben wird. Es ist weiterhin unmöglich, eine Vielzahl von Adressen zu einem einzelnen Speicher gleichzeitig zu bestimmen. Anders ausgedrückt hat der oben angegebene ATM-Schalter einen Bereich, der nicht durch eine integrierte Halbleiterschaltung implementiert werden kann, was angesichts der Größenreduzierung unerwünscht ist.
- Lee, L-H, et al: "Multicasting in a shared buffer memory switch", IEEE Tencon '93, Beijing, Vol. 1 von 5, 19. Oktober 1993, Seiten 209 bis 212, XP 000463266 offenbart einen modifizierten gemeinsam genutzten Multicast-Pufferspeicherschalter, wobei eine Multicast-Zelle zu ihren Zielorten in unterschiedlichen Schlitzen geliefert werden kann, garantiert aber, dass Zellen durch die Art "wer zuerst kommt, mahlt zuerst" in einer Sequenz geliefert werden.
- In
EP-A-0 363 053 ist eine Anordnung für ein asynchrones Zeitmultiplexschaltens offenbart, die einen Seriell/Parallel-Wandler aufweist, der eingerichtet ist, um Eingangspakete von Daten, die Führungsinformation enthalten, in serieller Form zu empfangen und die Pakete von Daten in eine parallele Form umzuwandeln. Ein Direktzugriffsspeicher ist vorgesehen, in welchem jedes Paket von Daten bei einer adressierten Stelle in den Speicher eingegeben wird, und die Adresse wird in eine jeweilige First-in-Firt-out-Ausgangswarteschlange am Ende eingegeben. - Endo, N., et al: "Shared buffer memory switch for an ATM exchange", IEEE Transactions an Communications, Vol. 41, No. 1, 1. Januar 1993, Seiten 237 bis 245, XP 000367768 schlägt eine ATM-Schalterarchitektur vor, die gemeinsam genutzter Pufferspeicherschalter genannt wird, deren Ausgangszellenpuffer zwischen allen Ausgangsports des Schalters gemeinsam genutzt werden. Die gemeinsame Nutzung des Puffers kann das Ausmaß an Hardware im Vergleich mit demjenigen eines separaten Pufferspeicherschalters reduzieren. Darüber hinaus macht ein Modifizieren der Speichersteuerschaltungen des Schalters den Speicherschalter flexibel genug, um Funktionen wie beispielsweise eine Prioritätssteuerung und einen Gruppenruf bzw. ein Multicasting durchzuführen.
- In
EP-A-0 336 373 , ist ein Zellenschaltsystem von ATM offenbart, wobei Pakete fester Länge, die jeweils aus einem Anfangsblockbereich und einem Datenbereich aufgebaut sind, von einer Vielzahl von Eingangsleitungen empfangen werden und die empfangenen Pakete nach einer Umwandlung der Anfangsblockbereiche auf ausgewählte von Ausgangsleitungen gesendet werden, die durch ihre Anfangsblockbereiche bestimmt sind. Das System enthält weiterhin einen Pufferspeicher mit einem ersten Pufferbereich, der aus einer Vielzahl von untergeordneten Bereichen zum Akkumulieren von Zellen entsprechend den Ausgangsleitungen aufgebaut ist, und einem zweiten Pufferbereich zum Akkumulieren von Rundruf- bzw. - Broadcast-Zellen, um zu ausgewählten der Vielzahl von Ausgangsleitungen gesendet zu werden.
- Saito, H., et al.: "Mulicast function and its LSI implementation in a shared multibuffer ATM switch", proceedings of INFOCOM, Toronto, 12. Juni 1994, Seiten 315 bis 322, XP000496482 offenbart, eine Adressenkopierschaltung in der Steuerung eines gemeinsam genutzten Pufferschalters einzuführen. Wenn eine Multicast-Zelle in den gemeinsam genutzten Pufferspeicher gespeichert wird, wird eine gespeicherte Adresse kopiert und in mehrere Ausgangsadressenwarteschlangen in eine Warteschlange gebracht, um einem Multicasting unterzogen zu werden.
- Eine Aufgabe der vorliegenden Erfindung besteht daher im Bereitstellen eines äußerst ökonomischen ATM-Schalters, der einen gemeinsamen Puffer enthält, welcher eine ruhige Verarbeitung von Multicast-Zellen und ein Reduzieren nachteiliger Effekte einer HOL-Blockierung zulässt.
- Eine weitere Aufgabe der vorliegenden Erfindung besteht im Bereitstellen eines ATM-Schalters, der Multicast-Zellen effizient und mit einem einfachen Schema verarbeiten kann.
- Eine andere Aufgabe der vorliegenden Erfindung besteht im Bereitstellen eines ATM-Schalters, der die Belastung eines Kopierens von gemeinsam genutzten Pufferadressen abmildern kann, die in einer Multicast-Zellenverarbeitung enthalten sind.
- Eine weitere Aufgabe der vorliegenden Erfindung besteht im Bereitstellen eines ATM-Schalters, der für eine Größenreduzierung als integrierte Halbleiterschaltung implementiert sein kann.
- Eine noch weitere Aufgabe der vorliegenden Erfindung besteht im Bereitstellen eines ATM-Schalters, der nachteilige Effekte einer Blockierung eines Anfangseiner-Leitung (HOL = head-of-line) abmildern oder eliminieren kann.
- Eine noch weitere Aufgabe der vorliegenden Erfindung besteht im Bereitstellen eines ATM-Schalters, der keinen separaten Speicherbereich aus den Zellenspeicherbereichen zum Zählen der Male eines Sendens von Multicast-Zellen zur Verfügung stellen muss.
- Gemäß der vorliegenden Erfindung wird ein ATM-Schalter zur Verfügung gestellt, wie er im unabhängigen Anspruch 1 definiert ist.
- Gemäß einem Aspekt in Bezug auf die vorliegende Erfindung wird ein gemeinsam genutzter Puffer zur Verfügung gestellt und hat jede Multicast-Zelle eine einzige Adresse im gemeinsam genutzten Puffer. Es kann sein, dass die Multicast-Zelle selbst nicht zu allen Ausgangsports gleichzeitig ausgegeben wird. Die Zeit, die für ein gesamtes Speichern jeder Zelle im gemeinsam genutzten Puffer erforderlich ist, ist im Vergleich mit der Zeit lang, die zum Speichern der Adresse vom gemeinsam genutzten Puffer in jedem Adressenpuffer erforderlich ist. Die Adresse kann somit in einer Vielzahl von Adressenpuffern unter Nutzung der Zeit gespeichert werden, die während einer Speicherung einer Multicast-Zelle im gemeinsam genutzten Puffer verstrichen ist. Dies bedeutet, dass es möglich ist, die Belastung im Fall eines Kopierens der Adresse und eines Speicherns derselben in einer Vielzahl von Adressenpuffern zu reduzieren.
- Spezifischer wird gemäß einem Aspekt in Bezug auf die vorliegende Erfindung ein ATM-Schalter zur Verfügung gestellt, der eine Vielzahl von Eingangsports zum Empfangen von Eingangszellen, eine Vielzahl von Ausgangsports zum Ausgeben von Ausgangszellen und einen gemeinsamen Puffer aufweist, der eine Vielzahl von Adressen hat und Multicast-Zellen verarbeiten kann, die jeweils zu einer Vielzahl von Ausgangsports auszugeben sind, wobei der ATM-Schalter weiterhin einen Multicast-Zellenpuffer aufweist, um auf eine Ankunft einer Multicast-Zelle hin den Inhalt eines Adressenzeigers, der eine Adresse im gemeinsam genutzten Puffer anzeigt, in welchem die Multicast-Zelle zusammen mit Multicast-Führungsdaten (Information) darüber zu speichern ist, zu speichern, und Adressenpuffer, die für die jeweiligen Ausgangsports vorgesehen sind, wobei der Adressenzeigerinhalt in den Adressenzeigern während einer freien Zeit darin gespeichert werden und zum Zugreifen auf den gemeinsam genutzten Puffer gemäß den Inhalten jedes Adressenpuffers verwendet wird.
- Gemäß einem weiteren Aspekt in Bezug auf die vorliegende Erfindung wird ein ATM-Schalter zur Verfügung gestellt, der eine Vielzahl von Eingangsports zum Empfangen von Eingangszellen, eine Vielzahl von Ausgangsports zum Ausgeben von Ausgangszellen und einen gemeinsamen Puffer aufweist, der eine Vielzahl von Adressen hat und Multicast-Zellen verarbeiten kann, die jeweils zu einer Vielzahl von Ausgangsports auszugeben sind, wobei der ATM-Schalter weiterhin Voradressenpuffer entsprechend den jeweiligen Ausgangsports, zum versuchsweisen Speichern einer Adresse im gemeinsam genutzten Puffer, in welchem die Multicast-Zelle zu speichern ist, auf eine Ankunft der Multicast-Zelle hin und Adressenpuffer entsprechend den jeweiligen Ausgangsports aufweist, wobei die Inhalte in den Voradressenpuffern aufeinanderfolgend zu den jeweiligen Adressenpuffern transferiert werden, wobei die Kapazität der Voradressenpuffer kleiner als die Kapazität der Adressenpuffer ist.
- Gemäß einem anderen Aspekt in Bezug auf die vorliegende Erfindung wird ein Verfahren zum Steuern eines ATM-Schalters zur Verfügung gestellt, der eine Vielzahl von Eingangsports zum Empfangen von Eingangszellen, eine Vielzahl von Ausgangsports zum Ausgeben von Ausgangszellen und einen gemeinsam genutzten Puffer mit einer Vielzahl von Adressen aufweist, wobei das Verfahren die Schritte zum Erzeugen einer jeweiligen von Zellen mit einem Adressenzeiger, der eine Adresse im gemeinsamen Puffer anzeigt, auf die als nächstes zuzugreifen ist, und von Adressenzellen mit einem Adressenzeiger, der eine Speicherposition im gemeinsam genutzten Puffer anzeigt, bei welcher die relevante bzw. zugehörige Zelle zu speichern ist, zum Ausbilden einer Zellenkette durch Verbinden der Zellen über die Adressenzellen und zum Zugreifen auf den gemeinsam genutzten Puffer gemäß der Zellenkette aufweist.
- Andere Aufgaben und Merkmale werden aus der folgenden Beschreibung unter Bezugnahme auf die beigefügten Zeichnungen erklärt werden.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
1 zeigt das Hauptschema des ATM-Schalters als ein Ausführungsbeispiel der vorliegenden Erfindung; -
2 zeigt ein spezifisches Beispiel des ATM-Schalters mit dem in1 gezeigten Grundschema; -
3 zeigt ein Beispiel der Konfiguration der ATM-Zelle, die im gemeinsam genutzten Puffer11 gespeichert ist; -
4 zeigt ein anderes Ausführungsbeispiel des ATM-Schalters mit dem Grundschema, wie es in1 gezeigt ist; -
5 zeigt das Hauptschema eines ATM-Schalters als zweites Ausführungsbeispiel, das nützlich zum Verstehen der vorliegenden Erfindung ist; -
6 zeigt ein spezifisches Beispiel des in5 gezeigten Grundschemas; -
7 zeigt ein anderes Beispiel des in6 gezeigten Grundschemas; -
8 zeigt ein weiteres Ausführungsbeispiel eines ATM-Schalters, das nützlich zum Verstehen der vorliegenden Erfindung ist; -
9(A) bis9(C) zeigen die Einzelruf- bzw. Unicast-Zelle, die Multicast-Zelle und die Adressenzelle, die in dem in8 gezeigten Schema behandelt sind; -
10 zeigt ein Blockdiagramm des Anfangsblockumsetzers für eine Anfangsblockumsetzung der zum ATM-Schalter in8 eingegebenen Zelle; und -
11 zeigt eine Zeichnung zum Erklären des Betriebs des ATM-Schalters in8 . - BEVORZUGTE AUSFÜHRUNGSBEISPIELE DER ERFINDUNG
-
1 zeigt das Hauptschema des ATM-Schalters als ein Ausführungsbeispiel der vorliegenden Erfindung. Dieser ATM-Schalter umfasst einen gemeinsam genutzten Puffer11 , einen Multiplexer12 , der ATM-Zellen von Eingangsleitungen (oder Eingangsports)1 bis N zur Speicherung im gemeinsamen genutzten Puffer11 multiplext, und einen Demultiplexer13 , der die aus dem gemeinsam genutzten Puffer11 ausgelesenen Daten demultiplext, um die ATM-Zellen zu trennen und zu Ausgangsleitungen (oder Ausgangsports)1 bis N auszugeben. Wie es oben beschrieben ist, besteht die ATM-Zelle aus 53 Bytes, wobei 5 Bytes davon den Anfangsblock bilden und die übrigen 48 Bytes die Nutzlast bilden. - Wie es in
10 gezeigt ist, ist ein Anfangsblockumsetzer61 mit Eingangsschnittstellen1 bis N, die individuell den jeweiligen Eingangsports entsprechen, als eine vorangehende Stufe mit dem Multiplexer12 verbunden. Vor einem Beschreiben des internen Schemas des ATM-Schalters werden das Schema und der Betrieb des Eingangsschnittstellen1 bis N beschrieben werden. Die Eingangsschnittstellen1 bis N enthalten jeweils einen Leitungsabschluss611 , eine Anfangsblockumsetzungstabelle612 und eine Anfangsblock-Hinzufügeeinheit613 . - Eine Eingangszelle, die durch den Leitungsabschluss
611 gekoppelt ist, wird versuchsweise in einem Puffer in der Anfangsblock-Hinzufügeeinheit gespeichert und nur ein Anfangsblockteil wird herausgenommen, gemäß welchem auf die Anfangsblockumsetzungstabelle612 zugegriffen wird. Die Anfangsblockumsetzungstabelle612 gibt einen Anfangsblock, der durch eine Umsetzung eines Bereichs entsprechend dem Anfangsblockteil erhalten wird, zur Anfangsblock-Hinzufügeeinheit613 aus. Die Anfangsblock-Hinzufügeeinheit613 fügt den durch die Umsetzung erhaltenen Anfangsblock zur Nutzlast in der Eingangszelle hinzu und sendet das Ergebnis zum Multiplexer12 aus. Als Ergebnis gibt der Multiplexer12 eine Zelle mit einem Anfangsblockteil aus, der einer Unicast-Zelle oder einer Multicast-Zelle entspricht. Beim dargestellten Beispiel hat der umgesetzte Zellenanfangsblockteil die Anfangsblockumsetzungsdaten zusätzlich zu Führungsdaten und hat im Fall einer Multicast-Zelle auch eine Sendezeitenzahl bzw. Sendezahl (CC). - Geht man zurück zur
1 , ist eine Adressenpuffereinheit15 , die von einem 1-ten bis zu einem N-ten Adressenpuffer151 bis15N entsprechend den jeweiligen Ausgangsports1 bis N enthält, mit dem gemeinsam genutzten Puffer15 verbunden. - Der ATM-Schalter umfasst weiterhin einen Multicast-Zellenadressenpuffer
16 und einen Leeradressenpuffer17 . Der Multicast-Zellenadressenpuffer16 speichert aufeinanderfolgend eine gemeinsame Adresse und Multicast-Führungsdaten, die zu den zu entsprechenden der Ausgangsports1 bis N auszusendenden Eingangs-Multicast-Zellen zugeordnet sind. Der Leeradressenpuffer17 speichert Leeradressen im gemeinsam genutzten Puffer11 . - ATM-Zellenadressen im gemeinsam genutzten Puffer
11 werden als jeweilige Adressenzeiger im 1-ten bis N-ten Adressenpuffer151 bis15N gespeichert. In jedem der Adressenpuffer151 bis15N bilden die gespeicherten Adressenzeiger eine Ad ressenwarteschlange. Wie es oben beschrieben ist, werden Multicast-Adressen im gemeinsam genutzten Puffer11 als jeweilige Multicast-Adressenzeiger zusammen mit den Multicast-Führungsdaten in den Multicast-Zellenadressenpuffer16 gespeichert. Im Multicast-Zellenadressenpuffer16 bilden die gespeicherten Multicast-Adressenzeiger zusammen mit den gespeicherten Multicast-Führungsdaten eine Multicast-Datenwarteschlange. Gleichermaßen bilden im Leeradressenpuffer17 die gespeicherten Leeradressen eine Leeradressenzeiger-Warteschlange. - Wie es gezeigt ist, wird jeder vom Leeradressenpuffer
17 ausgegebene Leeradressenzeiger zum gemeinsam genutzten Puffer11 zugeführt und bestimmt eine Leeradresse und eine ATM-Zellenspeicherposition im gemeinsam genutzten Puffer11 . Der Leeradressenzeiger wird auch über jeweilige vorangehende Selektoren18 zu den Adressenpuffern151 bis15N zugeführt und wird auch zum Multicast-Zellenadressenpuffer16 zugeführt. Zu den Selektoren18 wird auch ein Multicast-Zellenadressenzeiger vom Multicast-Zellenadressenpuffer16 gesendet. - Eine Unicast-Zelle, die als ATM-Zelle zu dem ATM-Schalter mit dem Schema, wie es in
1 gezeigt ist, eingegeben wird, wird in einer Leeradresse gespeichert, wie sie durch den Leeradressenpuffer17 bestimmt ist. Zu dieser Zeit wird diese Leeradresse als Unicast-Zellenspeicherposition zu einem der Adressenpuffer151 bis15N , der dem Ausgangsport entspricht, zu welchem die Zelle auszugeben ist, gespeichert. - Eine als ATM-Zelle eingegebene Multicast-Zelle wird auch in der durch den Leeradressenpuffer
17 bestimmten Leeradresse gespeichert. - Während die Multicast-Zelle im gemeinsam genutzten Puffer
11 gespeichert wird, wird ihre Adresse, die ihre Speicherposition anzeigt, zusammen mit ihren Multicast-Führungsdaten im Multicast-Zellenadressenpuffer16 gespeichert und somit zu denjenigen der Adressenpuffer151 bis15N ausgesendet, die den Ausgangsports entsprechen, zu welchen die Multicast-Zelle zu transferieren ist, und zwar gemäß den Multicast-Bestimmungsdaten entweder aufeinanderfolgend oder gleichzeitig. Der Betrieb eines Aussendens der Multicast-Zellenadresse zu relevanten bzw. zugehörigen der Adressenpuffer151 bis15N wird hierin nachfolgend als Bilden einer neuen Warteschlange bezeichnet. - Es wird gesehen werden, dass bei diesem Ausführungsbeispiel die Multicast-Zellenadresse, während sie versuchsweise im exklusiv vorgesehenen Multicast-Zellenadressenpuffer gespeichert wird, in den relevanten der Adressenpuffer
151 bis15N gespeichert wird, indem effektiv eine freie Zeit wie eine solche verwendet wird, während welcher die Multicast-Zelle im gemeinsam genutzten Puffer11 gespeichert wird. - Mit dem momentanen Schema können die Adressenpuffer
151 bis15N , der Multicast-Zellenadressenpuffer16 und der Leeradressenpuffer17 zusammen durch einen einzigen RAM implementiert werden. Das Eingabe- und Ausgabemanagement der Adressenpuffer kann durch Verwenden von Lesezeigern und Schreibzeigern oder durch Verwenden eines Speicherverfahrens, bei welchem gespeicherte Daten aufeinanderfolgend unter Bezugnahme auf nachfolgende Speicherpufferadressendaten, die zusammen mit ihnen gespeichert sind, ausgelesen werden können, durchgeführt werden. -
2 zeigt ein spezifisches Beispiel des ATM-Schalters mit dem in1 gezeigten Grundschema. Teile wie diejenigen in1 sind mit gleichen Bezugszeichen bezeichnet. Dieses Beispiel umfasst zusätzlich zu der Adressenpuffereinheit15 , dem Multicast-Zellenadressenpuffer16 und dem Leeradressenpuffer17 Steuerungen zum Steuern von diesen Puffern, wie es hierin nachfolgend beschrieben werden wird. - Nimmt man Bezug auf
2 , werden von den Eingangsports1 bis N eingegebene ATM-Zellen im Multiplexer12 multiplext und dann zum gemeinsam genutzten Puffer11 zugeführt. Ihre Speicheradressen werden durch Adressenzeiger bestimmt, die aus dem Leeradressenpuffer17 herausgenommen sind. Der Leeradressenpuffer17 gibt als Speicheradressen Leeradressenzeiger aus, die von ihrer Zeigerwarteschlange in Reaktion auf Anweisungen von einer Adressenzeiger-Schreibsteuerung21 oder einer Multicast-Steuerung22 herausgenommen sind, wobei die ausgegebenen Speicheradressen zum gemeinsam genutzten Puffer11 zugeführt werden. - Wie es zuvor in Verbindung mit
1 beschrieben ist, werden Leeradressenzeiger auch zu der Adressenpuffereinheit15 und dem Multicast-Zellenadressenpuffer16 zugeführt. -
3 zeigt ein Beispiel der Konfiguration der ATM-Zelle, die im gemeinsam genutzten Puffer11 gespeichert ist. Die dargestellte ATM-Zelle umfasst einen Anfangsblock und eine Nutzlast, wobei der Anfangsblock einen Sendezahlbereich, einen Anfangsblockumsetzungsdatenbereich und einen Führungsdatenbereich enthält. Der Sendezahlbereich enthält ein Zählen eines Sendens (CC), was die Anzahl von Ausgangsports darstellt, zu welchen ein Senden durchzuführen ist. Dies bedeutet, dass die Sendezahl (CC) bei einer Multicast-Zelle eine ganze Zahl annimmt, die größer als "1" ist, während sie bei einer Unicast-Zelle "1" ist. - Im Anfangsblockumsetzungsdatenbereich ist normalerweise ein Ausgangszellenanfangsblock vorgesehen. Wenn die Anfangsblockumsetzung wieder zu der Zeit der Zellenausgabe durchgeführt wird, werden Zwischendaten einer Zellenumsetzung zur Verfügung gestellt. Im Führungsdatenbereich werden die Führungsdaten zur Verfügung gestellt, die durch die Adressenzeiger-Schreibsteuerung
21 und die Multicast-Steuerung22 verarbeitet werden, die in2 gezeigt sind. Beim dargestellten Beispiel werden die im Anfangsblockumsetzungsdatenbereich vorgesehenen Anfangsblockumsetzungsdaten und die im Sendezahlbereich vorgesehene Sendezahl zusammen mit Zellendaten, die in der Nutzlast vorgesehen sind, im gemeinsam genutzten Puffer11 gespeichert (2 ). - Der Betrieb bei einer Unicast-Zelle mit der ATM-Zellenkonfiguration, wie sie in
3 gezeigt ist, wird nun unter Bezugnahme auf2 beschrieben werden. Die Adressenzeiger-Schreibsteuerung21 bestimmt auf einen Empfang der Führungsdaten hin, dass die Eingangszelle eine Unicast-Zelle ist, und weist den Leeradressenpuffer17 an, einen Leeradressenzeiger auszugeben. Der somit aus dem Leeradressenpuffer17 ausgelesene Leeradressenzeiger wird als Eingangszellen-Schreibadressenzeiger zum gemeinsam genutzten Puffer11 gesendet. - Ein Unicast-Zellenadressenzeiger, der für die Eingangszellenspeicherung verwendet wird, wird in einen der Adressenpuffer
151 bis15N entsprechend den Ausgangsports der Adressenpuffereinheit durch einen entsprechenden Selektor15 unter einer Steuerung der Adressenzeiger-Schreibsteuerung21 geschrieben. - Die Multicast-Steuerung
22 bestimmt auf eine Eingabe einer Multicast-Zelle als die Eingangszelle hin aus den Führungsdaten der Eingangszelle, dass die Eingangszelle eine Multicast-Zelle ist. Die Multicast-Steuerung22 weist somit den Leeradressenpuffer17 an, den Leeradressenzeiger auszugeben. Gemäß dieser Anwei sung sendet der Leeradressenpuffer17 eine Leeradresse als die Eingangszellen-Schreibadresse zum gemeinsam genutzten Puffer11 aus. Der gemeinsam genutzte Puffer11 startet somit die Speicherung der Multicast-Zelle. - Die Multicast-Steuerung
22 greift dann auf eine Multicast-Führungsdatentabelle23 gemäß den empfangenen Führungsdaten zu. In der Multicast-Führungsdatentabelle23 sind Multicast-Führungsdaten über die Ausgangsports, zu welchen die Multicast-Zellen auszugeben sind, gespeichert, und wenn auf diese Tabelle von der Multicast-Steuerung22 zugegriffen wird, sendet sie Multicast-Führungsdaten zum Multicast-Zellenadressenpuffer16 aus. Jeweilige Multicast-Führungsdaten bestimmen die Ausgangsports, zu welchen die relevante bzw. zugehörige Multicast-Zelle auszugeben ist, und bestimmen auch die entsprechenden Adressenpuffer in der Adressenpuffereinheit15 (1 ). - Wie es oben beschrieben ist, werden im Multicast-Zellenadressenpuffer
16 zusätzlich zu den Multicast-Führungsdaten die Leeradressen im gemeinsam genutzten Puffer11 , in welchem die Multicast-Zellen als die Adressenzeiger zu speichern sind, gespeichert. Die obigen Multicast-Bestimmungsdaten und der zugehörige Adressenzeiger werden somit als eine Gruppe und zu einer Zeit bzw. gleichzeitig im Multicast-Zellenadressenpuffer16 gespeichert. Jeweilige Gruppen aus Multicast-Führungsdaten und einem Adressenzeiger werden jeweils gespeichert, wann immer eine Multicast-Zelle ankommt, und solche Gruppen werden aufeinanderfolgend gespeichert, um eine Warteschlange im Multicast-Puffer16 zu bilden. - Die Multicast-Führungsdaten und Adressendaten, die im Multicast-Zellenadressenpuffer
16 gespeichert worden sind, werden aufeinanderfolgend vom vorderen Ende der Warteschlange herausgenommen. Die Multicast-Führungsdaten werden zur Multicast-Steuerung22 gesendet, während die Adressenzeiger zu einem separat vorgesehenen Multicast-Adressenregister25 gesendet werden. - Die Eingangszelle hat eine derartige Länge, dass ihr Schreiben in den gemeinsam genutzten Puffer
11 mehrere Taktpulse erfordert, während ein Taktpuls für das Schreiben des Adressenzeigers und ähnlicher Daten in das Multicast-Register16 ausreichend ist. In der Multicast-Steuerung22 können Operationen, die zum Verarbeiten einer Multicast-Zelle nötig sind, innerhalb der Zeit eines Schreibens einer Eingangszelle in den gemeinsam genutzten Puffer11 durchgeführt werden. - Gemäß den Multicast-Führungsdaten liefert die Multicast-Steuerung
22 aufeinanderfolgende Anweisungen zur Adressenzeiger-Schreibsteuerung21 , um die aus den Multicast-Zellenadressenpuffer16 ausgelesenen Multicast-Adressenzeiger in die entsprechenden Adressenpuffer in der Adressenpuffereinheit15 zu schreiben. Die Adressenzeiger, die die Multicast-Zellenspeicheradressen im gemeinsam genutzten Puffer11 anzeigen, werden somit in allen entsprechenden Adressenpuffern in der Adressenpuffereinheit15 gespeichert. Diese Operation kann durch Verwenden einer freien Zeit ausgeführt werden, die verfügbar gemacht wird, wenn die Zeit, die zum Verarbeiten von einem Adressenzeiger nötig ist, kürzer als die Zeit ist, die zum Schreiben oder Auslesen einer Eingangszelle in den oder aus dem gemeinsam genutzten Puffer11 nötig ist, und auch einer freien Zeit, die verfügbar ist, wenn keine ATM-Zelle eingegeben oder ausgegeben wird. Diese freien Zeiten werden hierin nachfolgend verarbeitungsfreie Zeiten genannt, die im gemeinsam genutzten Puffer11 auftreten. - Nun wird der Betrieb eines Ausgebens von ATM-Zellen, die im gemeinsam genutzten Puffer
11 gespeichert sind, als die Ausgangszellen beschrieben werden. Wenn eine Lesesteuerung31 den Adressenpuffer oder die Warteschlange in der Adressenpuffereinheit15 entsprechend einer auszugebenden Zelle bestimmt, wird ein Adressenzeiger vom vorderen Ende der Warteschlange herausgenommen und als Ausgangszellen-Leseadressenzeiger zum gemeinsam genutzten Puffer11 und auch zum Leeradressenpuffer17 ausgesendet. - Gemäß dem Ausgangszellen-Leseadressenzeiger wird eine Ausgangszelle aus dem gemeinsam genutzten Puffer
11 ausgelesen und durch den Demultiplexer13 zu dem entsprechenden Ausgangsport oder den entsprechenden Ausgangsports ausgegeben. - Die Sendezahl (CC) der aus dem gemeinsam genutzten Puffer
11 ausgelesenen Ausgangszelle wird zu einer Adressenzeiger-Freigabesteuerung32 ausgesendet. - Wenn die Sendezahl (CC) "1" ist, weist die Adressenzeiger-Freigabesteuerung
32 den Leeradressenpuffer17 an, den Adressenzeiger entsprechend der Ausgangszelle als einen Leeradressenzeiger in den Leeradressenpuffer17 zu schreiben. Auf diese Weise wird eine Vielzahl von Adressenzeigern aufeinanderfolgend in dem Leeradressenpuffer17 gespeichert. - Wenn die Sendezahl (CC) "2" oder darüber ist, dekrementiert die Adressenzeiger-Freigabesteuerung
32 die Sendezahl (CC) um Eins und schreibt den resultierenden Wert (CC-1) in einen Sendezahlteil des Bereichs des Leeradressenpuffers17 , in welchem die relevante Ausgangszelle gespeichert ist. Die Adressenzeiger-Freigabesteuerung32 weist dann den Leeradressenpuffer17 an, den relevanten Adressenzeiger nicht als den Leeradressenzeiger zu schreiben. - Wie es oben gezeigt ist, werden bei dem Ausführungsbeispiel der vorliegenden Erfindung, das in den
1 bis3 gezeigt ist, nachdem die Adressenzeiger für Multicast-Zellen in den Mehrfachpuffer16 geschrieben worden sind, sie während der verarbeitungsfreien Zeiten ausgesendet und in die Adressenpuffereinheit15 gespeichert, das heißt sie werden als Adressenwarteschlangen in den Adressenpuffern in der Adressenpuffereinheit15 neu geschrieben. Anders ausgedrückt werden die Multicast-Zellenadressenzeiger aufeinanderfolgend auf eine Art für eine neue Warteschlange in die Adressenpuffereinheit15 während der verarbeitungsfreien Zeit gespeichert. Dieselbe Multicast-Adresse kann somit aufeinanderfolgend auf einer Zeitmultiplexbasis in einer Vielzahl von Adressenpuffern entsprechend vorbestimmten Sendezielorten geschrieben werden. - Ungleich dem Stand der Technik ist es somit nicht nötig, eine Vielzahl von Adressenzeiger-Warteschlangen gleichzeitig zu schreiben, und es ist möglich, zur Zeit der Eingabe eine Vielzahl von Adressenzeiger-Warteschlangen in einen gewöhnlichen RAM zu speichern, der eine geringe Datenbitbreite zur Verfügung stellt. Zusätzlich kann deshalb, weil die Warteschlangen gemeinsam in einem einzigen RAM gespeichert werden können, ein kompaktes System durch Verwenden eines RAMs großer Kapazität realisiert werden. Darüber hinaus ist es, wie es in
4 gezeigt ist, möglich, die Hardware zu reduzieren, die zur Verarbeitung von Multicast-Zellenadressenzeigern erforderlich ist, und die Adressenpuffereinheit15 , die Multicast-Zellenadressenpuffer16 und die Multicast-Datentabelle23 mit einem gewöhnlichen RAM zu implementieren, der auf einer Zeitmultiplexbasis verwendet wird. -
4 zeigt ein anderes Ausführungsbeispiel des ATM-Schalters mit dem Grundschema, wie es in1 gezeigt ist. Dieser ATM-Schalter ist diesbezüglich unterschiedlich vom in2 gezeigten ATM-Schalter, dass er einen Adressenzeigerspeicher35 aufweist, der die Adressenpuffereinheit15 , den Multicast- Zellenadressenpuffer16 und den Leeradressenpuffer17 bildet. Der Adressenzeigerspeicher35 ist ein Speicher mit einem einzigen Port, der ein einmaliges Lesen oder Schreiben in einem Zyklus zulässt. - Im in
2 gezeigten Fall können die Adressenpuffereinheit, der Multicast-Adressenpuffer16 und der Leeradressenpuffer17 unabhängig schreiben und lesen. Im Fall der4 , in welchem die Operationen der obigen drei unterschiedlichen Puffer im einzigen Adressenzeigerspeicher35 durchgeführt werden, kann jedoch auf die einzelnen Puffer nicht unabhängig zugegriffen werden. Demgemäß ist bei diesem Ausführungsbeispiel eine Zeitmultiplex-Zugriffssteuerung36 vorgesehen, um auf den Adressenzeigerspeicher35 auf einer Zeitmultiplexbasis zuzugreifen. Die Adressenzeigerschreibsteuerung21 , die Multicast-Steuerung22 , die Lesesteuerung31 und die Multicast-Zeiger-Freigabesteuerung32 , wobei diese Steuerungen auch in2 gezeigt sind, sind mit der Zeitmultiplex-Zugriffssteuerung36 verbunden. - Dieses Ausführungsbeispiel des ATM-Schalters weist weiterhin ein Leeradressenzeigerregister
38 und ein Ausgangszellenadressenregister39 auf, die zusammen mit dem Multicast-Zellenadressenregister25 über einen Bus40 mit dem Adressenzeigerspeicher35 und dem gemeinsam genutzten Puffer11 verbunden sind. Das Leeradressenzeigerregister38 speichert versuchsweise die aus dem Adressenzeigerspeicher35 ausgelesenen Leeradressenzeiger. Das Ausgangszellenadressenregister39 speichert versuchsweise Ausgangszellenadressenzeiger. - Das Leeradressenzeigerregister
38 ist vorgesehen, um auf eine Zelleneingabe hin einen aus einer Leeradressenzeiger-Warteschlange herausgenommenen Leeradressenzeiger in ihm in der Adressenpuffereinheit versuchsweise zu speichern, weil der Adressenzeigerspeicher35 unfähig zum gleichzeitigen Lesen und Schreiben ist. Gleichermaßen ist das Ausgangszellenadressenregister39 vorgesehen, weil es nötig ist, für eine Zellenausgabe den Adressenzeiger der Ausgangszelle in ihm versuchsweise zu speichern, um aus der Adressenpuffereinheit herausgenommene Adressenzeiger als eine Adressenzeigerwarteschlange zu schreiben. - Der in
4 zeigte ATM-Schalter arbeitet auf dieselbe Weise wie der in2 gezeigte ATM-Schalter, außer dass auf den Adressenzeigerspeicher35 auf einer Zeitmultiplexbasis zugegriffen wird und dass Zeiger auf einer Zeitmultiplexbasis geschrieben und ausgelesen werden. - Bei der in
4 gezeigten Anordnung, bei welcher der einzige Adressenzeigerspeicher35 als die Adressenpuffereinheit, der Multicast-Adressenpuffer und der Leeradressenpuffer auf einer Zeitmultiplexbasis verwendet wird, kann ein kompakterer ATM-Schalter im Vergleich mit dem Fall eines unabhängigen Bereitstellens der einzelnen Puffer erhalten werden. Als weiterer Vorteil kann der Adressenzeigerspeicher35 durch einen normalen RAM implementiert werden. -
5 zeigt das Hauptschema des ATM-Schalters gemäß dem zweiten Ausführungsbeispiel. Dieser ATM-Schalter ist derselbe wie der in1 gezeigte ATM-Schalter insoweit wie er Adressenpuffer151 bis15N (die hierin nachfolgend Hauptadressenpuffer genannt werden), die für die jeweiligen Ausgangsports vorgesehen sind, und eine Leeradressenpuffer17 aufweist. Bei diesem Ausführungsbeispiel sind die Adressenpuffer151 bis15N und der Leeradressenpuffer17 durch einen RAM implementiert, der mit einem Bus45 verbunden ist. Der RAM erfordert eine große Speicherkapazität, und er ist somit wünschenswerterweise als LSI ausgebildet, die verschiedene Steuerungen zum Steuern des gemeinsam genutzten Puffers11 enthält. Der bei diesem Ausführungsbeispiel verwendete Bus45 kann einen Adressenzeiger in einem Zeitschlitz transferieren. - In der Steuerungs-LSI können Puffer und Speicher kleiner Kapazität ausgebildet sein. Spezifisch hat die LSI Pufferspeicher mit kleiner Speicherkapazität (die hierin nachfolgend Ausgangszellenadressen-Vorpuffer genannt werden)
471 bis47N , die wie die Hauptadressenpuffer151 bis15N für die jeweiligen Ausgangsports vorgesehen sind. - Anders ausgedrückt sind die Ausgangszellenadressen-Vorpuffer
471 bis47N mit dem Bus45 verbunden, so dass sie in einer Eins-zu-Eins-Entsprechung mit den Hauptadressenpuffern151 bis15N sind. Der Multicast-Zellenadressenzeiger einer Multicast-Zelle, die als Eingangszelle erscheint, wird in einer Nummer entsprechend der Sendezahl in relevanten der Ausgangszellenadressen-Vorpuffer471 bis47N gespeichert, die dem Ausgangsport entsprechen, zu welchen die Zelle auszugeben ist. - Nun wird der Betrieb des obigen ATM-Schalters beschrieben werden. Wenn eine Eingangszelle durch den Multiplexer
12 in einem Zustand empfangen wird, in welchem der Leeradressenzeiger in der Vorstufe einer Warteschlange im Leeradres senpuffer17 gespeichert ist, in welchem der Leeradressenzeiger, der die Speicherposition im gemeinsam genutzten Puffer11 bestimmt, bei welcher die Eingangszelle zu speichern ist, aus dem Leeradressenpuffer17 unter einer Steuerung einer Schreibsteuerung ausgelesen wird und zu dem relevanten oder den relevanten der Ausgangszellenadressen-Vorpuffer471 bis47N sowie zu dem gemeinsam genutzten Puffer17 gesendet wird, wird somit die Eingangszelle bei der Speicherposition in dem gemeinsam genutzten Puffer11 geschrieben, die durch den Leeradressenzeiger bestimmt ist, während der Leeradressenzeiger versuchsweise als Eingangszellen-Speicheradressenzeiger in den relevanten der Ausgangszellenadressen-Vorpuffer471 bis47N gehalten wird. - Wenn eine Unicast-Zelle als Eingangszelle geliefert wird, wird der Eingangszellen-Speicheradressenzeiger in der Form einer Warteschlange im relevanten der Ausgangszellenadressen-Vorpuffer
471 bis47N gespeichert, der dem Ausgangsport entspricht, zu welchem die Eingangszelle auszugeben ist. - Wenn eine Multicast-Zelle als die Eingangszelle geliefert wird, wird der im Leeradressenpuffer
17 gespeicherte Eingangszellen-Speicheradressenzeiger gleichzeitig oder aufeinanderfolgend in relevanten der Ausgangszellenadressen-Vorpuffer471 bis47N entsprechend einer Nummer der Sendezahl, d. h. entsprechend den Ausgangsports, zu welchen die Zelle auszugeben ist, gespeichert. - Aus den relevanten der Ausgangszellenadressen-Vorpuffer
471 bis47N wird der Adressenzeiger aufeinanderfolgend zu dem Bus45 ausgesendet und als Ausgangsadressenzeiger auf einer Zeitmultiplexbasis in denjenigen der Adressenpuffer151 bis15N entsprechend den relevanten der Ausgangszellenadressen-Vorpuffer471 bis47N gespeichert. Diese Operation kann in den oben angegebenen verarbeitungsfreien Zeiten durchgeführt werden. - Wenn die Ausgangszelle ausgegeben wird, wird ein Ausgangszellenadressenspeicher im RAM unter einer Anweisung durch eine Lesesteuerung ausgelesen und als Leeradressenzeiger über den Bus
45 ausgesendet, um im gemeinsam genutzten Puffer11 gespeichert zu werden. - Bei diesem Ausführungsbeispiel wird ein Multicast-Zellenadressenzeiger, der versuchsweise in relevanten der Ausgangszellenadressen-Vorpuffer
471 bis47N , die im RAM ausgebildet sind, gespeichert ist, über den Bus45 zu den entsprechenden der Adressenpuffer151 bis15N gesendet. - Unter der Annahme, dass die Zugriffsgeschwindigkeit der LSI mit den Puffern kleiner Speicherkapazität
471 bis47N und dem gemeinsam genutzten Puffer11 und die Zugriffsgeschwindigkeit der LSI und des RAM gleich sind, ist es deshalb, weil der Adressenzeiger aus etwa 2 Bytes besteht, während die ATM-Zelle aus 53 Bytes besteht, möglich, etwa das 26-fache eines Adressenzeigertransfers durch den Bus während des Betriebs der Eingabe oder der Ausgabe einer einzelnen Zelle zu erhalten. Somit interferiert der Adressenzeigertransfer über den Bus46 im Fall einer Unicast-Zelle nicht mit einer Operation. Im Fall einer Multicast-Zelle interferiert der Zeitmultiplex nicht mit einer Operation, solange die Sendezahl nicht größer als die Anzahl von Adressenzeigertransferzeiten ist. Selbst in dem Fall, in welchem die Sendezahl größer als die Adressenzeigertransferzeitenanzahl ist, ist es durch Versehen der in der LSI ausgebildeten Warteschlange mit adäquaten Tiefen möglich, die Belastung aufgrund des Transfers im Vergleich mit dem Fall eines Speicherns eines Adressenzeigers abzumildern, der auf eine Eingabe einer Multicast-Zelle hin direkt in Adressenpuffern erzeugt wird. - Darüber hinaus ist es durch Aufteilen des Adressenzeiger-Speicherbereichs in zwei Teile, von denen einer in der LSI und einer in einem RAM getrennt von der LSI ausgebildet ist, möglich, einen Bereich zur Verfügung zu stellen, der eine große Menge von Adressenzeigern im externen RAM speichern kann, während die Verarbeitung auf ein Auftreten einer Multicast-Zelle mit dem Vorsehen eines Adressenzeiger-Speicherbereichs in der LSI erleichtert wird.
-
6 zeigt ein spezifisches Beispiel des in5 gezeigten Grundschemas. Gleiche Teile sind mit gleichen Bezugszeichen bezeichnet. Bei diesem Beispiel hat der Leeradressenpuffer17 seine Eingangsseite mit der Ausgangsseite der Adressenpuffereinheit15 , dem gemeinsam genutzten Puffer11 und einer Adressenzeiger-Freigabesteuerung32 verbunden und seine Ausgangsseite mit dem gemeinsam genutzten Puffer11 und der Eingangsseite der Ausgangszellenadressen-Vorpuffer471 bis47N verbunden. Eine Eingangszellenadressen-Schreibsteuerung51 ist mit dem Multiplexer12 , den Ausgangszellenadressen-Vorpuffern471 bis47N und einer Multicast-Datentabelle23 verbunden. Eine Ausgangszellen-Lesesteuerung31 ist mit der Adressenpuffereinheit15 verbunden. Die Eingangszellenadressen-Schreibsteuerung51 und die Ausgangszellen-Lesesteuerung31 sind zusammen mit den Ausgangszellenadressen-Vorpuffern471 bis47N mit einer LSI implementiert. - Eine Hauptadressen-Schreibsteuerung
52 ist zwischen den Ausgangszellenadressen-Vorpuffern471 bis47N und der Adressenpuffereinheit15 vorgesehen. In ausgewählten der Ausgangszellenadressen-Vorpuffer471 bis47N gespeicherte Adressenzeiger können über den Bus45 zu entsprechenden der Adressenpuffer in der Adressenpuffereinheit15 transferiert werden. - Bei diesem Schema trifft die Eingangszellenadressen-Schreibsteuerung
51 dann, wenn sich die Führungsdaten einer Eingangszelle, gekoppelt durch den Multiplexer12 , empfängt, eine Entscheidung diesbezüglich, ob die Eingangszelle eine Unicast-Zelle oder eine Multicast-Zelle ist, und liefert auch eine Anweisung zum Leeradressenpuffer17 , um den Leeradressenzeiger daraus auszulesen. Der ausgelesene Leeradressenzeiger wird als Eingangszellen-Schreibadressenzeiger zum gemeinsam genutzten Puffer11 gesendet, um die Eingangszelle in der Adresse des gemeinsam genutzten Puffers11 zu speichern, die durch den Eingangszellen-Schreibadressenzeiger bestimmt ist. - Wenn eine Unicast-Zelle als Eingangszelle geliefert wird, speichert die Eingangszellenadressen-Schreibsteuerung
51 einen Eingangszellen-Schreibadressenzeiger in einen der Ausgangszellenadressen-Vorpuffer471 bis47N . Wenn eine Multicast-Zelle als Eingangszelle gegeben ist, greift die Eingangszellen-Schreibsteuerung51 auf die Multicast-Datentabelle23 zu, um die Multicast-Führungsdaten aus der Tabelle23 zu erhalten, die die Ausgangsports anzeigen, zu welchen diese Multicast-Zelle auszugeben ist, und gemäß den Multicast-Führungsdaten speichert sie den Adressenzeiger im gemeinsamen Adressenpuffer11 gleichzeitig mit denjenigen der Ausgangszellenadressen-Vorpuffer471 bis47N entsprechend den Ausgangsports, die für das Senden relevant sind. Die Operation eines Speichers des Adressenzeigers in den angezeigten der Ausgangszellenadressen-Vorpuffer471 bis47N kann auf einer Zeitmultiplexbasis während der Speicherung der Eingangszelle im gemeinsam genutzten Puffer11 durchgeführt werden. In jedem Fall wird im Fall der Eingabe einer Multicast-Zelle als Eingangszelle der Adressenzeiger in der Form einer Warteschlange in demjenigen der Ausgangszellenadressen-Vorpuffer471 bis47N entsprechend den Ausgangsports gespeichert, die für das Senden relevant sind. - Wie es oben beschrieben ist, dauert, während das Schreiben einer Eingangszelle in den gemeinsam genutzten Puffer
11 mehrere Taktpulse erfordert, das Schreiben eines Adressenzeigers in einen oder mehrere der Ausgangszellenadressen-Vorpuffer471 bis47N normalerweise nur einen einzigen Taktpuls. Wenn das Schreiben der Eingangszelle und das Schreiben des Adressenzeigers gleichzeitig durchgeführt werden, wie es oben beschrieben ist, wird eine freie Zeit entsprechend mehrerer Taktpulse auf der Seite des Schreibens des Adressenzeigers erzeugt. - Durch Nutzen dieser freien Zeit wird der Adressenzeiger aufeinanderfolgend unter einer Steuerung der Hauptadressen-Schreibsteuerung
52 von dem einen oder den mehreren der Ausgangszellenadressen-Puffer471 bis47N zu dem entsprechenden oder den entsprechenden der Adressenpuffer (1 ) transferiert, die für jedes Ausgangsport vorgesehen sind. - Der Adressenzeiger, der auf die obige Weise in der Adressenpuffereinheit
15 gespeichert worden ist, wird in Reaktion auf Anweisungen von der Lesesteuerung31 aufeinanderfolgend ausgelesen, um als Ausgangszellen-Leseadressenzeiger im gemeinsam genutzten Puffer11 gespeichert zu werden. Auf den Multicast-Zellenspeicherbereich im gemeinsam genutzten Puffer11 , in welchem die Multicast-Zelle gespeichert worden ist, wird somit für eine Vielzahl von Malen entsprechend der Sendezahl, d. h. der Nummer von Ausgangsports, zu welchen die Multicast-Zelle auszugeben ist, zugegriffen. - Die aus dem gemeinsam genutzten Puffer
11 ausgelesene Multicast-Zelle wird aufeinanderfolgend durch einen Demultiplexer13 als Ausgangszellen jeweils zu einem jeweiligen relevanten Ausgangsport ausgesendet. Jedes Mal wenn eine Zelle ausgesendet wird, dekrementiert die Adressenzeiger-Freigabesteuerung32 die Sendezahl (CC) um Eins. Auf diese Weise wird eine Steuerung gleich derjenigen im in2 gezeigten Fall durchgeführt. - Dieses Schema lässt ein Implementieren der Adressenpuffereinheit
15 und des Leeradressenpuffers17 , die große Speicherkapazitäten erfordern, mit einem normalen RAM zu, während die Ausgangszellenadressen-Vorpuffer471 bis47N und andere Steuerungen kleiner Speicherkapazitäten mit einer LSI implementiert werden. - Wiederum werden beim in
6 gezeigten ATM-Schalter Adressenzeiger, die Multicast-Zellenspeicherpositionen im gemeinsam genutzten Puffer11 bestimmen, versuchsweise in relevanten der Ausgangszellenadressen-Vorpuffer471 bis47N gespeichert und dann in der Adressenpuffereinheit15 neu angeordnet. Bei diesem Ausführungsbeispiel ist es auch möglich, jeden Adressenzeiger durch effektives Nutzen der verarbeitungsfreien Zeiten zu transferieren, die im gemeinsam genutzten Puffer11 auftreten. -
7 zeigt ein anderes Beispiel des in6 gezeigten Grundschemas. Dieser ATM-Schalter weist einen einzigen Hauptadressenspeicher55 anstelle der Adressenpuffereinheit15 und des Leeradressenpuffers17 , die in6 gezeigt sind, auf. Der Hauptadressenspeicher55 wird auf einer Zeitmultiplexbasis verwendet, so dass er als die Adressenpuffereinheit15 und auch als der Leeradressenpuffer17 dienen kann. Für den Zeitmultiplexbasis-Betrieb des Hauptadressenspeichers55 ist eine Steuerung für einen Zugriff auf Zeitmultiplexbasis56 mit ihm verbunden. Eine Eingangszellenadressen-Schreibsteuerung51 , eine Ausgangszellenadressen-Lesesteuerung35 und eine Hauptspeicheradressen-Schreibsteuerung52 sind mit der Steuerung für einen Zugriff auf Zeitmultiplexbasis56 verbunden. Von diesen Steuerungen werden Adressendaten auf einer Zeitmultiplexbasis zum Hauptadressenspeicher55 zugeführt. Jeder von einer Adresse des Hauptadressenspeichers55 gelesene Adressenzeiger wird als ein Eingangszellen-Schreibadressenzeiger über den Bus45 zu dem gemeinsam genutzten Puffer11 und einem oder mehreren relevanten der Ausgangszellenadressen-Vorpuffer471 bis47N zugeführt und er wird weiterhin in einem Ausgangszellen-Speicheradressenzeiger57 gespeichert und dann als Ausgangszellen-Leseadressenzeiger zum gemeinsam genutzten Puffer11 ausgesendet. - In Reaktion auf Anweisungen von der Ausgangszellen-Lesesteuerung
35 werden Leeradressenzeiger im Hauptadressenspeicher55 gespeichert. - Der Betrieb des in
7 gezeigten ATM-Schalters ist derselbe wie der zuvor in Verbindung mit6 beschriebene Betrieb, außer dass er auf einer Zeitmultiplexbasis durchgeführt wird. Daher wird er hier nicht beschrieben. -
8 zeigt ein weiteres Ausführungsbeispiel des ATM-Schalters. Bei diesem Ausführungsbeispiel kann ungleich den vorherigen Ausführungsbeispielen ein Bilden einer erneuten Warteschlange im gemeinsam genutzten Puffer11 durchgeführt werden. In8 sind Adressenzeiger-Sendewege durch fette Linie gezeigt. - Bei diesem Ausführungsbeispiel werden Unicast-Zellen, Multicast-Zellen und Adressenzellen in den gemeinsam genutzten Puffer
11 geschrieben, wie es später detailliert beschrieben werden wird. Wie es in8 gezeigt ist, sind Daten, die für diese drei unterschiedlichen Arten von Zellen nötig sind, eine Sendezahl (CC) (1), Anfangsblockumsetzungsdaten (2), Nutzlast (3), Zellenartidentifizierer (4), Multicast-Zellenadressenzeiger (5), nächster Adressenzeiger (6) und Multicast-Führungsdaten (oder Sende-Führungsdaten) (7). Der gemeinsam genutzte Puffer11 hat Bereiche zum Speichern der obigen Daten, wie es gezeigt ist. - Eine zum Multiplexer
12 zuzuführende Eingangszelle hat ihren Anfangsblock in einer Anfangsblockumsetzungseinheit61 einer Anfangsblockumsetzung unterzogen, wie es in10 gezeigt ist. Die Anfangsblockumsetzung enthält somit Führungsdaten. Bei diesem Ausführungsbeispiel hat der Anfangsblock der Unicast-Zelle den Zellenartidentifizierer (4) zusätzlich zu den Anfangsblockumsetzungsdaten (2). Andererseits hat der Anfangsblock der Multicast-Zelle, wie beim früher beschriebenen Fall, die Sendezahl (1) und die Anfangsblockumsetzungsdaten (2). - Die
9(A) bis9(C) zeigen die Unicast-Zelle, die Multicast-Zelle und die Adressenzelle, die in dem in8 gezeigten Schema behandelt werden. - Die Unicast-Zelle besteht, wie es in
9(A) gezeigt ist, aus den Anfangsblockumsetzungsdaten (2), dem Zellenartidentifizierer (4), der Nutzlast (3) und dem nächsten Adressenzeiger (6). Die Multicast-Zelle besteht, wie es in9(B) gezeigt ist, aus der Sendezahl (1), den Anfangsblockumsetzungsdaten (2), der Nutzlast (3), dem nächsten Adressenzeiger (6) und den Multicast-Führungsdaten (7). Die Adressenzelle wird im ATM-Schalter erzeugt, wie es gezeigt ist, und sie besteht, wie es in9(C) gezeigt ist, aus dem Zellenartidentifizierer (4), dem Multicast-Zellen-Adressenzeiger (5) und dem nächsten Adressenzeiger (6). Der Zellenartidentifizierer (4) dient zum Identifizieren der Unicast-Zelle und der Adressenzelle. Bei diesem Ausführungsbeispiel ist er logisch "0" bei der Unicast-Zelle und logisch "1" bei der Adressenzelle. - Geht man zurück zur
8 , werden die Führungsdaten im Anfangsblock einer Zelle, die durch die Anfangsblockumsetzungseinheit61 und den Multiplexer12 einge geben wird (die hierin nachfolgend gegenwärtige Eingangszelle genannt wird), zu einer Schreibsteuerung71 oder einer Multicast-Schreibsteuerung72 gesendet, während das übrige der gegenwärtigen Eingangszelle zum gemeinsam genutzten Puffer11 gesendet wird. Die Speicheradresse zu dieser Zeit wird durch einen von der Schreibsteuerung71 oder der Multicast-Schreibsteuerung72 ausgegebenen Adressenzeiger bestimmt. Zu der Zeit, zu welcher die Speicherung der gegenwärtigen Eingangszelle begonnen wird, sind der Multicast-Adressenzeiger (5), der nächste Adressenzeiger (6) und die Multicast-Führungsdaten (7) noch nicht bestimmt worden. - Die Schreibsteuerung
71 hat Ausgangspuffer, die jeweils jedem Ausgangsport entsprechen. In jedem Puffer wird ein Adressenzeiger gespeichert, der die Speicheradresse bestimmt, in welcher eine zu dem entsprechenden Ausgangsport zu sendende Zelle zu speichern ist. In der Multicast-Schreibsteuerung72 wird ein Adressenzeiger gespeichert, der eine Multicast-Zellen-Speicheradresse bestimmt. Der in der Schreibsteuerung71 oder der Multicast-Schreibsteuerung72 gespeicherte Adressenzeiger wird als nächster Adressenzeiger ausgesendet, wie es später beschrieben werden wird. - Wenn die gegenwärtige Eingangszelle eine Unicast-Zelle ist, sendet die Schreibsteuerung
71 einen relevanten von Adressenzeigern, die für die jeweiligen Ausgangsports gehalten sind, als einen Adressenzeiger, der die Speicheradresse der gegenwärtigen Eingangszelle bestimmt, zum gemeinsam genutzten Puffer11 gemäß den Führungsdaten. Als Ergebnis wird die gegenwärtige Eingangszelle zu diesem Zeitpunkt, außer ihrer Führungsdaten, in der Adresse des gemeinsam genutzten Puffers11 gespeichert, die durch den Adressenzeiger von der Schreibsteuerung71 bestimmt ist. - Zu dieser Zeit nimmt die Schreibsteuerung
71 einen Adressenzeiger aus dem Leeradressenpuffer73 heraus und hält diesen Adressenzeiger als den neuen nächsten Adressenzeiger. Dieser aus dem Leeradressenpuffer73 herausgenommene Adressenzeiger wird als der nächste Adressenzeiger (6) zusammen mit der gegenwärtigen Eingangszelle zu diesem Zeitpunkt im gemeinsam genutzten Puffer11 gespeichert. - Wenn die gegenwärtige Eingangszelle eine Multicast-Zelle ist, sendet die Multicast-Schreibsteuerung
72 einen in ihr gehaltenen Adressenzeiger als den Speicherad ressenzeiger für eine gegenwärtige Eingangszelle zum gemeinsam genutzten Puffer11 . In diesem Fall sind die Operation der Multicast-Schreibsteuerung72 , um den neuen nächsten Adressenzeiger zu erhalten, und die Operation einer Verarbeitung dieses nächsten Adressenzeigers dieselben wie im Fall einer Unicast-Zelle. - Wenn eine Multicast-Zelle eingegeben wird, greift jedoch, ungleich dem Fall der Unicast-Zelle, die Multicast-Schreibsteuerung
72 auf die Multicast-Zielorttabelle80 gemäß den Führungsdaten zu und werden die Multicast-Führungsdaten (7) von der Tabelle80 zusammen mit der gegenwärtige Eingangszelle im gemeinsam genutzten Puffer11 gespeichert. - Durch die obigen Operationen wird eine Warteschlange für die Unicast-Zellen im gemeinsam genutzten Puffer
11 in der Form einer Kette in Bezug auf die entsprechenden Ausgangsports ausgebildet, während für Multicast-Zellen eine separate Warteschlange in der Form einer Kette ausschließlich dieser Zellen ausgebildet wird. Das gegenwärtige Schema ist dasselbe wie das in1 gezeigte Schema, solange die Warteschlange für Unicast-Zellen und die Warteschlange für Multicast-Zellen separat ausgebildet sind, aber es ist von dem in1 gezeigten Fall diesbezüglich unterschiedlich, dass diese Warteschlangen im gemeinsam genutzten Puffer11 ausgebildet werden. - Mit den Warteschlangen für Unicast-Zellen und für Multicast-Zellen im gemeinsam genutzten Puffer
11 ausgebildet, führt die Multicast-Lesesteuerung75 die Operation für ein Bilden von neuen Warteschlangen, die oben beschrieben ist, in einer freien Zeit im gemeinsam genutzten Puffer11 durch. - Zu dieser Zeit ist ein Adressenzeiger, der eine Speicherposition im gemeinsam genutzten Puffer
11 bei der Vorstufe der Warteschlange für Multicast-Zellen bestimmt, in einer Multicast-Lesesteuerung75 gespeichert worden. In diesem Zustand sendet die Multicast-Leseteuerung75 den Adressenzeiger für eine Vorstufe für eine Warteschlange für Multicast-Zellen, der in ihr gehalten ist, zu einem Multicast-Zellenadressenzeigerregister83 sowie zum gemeinsam genutzten Puffer11 . - Als Ergebnis werden nur der nächste Adressenzeiger (6) und die Multicast-Bestimmungsdaten (7), die zusammen mit den Zellendaten in der durch diesen Adressenzeiger bestimmten Speicherposition gespeichert sind, unter einer Steuerung der Multicast-Lesesteuerung
75 aus dem gemeinsam genutzten Puffer11 ausgelesen. Der somit ausgelesene nächste Adressenzeiger (6) wird zur Multicast-Lesesteuerung75 gesendet, während die Multicast-Führungsdaten (7) zu einer Steuerung für ein erneutes Bilden einer Warteschlange85 gesendet werden. - Diese Operationen werden in freien Zeiten durchgeführt, die im gemeinsam genutzten Puffer
11 auftreten. In jedem Fall sind die Zeiten, die für das Lesen des nächsten Adressenzeigers und der Multicast-Führungsdaten und das Verarbeiten der Mehrfachadressenzelle erforderlich sind, kürzer als die Zeiten für ein Schreiben und Lesen der Gesamtheit der Zelle in den und aus dem gemeinsam genutzten Puffer11 . Daher ist es möglich, das Lesen des Multicast-Adressenzeigers und der Multicast-Führungsdaten und die Verarbeitung der Adressenzelle für eine Vielzahl von Malen in freien Zeiten bei der Verarbeitung von einer Zelle durchzuführen. - Der in der obigen Operation ausgelesene nächste Adressenzeiger (6) wird als der Adressenzeiger, der die nächste Vorstufen-Multicast-Zelle in der Multicast-Lesesteuerung
75 bestimmt, gehalten. - In der Steuerung für ein erneutes Bilden einer Warteschlange
85 wird eine Adressenzelle, wie es in9(C) gezeigt ist, in der oben angegebenen freien Zeit gemäß den ausgelesenen Multicast-Führungsdaten ausgebildet. Die relevante Ausgabe zu dieser Zeit wird aufeinanderfolgend zur Schreibsteuerung71 gesendet. Zu dieser Zeit liefert die Steuerung für ein erneutes Bilden einer Warteschlange85 eine Anweisung zur Schreibsteuerung71 , um die Adressenzelle zu dem Ende der Warteschlange hinzuzufügen, die in der Form der Ausgangsportkette ausgebildet ist. Die Operation eines Hinzufügens der Adressenzelle zum Ende der Warteschlange wird auf dieselbe Weise wie dann durchgeführt, wenn eine Unicast-Zelle eingegeben wird. Als Ergebnis dieser Operation hat die durch die Steuerung für ein erneutes Bilden einer Warteschlange85 erzeugte Adressenzelle einen Adressenzeiger, der logisch "1" hat, wie es durch die Steuerung für ein erneutes Bilden einer Warteschlange85 angewiesen ist, als den Zellenartidentifizierer (4), und wird als der Multicast-Adressenzeiger (5) im Multicast-Zellenadressenzeigerregister83 gespeichert. Gleich dem Fall einer Unicast-Zelle enthält die Adressenzelle einen Adressenzeiger, der vom Leeradressenpuffer73 als der nächste Adressenzeiger (6) zur Verfügung gestellt wird. - Ein Bilden einer Warteschlange für eine Multicast-Zelle wird somit durch Hinzufügen einer solchen Adressenzelle zum Ende der Warteschlange von Unicast-Zellen entsprechend jeweiligen Ausgangsports erhalten.
- Durch die Operation eines erneuten Bildens einer Warteschlange wird die Multicast-Zelle auf derartige Weise zu einer Ausgangsport-Warteschlange gebracht, dass sie durch den Adressenzeiger (5) in einer Adressenzelle A1 verbunden ist, wie es in
11 gezeigt ist. Nimmt man Bezug auf11 , die das Konzept der obigen Operation für ein erneutes Bilden einer Warteschlange zeigt, wird dann, wenn der nächste Adressenzeiger (6) einer Unicast-Zelle S1 die Adresse der Adressenzelle A1 bestimmt, eine Multicast-Zelle M1 aus einer Adresse ausgelesen, die durch den Multicast-Adressenzeiger (5) in der Adressenzelle A1 bestimmt ist. Diese Operation wird für jede Warteschlange entsprechend jedem Ausgangsport durchgeführt. - Nun wird die Zellenausgabeoperation beschrieben werden. Zuerst sendet die Ausgangszellen-Lesesteuerung
74 einen relevanten von Adressenzeigern, die Speicherpositionen im gemeinsam genutzten Puffer11 der Vorstufenzellen in den Zellen-Warteschlangen für jeweilige Ausgangsports bestimmen, zum gemeinsam genutzten Puffer11 . Der gemeinsam genutzte Puffer11 liest nur den nächsten Adressenzeiger (6) und den Zellenartidentifizierer (4) aus, die zusammen mit Daten gespeichert sind, die bei der Position gespeichert sind, die durch den Adressenzeiger bestimmt ist, und sendet den ausgelesenen nächsten Adressenzeiger (6) zu der Ausgangszellen-Lesesteuerung74 , während er den ausgelesenen Zellenartidentifizierer (4) zu einer Steuerung für ein erneutes Lesen einer Ausgangszelle76 sendet. - Der ausgelesene nächste Adressenzeiger (6) wird in der Ausgangszellen-Lesesteuerung
74 als Adressenzeiger gehalten, der die nächste Vorstufenzelle des relevanten Ausgangsports bestimmt. - Wenn die Steuerung für ein erneutes Lesen einer Ausgangszelle
76 zu dieser Zeit bestimmt, dass der Zellenartidentifizierer (4) logisch "0" ist, was eine Unicast-Zelle anzeigt, werden die Anfangsblockumsetzungsdaten (2) und die Nutzlast (3) dieser Unicast-Zelle kontinuierlich ausgelesen und als Ausgangszelle zum relevanten Ausgangsport gesendet. - Wenn bestimmt wird, dass der Zellenartidentifizierer (4) logisch "1" ist, was eine Adressenzelle anzeigt, wird der Multicast-Zellenadressenzeiger (5) darin ausgelesen und zur Steuerung für ein erneutes Lesen einer Ausgangszelle
76 gesendet. Die Steuerung für ein erneutes Lesen einer Ausgangszelle76 weist somit wieder den gemeinsam genutzten Puffer11 an, die relevante Multicast-Zelle gemäß dem Multicast-Zellen-Adressenzeiger (5) auszulesen. Die so ausgelesene Multicast-Zelle wird als Ausgangszelle zu den relevanten Ausgangsports gesendet. - Um die Anzahl von Malen für ein Zugreifen auf den gemeinsam genutzten Puffer
11 zu reduzieren, kann die Operation eines Auslesens des Multicast-Zellenadressenzeigers (5) gleichzeitig mit dem Lesen des nächsten Adressenzeigers (6) und des Zellenartidentifizierers (4) unter einer Steuerung der Ausgangszellen-Lesesteuerung74 durchgeführt werden. - Wenn die Ausgangszelle aus den Ausgangsports ausgegeben wird, wird der Adressenzeiger, der verwendet worden ist, um die Unicast-Zelle oder die Adressenzelle auszulesen, als Leeradressenzeiger im Leeradressenpuffer
73 gespeichert. - Wenn eine Adressenzeiger-Freigabesteuerung
81 zu dieser Zeit detektiert, dass die Sendezahl, die zusammen mit der Multicast-Zelle gespeichert ist, "1" ist, speichert sie den Multicast-Adressenzeiger (5) in der Steuerung für ein erneutes Lesen einer Ausgangszelle76 als Leeradressenzeiger im Leeradressenpuffer73 und gibt die relevante Speicherposition frei. - Wenn die Sendezahl "2" oder darüber ist, wird sie um Eins dekrementiert und dann zurück in den Bereich geschrieben, in welchem sie zusammen mit der Multicast-Zelle im gemeinsam genutzten Puffer
11 gespeichert worden ist. Zu dieser Zeit wird der Multicast-Adressenzeiger (5) nicht im Leeradressenpuffer73 gespeichert. Ein solcher Prozess in Bezug auf die Sendezahl wird in der Adressenzeiger-Freigabesteuerung81 ausgeführt. - Während das obige Ausführungsbeispiel den Leeradressenpuffer
73 zum Speichern von Leeradressenzeigern verwendet, ist es auch möglich, die nicht verwendeten Bereiche im gemeinsam genutzten Puffer11 bezüglich einer Warteschlange mit einer nächsten Adressenzeigerkettenkonfiguration zu managen. - Während das in
8 gezeigte Schema so beschrieben wurde, dass Multicast-Zellen im gemeinsamen genutzten Puffer11 gespeichert sind, ist es offensichtlich ebenso möglich, einen ausschließlichen Multicast-Zellenpuffer zu verwenden. - In dem System, wie es in der
japanischen offengelegten Patentveröffentlichung Nr. 5-276189 - Beim ATM-Schalter gemäß der vorliegenden Erfindung wird die Adresse im gemeinsam genutzten Puffer, in welchem eine Multicast-Zelle gespeichert ist, oder die Zelle selbst, erneut in eine Warteschlange gebracht, d. h. zu den relevanten der Warteschlangen für Unicast-Zellen hinzugefügt, die für die jeweiligen Ausgangsports vorgesehen sind, indem freie Zeiten im gemeinsam genutzten Puffer verwendet werden. Die Zelle kann somit als Ausgangszelle verarbeitet werden, um zu unterschiedlichen Ausgangsports gesendet zu werden. Es ist somit möglich, die nachteiligen Effekte der HOL-Blockierung, d. h. ein Warten auf eine Multicast-Zelle, in einem solchen Fall zu eliminieren, wie dann, wenn die Multicast-Zelle als Ausgangszelle verarbeitet wird, die zu einer Zeit bzw. gleichzeitig zu unterschiedlichen Ausgangsports auszusenden ist. Dies lässt ein extremes Erhöhen der Multicast-Zellen-Sendeeffizienz zu.
- Änderungen bezüglich des Aufbaus werden Fachleuten auf dem Gebiet einfallen, und verschiedene offensichtlich unterschiedliche Modifikationen und Ausführungsbeispiele können durchgeführt werden, ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen, wie er in den beigefügten Ansprüchen definiert ist. Die in der vorangehenden Beschreibung und den beigefügten Zeichnungen aufgezeigte Sache ist nur anhand einer Illustration angeboten. Es ist daher beabsichtigt, dass die vorangehende Beschreibung eher als illustrativ als als beschränkend angesehen wird.
Claims (6)
- ATM-Schalter mit einer Vielzahl von Eingangsports zum Empfangen von Eingangszellen, einer Vielzahl von Ausgangsports zum Ausgeben von Ausgangszellen und einem gemeinsam genutzten Puffer (
11 ), der eine Vielzahl von Adressen hat und Mehrpunktverbindungszellen bzw. Multicast-Zellen verarbeiten kann, die jeweils zu einer Vielzahl von Ausgangsports auszugeben sind; wobei der ATM-Schalter weiterhin einen Multicast-Zellenpuffer (16 ) zum exklusiven und temporären Speichern des Inhalts eines Adressenzeigers zum Anzeigen einer Adresse im gemeinsam genutzten Puffer, in dem die Multicast-Zelle zu speichern ist, zusammen mit Multicast-Zielortdaten bei der Ankunftszeit der Multicast-Zelle und Adressenpuffer (151 , ...,15N ), die jeweils für jeden der Ausgangsports vorgesehen sind, aufweist; und wobei der ATM-Schalter dazu geeignet ist, während freier Zeiten den Inhalt des aus dem Multicast-Zellenpuffer ausgelesenen Adressenzeigers zu relevanten der Adressenpuffer gemäß den Multicast-Zielortdaten zu senden und darin zu speichern, wobei auf den gemeinsam genutzten Puffer gemäß dem Inhalt in jedem der Adressenpuffer zum Ausgeben der Multicast-Zellen zu jeweiligen Ausgangsports zugegriffen wird und wobei die freien Zeiten durch die Differenz zwischen einer Zeit, die zum Speichern der Eingangszellen im gemeinsam genutzten Puffer erforderlich ist, und der Zugriffszeit der Adressenpuffer zur Verfügung gestellt sind. - ATM-Schalter nach Anspruch 1, wobei die Multicast-Zelle einen Verbindungszahlbereich enthält, der eine Verbindungszahl anzeigt, wobei die Verbindungszahl um Eins dekrementiert wird, wann immer die Multicast-Zelle zum jeweiligen Ausgangsport ausgegeben wird.
- ATM-Schalter nach Anspruch 1, der weiterhin einen Leeradressenpuffer (
17 ) zum Speichern von Leeradressen im gemeinsam genutzten Puffer als Leeradressenzeiger aufweist, wobei die Leeradressenzeiger zusammen mit entsprechenden Multicast-Führungsdaten im Multicast-Zellenadressenpuffer (16 ) gespeichert sind. - ATM-Schalter nach Anspruch 3, wobei die Adressenpuffer (
151 , ...,15N ), der Multicast-Zellenadressenpuffer (16 ) und der Leeradressenpuffer (17 ) zusammen durch einen einzigen RAM gebildet sind, wobei der ATM-Schalter weiterhin eine Zeitgetrenntlage-Zugriffssteuerung (36 ) zum Zugreifen auf den RAM auf einer Zeitgetrenntlage-Basis aufweist. - ATM-Schalter nach Anspruch 1, wobei der Multicast-Zellenpuffer ein für jeden der Ausgangsports vorgesehener Voradressenpuffer ist, der Inhalt im Voradressenpuffer aufeinanderfolgend zum jeweiligen Adressenpuffer transferiert wird und die Kapazität des Voradressenpuffers kleiner als die Kapazität des Adressenpuffers ist.
- ATM-Schalter nach Anspruch 5, wobei die Voradressenpuffer durch eine von den Adressenpuffern physikalisch unterschiedliche LSI gebildet sind.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31833895A JP2842522B2 (ja) | 1995-12-06 | 1995-12-06 | Atmスイッチ及びその制御方法 |
JP31833895 | 1995-12-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69637462D1 DE69637462D1 (de) | 2008-04-24 |
DE69637462T2 true DE69637462T2 (de) | 2009-03-19 |
Family
ID=18098057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE1996637462 Expired - Lifetime DE69637462T2 (de) | 1995-12-06 | 1996-12-05 | ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen |
Country Status (4)
Country | Link |
---|---|
US (1) | US5825767A (de) |
EP (1) | EP0778686B1 (de) |
JP (1) | JP2842522B2 (de) |
DE (1) | DE69637462T2 (de) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0164106B1 (ko) * | 1995-12-26 | 1998-12-01 | 양승택 | 에이티엠 가상 경로 교환 시스템에서 예약형 가상 경로 제어를 위한 발신 및 착신 처리 방법 |
JPH09326807A (ja) * | 1996-06-06 | 1997-12-16 | Nec Corp | 共有セルメモリ型atm交換制御方法及び共有セルメモリ型atm交換スイッチ |
GB2316572B (en) * | 1996-08-14 | 2000-12-20 | Fujitsu Ltd | Multicasting in switching apparatus |
JP2928165B2 (ja) * | 1996-08-16 | 1999-08-03 | 日本電気マイコンテクノロジー株式会社 | Atmスイッチ |
GB9618131D0 (en) * | 1996-08-30 | 1996-10-09 | Sgs Thomson Microelectronics | Improvements in or relating to an ATM switch |
CA2218218A1 (en) * | 1996-11-08 | 1998-05-08 | At&T Corp. | Promiscuous network monitoring utilizing multicasting within a switch |
KR100467708B1 (ko) * | 1996-12-21 | 2005-05-11 | 삼성전자주식회사 | 비동기전송모드교환시스템의셀처리장치및방법 |
US6088356A (en) | 1997-06-30 | 2000-07-11 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US6094435A (en) | 1997-06-30 | 2000-07-25 | Sun Microsystems, Inc. | System and method for a quality of service in a multi-layer network element |
US6081522A (en) | 1997-06-30 | 2000-06-27 | Sun Microsystems, Inc. | System and method for a multi-layer network element |
US6016310A (en) | 1997-06-30 | 2000-01-18 | Sun Microsystems, Inc. | Trunking support in a high performance network device |
US6246680B1 (en) | 1997-06-30 | 2001-06-12 | Sun Microsystems, Inc. | Highly integrated multi-layer switch element architecture |
US6049528A (en) | 1997-06-30 | 2000-04-11 | Sun Microsystems, Inc. | Trunking ethernet-compatible networks |
US6119196A (en) | 1997-06-30 | 2000-09-12 | Sun Microsystems, Inc. | System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates |
US6115378A (en) * | 1997-06-30 | 2000-09-05 | Sun Microsystems, Inc. | Multi-layer distributed network element |
US6044418A (en) | 1997-06-30 | 2000-03-28 | Sun Microsystems, Inc. | Method and apparatus for dynamically resizing queues utilizing programmable partition pointers |
US6081512A (en) | 1997-06-30 | 2000-06-27 | Sun Microsystems, Inc. | Spanning tree support in a high performance network device |
US6044087A (en) | 1997-06-30 | 2000-03-28 | Sun Microsystems, Inc. | Interface for a highly integrated ethernet network element |
US6128295A (en) * | 1997-07-11 | 2000-10-03 | Telefonaktiebolaget Lm Ericsson | Buffering of point-to-point and/or point-to-multipoint ATM cells |
US6272134B1 (en) * | 1997-11-20 | 2001-08-07 | International Business Machines Corporation | Multicast frame support in hardware routing assist |
FR2771573B1 (fr) * | 1997-11-27 | 2001-10-19 | Alsthom Cge Alkatel | Element de commutation de paquets a memoires tampons |
US6137807A (en) * | 1997-12-05 | 2000-10-24 | Whittaker Corporation | Dual bank queue memory and queue control system |
JP3563257B2 (ja) * | 1998-02-20 | 2004-09-08 | Necエレクトロニクス株式会社 | Atmスイッチ回路 |
US6310875B1 (en) * | 1998-03-30 | 2001-10-30 | Nortel Networks Limited | Method and apparatus for port memory multicast common memory switches |
JP3604282B2 (ja) * | 1998-06-15 | 2004-12-22 | 富士通株式会社 | アドレス開放方法及び、これを用いるatm交換システムの共通バッファ装置 |
JP2000013385A (ja) | 1998-06-19 | 2000-01-14 | Fujitsu Ltd | セルブリッジ装置及びセルブリッジ方法並びにセルブリッジ装置を有する情報伝送システム |
JP3518441B2 (ja) | 1999-10-01 | 2004-04-12 | 日本電気株式会社 | ユニキャスト/マルチキャスト方式 |
JP2002033749A (ja) * | 2000-07-18 | 2002-01-31 | Fujitsu Ltd | バッファ装置およびスイッチング装置 |
EP1317825B1 (de) | 2000-09-12 | 2008-08-06 | International Business Machines Corporation | System und verfahren zur steuerung des mehrfachdatenverkehrs einer datenvermittlungsstelle |
US6822958B1 (en) * | 2000-09-25 | 2004-11-23 | Integrated Device Technology, Inc. | Implementation of multicast in an ATM switch |
JP4080888B2 (ja) | 2001-02-28 | 2008-04-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 別々の出力を有するスイッチング機構及び方法 |
US6836480B2 (en) * | 2001-04-20 | 2004-12-28 | International Business Machines Corporation | Data structures for efficient processing of multicast transmissions |
US7110405B2 (en) * | 2001-09-18 | 2006-09-19 | Integrated Device Technology, Inc. | Multicast cell buffer for network switch |
US7151777B2 (en) * | 2002-04-04 | 2006-12-19 | Fujitsu Limited | Crosspoint switch having multicast functionality |
US6859434B2 (en) * | 2002-10-01 | 2005-02-22 | Comsys Communication & Signal Processing Ltd. | Data transfer scheme in a communications system incorporating multiple processing elements |
JP4432388B2 (ja) | 2003-08-12 | 2010-03-17 | 株式会社日立製作所 | 入出力制御装置 |
JP4394988B2 (ja) * | 2004-03-19 | 2010-01-06 | 富士通株式会社 | パケット読出し制御方法及び装置 |
JP5016880B2 (ja) * | 2006-09-21 | 2012-09-05 | 富士通株式会社 | 優先クラスに応じたメモリ管理方法及び装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5365519A (en) * | 1991-03-05 | 1994-11-15 | Hitachi, Ltd. | ATM switch1ng system connectable to I/O links having different transmission rates |
JP2667868B2 (ja) * | 1988-04-06 | 1997-10-27 | 株式会社日立製作所 | セル・スイッチング・システム |
ES2111520T3 (es) * | 1988-10-06 | 1998-03-16 | Plessey Telecomm | Disposicion de conmutacion asincrona por division de tiempo y metodo de funcionamiento de la misma. |
JP3064650B2 (ja) | 1992-03-27 | 2000-07-12 | 株式会社日立製作所 | 同報通信装置 |
JP3080787B2 (ja) * | 1992-08-11 | 2000-08-28 | 株式会社日立製作所 | 同報機能を有するatmスイッチ回路およびその同報出力方法 |
JP3104429B2 (ja) * | 1992-10-08 | 2000-10-30 | 株式会社日立製作所 | コピー機能を有する共通バッファ形atmスイッチ及びそのコピー方法 |
US5583861A (en) * | 1994-04-28 | 1996-12-10 | Integrated Telecom Technology | ATM switching element and method having independently accessible cell memories |
-
1995
- 1995-12-06 JP JP31833895A patent/JP2842522B2/ja not_active Expired - Fee Related
-
1996
- 1996-12-04 US US08/760,374 patent/US5825767A/en not_active Expired - Lifetime
- 1996-12-05 DE DE1996637462 patent/DE69637462T2/de not_active Expired - Lifetime
- 1996-12-05 EP EP19960119543 patent/EP0778686B1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0778686A3 (de) | 1998-02-04 |
DE69637462D1 (de) | 2008-04-24 |
EP0778686A2 (de) | 1997-06-11 |
US5825767A (en) | 1998-10-20 |
EP0778686B1 (de) | 2008-03-12 |
JPH09162879A (ja) | 1997-06-20 |
JP2842522B2 (ja) | 1999-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69637462T2 (de) | ATM-Vermittlungsstelle mit Eingangs- und Ausgangsanschlussstellen | |
EP0412343B1 (de) | Koppelnetz und Koppelnetzmodul für ein ATM-System | |
DE69733703T2 (de) | Puffer von Mehrfachsendezellen in Vermittlungsnetzen | |
EP0446589B1 (de) | Kopierfähige ATM-Vermittlungsstelle | |
DE69434705T2 (de) | Multiprozessorsystem und Verfahren zur Zusammensetzung von ATM Zellen | |
DE69634857T2 (de) | Ablaufsteuerung für eine informationspaketvermittlung | |
DE69915704T2 (de) | Ampic dram | |
DE3752370T2 (de) | Vermittlungssystem | |
DE69820084T2 (de) | Netzwerkvorrichtung und Verfahren zur Reduzierung der System-Latenz | |
EP0320772B1 (de) | Verfahren zur hybriden Paketvermittlung und Einrichtungen hierzu | |
DE69333206T2 (de) | Paketvermittlungssystem unter Verwendung des Belegstatus der Ausgangspuffer | |
DE69737361T2 (de) | Schnelle vermittlungsvorrichtung | |
DE69726995T2 (de) | Mehrfachsende-Leitweglenkung in mehrstufigen Netzen | |
DE60214341T2 (de) | Vermittlungsanordnung und -verfahren mit getrennten ausgangspuffern | |
DE69631055T2 (de) | Speicherschnittstelleneinheit, vermittlungssystem mit gemeinsamem speicher und verfahren dazu | |
DE69733355T2 (de) | Skalierbares hochleistungsvermittlungselement für ein koppelfeld mit gemeinsamen speicher zur vermittlung von paketen oder atm-zellen | |
DE60203057T2 (de) | Effizienter Optimierungsalgorithmus für Speichergebrauch in Netzwerkanwendungen | |
DE60130079T2 (de) | Verfahren und vorrichtung zur paketvermittlung mittels eines geteilten pufferspeichers | |
DE69233588T2 (de) | ATM-Vermittlungsanordnung | |
DE60031596T2 (de) | Zeitmultiplex-Vermittlungssystem (TDM) mit sehr breitem Speicher | |
DE69631265T2 (de) | Vermittlungssystem | |
DE69832149T2 (de) | ATM-Zellenübermittlungssystem | |
DE19507570C2 (de) | Verfahren und Schaltungsanordnung zum Weiterleiten von über eine ATM-Kommunikationseinrichtung übertragenen Nachrichtenzellen an eine Abnehmerleitung | |
DE19531749A1 (de) | Verkehrsgestaltungseinrichtung und Paket-Kommunikationsgerät | |
EP0692893B1 (de) | Vorrichtung zur Vermittlung in digitalen Datennetzen für asynchronen Transfermodus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Ref document number: 778686 Country of ref document: EP Representative=s name: BETTEN & RESCH, DE |
|
R081 | Change of applicant/patentee |
Ref document number: 778686 Country of ref document: EP Owner name: RENESAS ELECTRONICS CORPORATION, JP Free format text: FORMER OWNER: NEC ELECTRONICS CORP., KANAGAWA, JP Effective date: 20120828 |
|
R082 | Change of representative |
Ref document number: 778686 Country of ref document: EP Representative=s name: PATENTANWAELTE BETTEN & RESCH, DE Effective date: 20120828 |