[go: up one dir, main page]

FR2820921A1 - Dispositif et procede de transmission dans un commutateur - Google Patents

Dispositif et procede de transmission dans un commutateur Download PDF

Info

Publication number
FR2820921A1
FR2820921A1 FR0102037A FR0102037A FR2820921A1 FR 2820921 A1 FR2820921 A1 FR 2820921A1 FR 0102037 A FR0102037 A FR 0102037A FR 0102037 A FR0102037 A FR 0102037A FR 2820921 A1 FR2820921 A1 FR 2820921A1
Authority
FR
France
Prior art keywords
data
ports
port
elementary
bus
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.)
Pending
Application number
FR0102037A
Other languages
English (en)
Inventor
Laurent Frouin
Arnaud Closset
Falk Tannhauser
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0102037A priority Critical patent/FR2820921A1/fr
Priority to US10/055,939 priority patent/US7177307B2/en
Priority to EP02364008A priority patent/EP1249978B1/fr
Priority to AT02364008T priority patent/ATE544263T1/de
Publication of FR2820921A1 publication Critical patent/FR2820921A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/40Wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/102Packet switching elements characterised by the switching fabric construction using shared medium, e.g. bus or ring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

L'invention concerne la commutation d'unités de données de protocole mettant en oeuvre des moyens de commutation permettant d'interconnecter sélectivement un port émetteur et au moins un port récepteur, sélectionné parmi au moins deux ports récepteurs, par l'intermédiaire d'au moins un bus interne (RxBus 80, TxBus 70), chacune des unités de données de protocole étant constituée d'au moins une donnée élémentaire, la commutation mettant en oeuvre :- un mécanisme de synchronisation définissant des intervalles temporels, dits cycles de connexion, sur au moins un des bus internes (RxBus 80, TxBus 70); - un mécanisme d'allocation d'au moins un des cycles de connexion à chacun des ports récepteurs sélectionnés; et- un mécanisme d'écriture d'au moins une donnée élémentaire dans le ou les cycles de connexion alloués, de façon à permettre la diffusion de la ou des données élémentaires vers les ports récepteurs sélectionnés.

Description

composant.
1 2820921
Dispositif et procédé de transmission dans un commutateur.
La présente invention se rapporte au domaine des réscaux de commutation, et en particulier à la transmission de données dans un réseau de commutation à haut débit. On rappelle que la commutation permet d'aiguiller correctement des données entre une source et un ou plusieurs destinataires, ces données étant
organisces en unités de donnces de protocole, et par exemple par paquets.
On connat, dans l' art antérieur, deux techniques différentes de commutation (en anglais " switch "): - la commutation de circuit; et
- la commutation de paquets.
Dans un réseau à commutation de circuit, interconnoctant plusieurs appareils, on utilise essentiellement un multiplexage par répartition dans le temps ou MRT (de l'anglais TDM ou " Time Division Multiplex "). Cette technique permet la transmission de données synchrones, par l'allocation d'intervalles de temps (en anglais " time slot ") sur le bus MRT pour des communications variées et synchronisées. En entrée, un appareil source écrit des données sur un ou plusieurs intervalles de temps qui lui sont alloués. En sortie, un ou plusieurs appareils cibles lisent les données sur l'intervalle de temps auxquelles elles sont attachées. Selon cette technique, il est possible d'utiliser les intervalles de temps comme canal de diffusion, ceux-ci étant utilisés en écriture par une seule source et utilisés en lecture par plusieurs cibles. En outre, la nature synchrone du mécanisme garantit que toutes les donnces utiles sont traitées convenablement par
tous les appareils, à la fois source et cible.
Dans un réscau à commutation de paquets, le transfert des données entre les appareils sources et les appareils cibles suppose que le réseau les reliant soit disponible. En d'autres termes, cela dépend du statut du réseau. Ainsi, on prévoit un protocole de type " poignée de main " connu sous le nom anglais de r
2 2820921
" handcheck " afin d'assurer non seulement la disponibilité des données mais
aussi leur bonne prise en compte.
Cela est particulièrement nécessaire, lorsqu'il s'agit de mettre en _uvre un " routage de type ver " ( ou " wormhole routing " en anglais) dans lequel les données en cours de transmission peuvent être réparties entre plusieurs éléments intermédiaires des moyens de commutation (la décision de routage de type " wormhole routing " est prise avant la réception complète du paquet à l'opposé d'un " routage stockage et de relais " ou en anglais " store and forward routing ") et/ou lorsque des appareils sources et cibles ont des mémoires tampons de type FIFO (de l'anglais " First In First Out ") connoctés à la fois à des ports sources et cibles. Cela est encore plus critique dans certains cas, notamment lorsque un port cible doit faire face à de la congestion, ayant ainsi un débit relativement plus
faible à la sortie d'une FIFO.
Par ailleurs, la technique à commutation de paquets ne permet pas d'envisager efficacement des émissions de type point vers multipoint (en anglais " multicast ") (c'est-à-dire lorsqu'un port source transmet des donnces vers au moins deux ports cibles), sauf à mettre en _uvre des coûteuses et complexes
matrice de commutation dites " crossbar ".
Le rapport de thèse " Conception and realisation of hight performance packet router ", Reube, 3 juillet 1997 décrit un commutateur de type " ver " (8x8) reposant sur une implémentation de type " full crossbar " entre des ports parallèles. La cap acité de multipoi nt es t garantie à travers de s étiquetages d'intervalles, comme mis en _uvre par le composant C104 décrit dans le document de brevet US5,442,881 de Inmos Limited et le document de brevet US ,088,091 de DEC qui illustre du routage de la diffusion à travers une table de routage. Les deux solutions reposent sur une implémentation de type commutateur
" crossbar ".
l
3 2820921
Il n'existe pas aujourd'hui, selon l'état de l' art, de bus d'architectures à commutation dans des réseaux à commutation de paquets pour fournir des fonctions d'émission point vers multipoint, simples et efficaces. Les solutions
bàsces sur des " crossbars " existent, mais restent complexes et coûteuses.
Un premier inconvénient de l' art antérieur est qu' il ne permet pas d'effectuer des commutations efficaces en toutes circonstances, en optimisant les performances (par exemple, le débit pour chaque communication ou le débit global). Notamment, il n'existe pas de techniques sans commutation " crossbar " lO qui s'avèrent efficaces et relativement peut coûteuses à mettre en _uvre: - dans les cas o les commutations s'appliquent à des transmissions de type point à point; et dans les cas o les commutations s'appliquent à des transmissions de
type point-multipoint efficacement.
lS Ainsi, les systèmes connus favorisent généralement la commutation point à point.
Un autre inconvénient est que les techniques connues utilisant l'architecture de type " store and forward routing " présente une latence
importante et nécessite une capacité mémoire plus importante.
L' invention selon ses différents aspects a notamment pour objectif de
pallier ces inconvénients de l'art antérieur.
Plus précisément, l' invention a pour objectif la fourniture d'une technique permettant une commutation point-multipoint, tout en permettant un débit optimal
dans le cas des transmissions point à point.
En outre, l' invention a pour objectif de permettre de faire du routage type " wormhole routing" en minimisant la latence de transfert de paquets à la fois
pour les transmissions point à point et point à multipoint.
Encore un autre objectif est de fournir une architecture garantissant ainsi
une implémentation à bas coût, et relativement peu complexe à mettre en _uvre.
Ces objectifs ainsi que d'autres qui apparatront par la suite sont atteints selon l'invention, à l' aide d'un procédé de commutation d'unités de données de
4 2820921
protocole mettant en _uvre des moyens de commutation permettant d'interconnecter sélectivement un port émetteur et au moins un port récepteur sélectionné parmi au moins deux ports récepteurs, par l'intermédiaire d' au moins un bus interne, chacune des unités de données de protocole étant constituée d'au moins une donnée élémentaire, remarquable en ce qu'il met en _uvre: - un mécanisme de synchronisation définissant des intervalles temporels, dits cycles de connexion, sur au moins un des bus internes; - un mécanisme d'allocation d'au moins un des cycles de connexion à chacun des ports récepteurs sélectionnés; et - un mécanisme d'écriture d'au moins une donnée élémentaire dans le ou les cycles de connexion alloués, de façon à permettre la diffusion des
données élémentaires aux ports récepteurs sélectionnés.
Une unité de données de protocole (ou " Protocol Data Unit " en anglais ou PDU en forme abrégée) est une unité de données échangées au niveau d'un protocole. I1 peut s'agir par exemple d'un paquet comprenant au moins une
donnée élémentaire.
Un cycle de connexion ou cycle de transmission d'unité de donnces de protocole est ici un cycle de transmission d'une unité de données complète. Ce cycle est généralement marqué par un signal particulier (par exemple le signal F{xl-connected utilisé dans le mode de réalisation préféré décrit plus loin) qui est
validé durant toute la durée du cycle.
Une donnée élémentaire est typiquement une donnée binaire (ou " bit " en anglais) ou un multiplet (ou " byte " en anglais) de notamment 16, 32 ou 64 données binaires suivant la largeur des bus permettant le transfert des données
dans un dispositif mettant en _uvre le procédé.
Ainsi, l'invention permet la mise en _uvre de transmissions point à point
et point à multipoint effectuées selon un procédé de commutation synchronisé.
En outre, les performances sont optimisces dans toutes les conditions,
notamment point à multipoint, diffusion et point à point.
2820921
Selon une caractéristique particulière, le mécanisme d'écriture comprend une étape de vérification déterminant si chacune des données élémentaires a été
reçue par chacun des ports récepteurs sélectionnés.
Selon une caractéristique particulière, le mécanisme d'écriture de donnce élémentaire dans chacun des cyeles de connexion alloués est réitéré tant que la
donnée élémentaire n'a pas été reçue par tous les ports réeepteurs.
Ainsi, toutes les données élémentaires d'une unité de données de protoeole sont avantageusement reçues correetement par chacun des ports récepteurs
destinataires de l'unité de données de protoeole.
Selon une earactéristique particulière, le procédé est remarquable en ce que le mécanisme d' allocation comprend une étape d' association de chacun des cycles
de connexion à chacun des ports récepteurs sélectionnés.
Ainsi, l' invention est avantageusement bien adaptée à traiter la
commutation d'unités de données de protocole en mode point à multipoints.
Selon une caractéristique particulière, le mécanisme d'allocation comprend: - une étape de détection d'un port émetteur requérant le transfert d'au moins une unité de données de protocole vers au moins un port récepteur sélectionné; - une étape de vérification que le ou les ports récepteurs sélectionnés sont prêts à recevoir la ou les unités de données de protocole; et - une étape de validation d'au moins un cycle de connexion perrnettant l'écriture des données élémentaires de la ou des unités de données de protocole dans les ports récepteurs sél ectionné durant le ou l es cycles de connexi on validés,
lorsque la vérification est positive.
Ainsi, de manière avantageuse, l'invention permet d'affecter au moins un cycle de connexion lorsque les ports récepteurs peuvent effectivement recevoir la ou les unités de données de protocole que ce soit en mode point à point ou point à multipoint. S elon une caractéris tique particulière, le pro cédé est remarqu ab le en ce qu'il met en _uvre au moins un premier bus d'entrée multiplexant les données !
6 2820921
élémentaires provenant d'au moins deux ports émetteurs et/ou au moins un premier bus de sortie multiplexant les données élémentaires à destination d' au
moins deux ports récepteurs.
Selon une caractéristique particulière, les ports émetteurs et récepteurs sont organisés par paires regroupant chacune un port émetteur et un port récepteur,
chaque paire étant associée à un lien distinct.
Selon une caractéristique particulière, le procédé est remarquable en ce qu'il met en _uvre au moins un lien connocté à des ports émetteurs et/ou à des
ports récepteurs.
Selon une caractéristique particulière, le lien appartient au groupe comprenant: - les liens IEEE 1355 ou équivalent; et
- les bus externes.
Selon une caractéristique particulière, le procédé est apte à commuter des
données dont le débit est supérieur ou égal à 100 Mbit/s.
Ainsi, l' invention permet avantageusement la commatation de données à
haut débit.
Selon une caractéristique particulière, le mécanisme d'écriture comprend au moins une étape d'écriture de chaque donnée élémentaire de chacune des unités de données de protocole, chacune des étapes d'écriture de chaque donnée élémentaire comprenant: - une sous-étape d'acceptation par chacun des ports récepteurs sélectionné de l'écriture de chaque donnce élémentaire à transmettre; et - une sous-étape de transmission de chaque donnée élémentaire à
transmettre, vers chacun des ports récepteurs sélectionné.
Ainsi, de façon préférentielle, l' invention permet la transmission d' un ou de plusieurs unités de donnces de protocole vers une pluralité de ports récepteurs, en gérant une transmission autorisée par chacun des ports récepteurs au niveau de
7 2820921
chaque don née élémentaire contenue dan s l e ou l es u ni té s de don né e s de proto co l e
à transmettre.
En outre, l' invention permet avantageusement d' éviter les problèmes de congestion au sein des ports récepteurs tout en optimisant le débit global de données. Selon une caractéristique particulière, lors de l'étape d'acceptation, l'acceptation est conditionnée par un degré de remplissage d'une mémoire de
réception associée au port récepteur sélectionné, pour chacun des ports récepteurs.
Selon une caractéristique particulière, la mémoire comprend au moins une
FIFO.
Selon une caractéristique particulière, le procédé est remarquable en ce que le mécanisme d'écriture comprend au moins une étape d'arbitrage d'au moins un bus reliant un ensemble d'au moins un port d'entrée comprenant le port émetteur à un ensemble d' au moins un port de sortie comprenant les ports récepteurs, 1 5 l' étape d' arbitrage étant assurée par une matrice de commutation constituée de points de couplage apte à transmettre des données élémentaires entre un port d'entrée et un port de sortie, et organisée en lignes et en colonnes, - chaque colonne (respectivement ligne) étant apte à gérer la réception de données élémentaires en provenance d' un port d' entrée associé à la colonne (respectivement ligne); et - chaque ligne (respectivement colonne) étant apte à gérer l'émission de données élémentaires à destination d'un port de sortie associé à la ligne respectivement colonne); de sorte qu'un seul point de couplage par ligne (respectivement colonne)
puisse, à un instant donné, permettre la transmission de données élémentaires.
Ainsi, l' invention permet avantageusement une mise en _uvre simple et flexible du procédé qui permet d'optimiser la transmission de donnces notamment en point à multipoint (par duplication des données sur plusieurs lignes de la
matrice de commutation).
On note que la matrice de commutation peut être:
8 2820921
- pleine (cas o des données élémentaires peuvent être reçues en provenance d'un port d'entrée quelconque et être émises vers un port de sortie quelconque; en d'autres termes, toutes les commutations sont autorisées); ou - creu se (c as o des donnces élémentaires en provenance de certains ports d'entrée ne peuvent être émises vers certains ports de sortie par construction de la matrice de commutation; en d'autres termes, seules
certaines commutations sont autorisées).
En outre, l' invention permet de manière préférentielle, une optimisation de
la synchronisation entre les opérations de lecture et d'écritures de données.
On note que le bus ou les bus peuvent être notamment de type MRT (c'est
à-dire à multiplexage par répartition dans le temps).
De plus, selon un mode de réalisation avantageux, l' invention permet l'établissement de plusieurs connexions simultanées, chaque ligne
(respectivement colonne) pouvant gérer une connexion.
L' invention permet aussi un châînage des modules de commutation.
Selon une caractéristique particulière, le procédé est remarquable en ce que chaque unité de données de protocole transmise comprend au moins un en-tête et en ce que le procédé comprend en outre: - au moins une étape d'analyse de l'en-tête; et/ou
- au moins une étape de modification de l'en-tête.
Ainsi, l'invention permet avantageusement d'identifier les destinataires
d'une unité de donnces de protocole transmise au cours de l'étape d'analyse.
L' invention concerne également un dispositif de commutation d'unités de données de protocole mettant en _uvre des moyens de commutation permettant d'interconnecter sélectivement un port émetteur et au moins un port récepteur sélectionné parmi au moins deux ports récepteurs, par l'intermédiaire d' au moins un bus interne, chacune des unités de données de protocole étant constituée d'au moins une donnée élémentaire, remarquable en ce qu'il met en _uvre: l
9 2820921
- un moyen de synchronisation définissant des intervalles temporels, dits cycles de connexion, sur au moins un des bus internes; - un moyen d'allocation d'au moins un des cycles de connexion à chacun des ports récepteurs sélectionnés; et - un moyen d'écriture d'au moins une donnée élémentaire dans le ou les cycles de connexion alloués, de façon à permettre la diffusion des
données élémentaires aux ports récepteurs sélectionnés.
Selon des caractéristiques particulières, le dispositif de commutation met avantageusement en _uvre certains aspects du procédé de commutation décrit ci dessus. Selon une caractéristique particulière, le dispositif est remarquable en ce qu'il comprend en outre un moyen d'interfaçage, délivrant à un module de contrôle et via un moyen de transmission de signaux d'horloges, des signaux
d' horloge régénérés à partir de paquets reçus par le moyen d' interfaçage.
Selon une caractéristique particulière, le dispositif est remarquable en ce qu'il comprend un moyen d'interfaçage transmettant et/ou recevant des informations via au plus deux bus de liaison à destination et/ou en provenance d' au moins un des moyens appartenant au groupe comprenant le moyen de
synchronisation, le moyen d' allocation et le moyen d' écriture.
Ainsi, le nombre de bus de liaison entre le moyen d'interfaçage et le ou les autres moyens est avantageusement limité, ce qui permet de simplifier la mise en
_uvre du dispositif et/ou de réduire son coût.
Selon une caractéristique particulière, le dispositif est remarquable en ce que les unités de données de protocole émises par au moins un port émetteur vers
des FIFOs sont multiplexées sur un bus de liaison en réception.
Selon une caractéristique particulière, le dispositif est remarquable en ce que les unités de données de protocole reçues par au moins un port récepteur par
l'intermédiaire de FIFOs sont démultiplexées sur un bus de liaison en émission.
L' invention concerne, en outre, un appareil de commutation remarquable en ce qu'il comprend:
2320921
- au moins le dispositif de commutation; - et au moins un élément appartenant au groupe comprenant - les liens IEEE 1355 ou équivalent; et
- les bus externes.
Selon une caractéristique particulière, l'appareil de commutation est relié à
un appareil de traitement de données.
Ainsi, l' invention permet avantageusement la commutation de données à
destination et/ou en provenance d'un appareil de traitement de données qui est.
par exemple, un ordinateur, une imprimante, un appareil multimédia, un lecteur/enregistreur audio etlou vidéo, un appareil photographique, un appareil de
visualisation d'images (écran, télévision...)....
L'invention concerne également une application du procédé à l'un au moins des domaines appartenant au groupe comprenant: - la commutation à haut débit; - les applications distribuces; - la transmission de données numériques; - la réception de données numériques; - les applications audio; - les réscaux d'entreprise; et
- la transmission d'images en temps réel.
L'invention concerne aussi un produit programme d'ordinateur remarquable en ce que le programme comprend des séquences d'instructions adaptées à la mise en _uvre du procédé de commutation lorsque le programme est
exécuté sur un ordinateur.
L' invention concerne, en outre, un produit programme d' ordinateur de commutation d'unités de données de protocole mettant en _uvre des moyens de commutation permettant d'interconnecter sélectivement un port émetteur et au moins un port récepteur sélectionné parmi au moins deux ports récepteurs, par l'intermédiaire d' au moins un bus interne, chacune des unités de donnces de protocole étant constituce d'au moins une donnce élémentaire, le produit
1 1 2320921
programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur comprenant: - des moyens de programmation lisibles par ordinateur pour effectuer une étape de synchronisation définissant des intervalles temporels, dits cycles de connexion, sur au moins un des bus internes; - des moyens de programmation lisibles par ordinateur pour effectuer une étape d'allocation d'au moins un des cycles de connexion à chacun des ports récepteurs sélectionnés et des moyens de programmation lisibles par ordinateur pour effectuer une étape d'écriture d'au moins une donnée élémentaire dans le ou les cycles de connexion alloués, de façon à permettre la diffusion des
données élémentaires aux ports récepteurs sélectionnés.
Les avantages des dispositif de commutation, appareil, application et produit programme d'ordinateur sont les mêmes que ceux du procédé de
1S commutation, ils ne sont pas détaillés plus amplement.
D' autres caractéristiques et avantages de l' invention apparaîtront plus
clairement à la lecture de la description suivante d'un mode de réalisation
préférentiel, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels: - la figure 1 présente un synoptique de commutateur conforme à l'invention selon un mode particulier de réalisation; - la figure 2 présente un synoptique détaillé d'un un moyen de contrôle de flux de données, d'une interface avec un lien série appartenant au commutateur illustré en figure 1 ainsi que leurs interconnexions; - la figure 3 représente un schéma électronique du module de commutation de la figure 2; - la figure 4 présente un schéma électronique d'un moyen d'arDitrage (ou matrice de commutation) présent dans le module des figures 2 et 3; - la figure 5 décrit un point de commutation de la matrice de commutation de la figure 4;
12 2320921
- la figure 6 présente un point central de commutation régissant une colonne de la matrice de commutation de la figure 4; - la figure 7 illustre un algorithme d' arbitrage dans un point de couplage présent dans la matrice de commutation de la figure 4; - la figure 8 illustre un algorithme de multiplexage dans un point de couplage présent dans la matrice de commutation de la figure 4; - la figure 9 illustre un algorithme de gestion du multiplexage par répartition dans le temps dans un point de couplage central présent dans la matrice de commutation de la figure 4; et - la figure 10 présente un diagramme temporel des signaux véhiculés
entre des FIFOS du module de commutation de la figure 2.
L' invention trouve des applications dans de nombreux domaines, et s'applique notamment dans le cadre de: - la commutation à haut débit; les applications distribuées; - la transmission et/ou la réception de donnces numériques; - les applications audio; - les réseaux d'entreprises; et
- la transmission d'images en temps réel.
Un domaine d' application préférentiel de l'invention est celui des applications domestiques pour les transferts à haut débit. On décrit par la suite un exemple de système mettant en _uvre l'invention, utilisé pour interconnecter une
pluralité de dispositifs audio et vidéo dans la maison.
Les normes IEEE 1394 et IEEE 1355 sont adaptées respectivement aux
communications série et aux communications point à point.
Le système présenté dans la suite du document est un réseau fédérateur à débit commuté permettant d'atteindre des capacités de transmission élevées (typiquement de l'ordre du Gbit), et répondant au besoin important d'interfaçage
des deux types de norme ci-dessus.
Le principe général de l'invention repose sur la mise en _uvre:
13 2320921
- d'un protocole d'échange; et - d'une matrice d'arbitrage dans un module de commutation pouvant recevoir et émettre des données de plusieurs sources, notamment via
des interfaces de type IEEE1394 et/ou IEEE1355.
L'interface de type IEEE1355 comprend plusieurs paires de ports
entrées/sorties, une paire de FIFO étant associée à chaque paire de ports.
L'interface de type IEEE1394 comprend une mémoire DPRAM permettant
le stockage des données en provenance et/ou à destination d' un bus IEEE 1 394.
Cette DPRAM peut aussi être utilisée pour le transfert de donnces vers
etlou à destination d'autres interfaces de communication.
Le module de commutation architecturé autour de deux bus de donnces (l'un en réception et l'autre en émission) de type MRT comprend notamment: - la matrice d'arbitrage; - des registres trois états pilotés par des signaux générés par la matrice 1 5 d' arbitrage et permettant la lecture et/ou l' écriture de données sur les
deux bus de données.
- des FIFOs d'entrée utilisées pour la réception des données en provenance d'une FIFO associée à un port de réception IEEE1355; - des FIFOs de sorties utilisées pour les données à destination de la DPRAM d'interfaçage avec le bus IEEE1394; et - des FIFOs internes utilisées pour les donnces en provenance de la
DPRAM d'interfaçage avec le bus IEEE1394.
Les FIFOs sont préférentiellement de type mémoire double ports et peuvent ainsi étre accédées simultanément en lecture et en écriture sur deux ports distincts. Les données à destination d'un port d'émission IEEE1355 sont émises
directement vers la FIFO associée à ce port via le bus de transmission de données.
Selon le protocole d'échange des donnces, les opérations de transfert des donnces entre une FIFO d'entrée ou interne et une ou plusieurs FIFO de sortie et/ou ports 1355, ne peuvent étre effectuces que dans le cadre d'une connexion
14 2320921
établie au niveau des paquets. Ainsi, pour qu'une connexion soit ouverte, à la suite d'une requête en provenance d'une FIFO d'entrée ou d'une FIFO interne, il est nécessaire que chacune de la ou des FIFOs destinataires permette l'ouverture d'une connexion. De cette manière, les FIFOs destinataires ne sont jamais saturées.
La matrice d'arbitrage est constituée de lignes et de colonnes.
Chacune des colonnes est associée à un port d'entrée et est en charge de la
gestion de la réception des données en provenance de ce port d'entrée.
Chacune des lignes est associée à un port de sortie et est en charge de la
gestion des données destinées à ce port de sortie.
Bien entendu, les rôles des lignes et des colonnes peuvent être échangés.
La matrice est construite de telle sorte que, à un instant donné, un seul
point de couplage de chaque ligne permette une connexion.
D'une manière générale, l'accès en écriture sur les bus se fait par l'intermédiaire de registres à trois états commandés par des signaux issus de la
matrice d'arbitrage.
Par ailleurs, la matrice d' arbitrage génère des signaux de commande des
FIFOS en écriture.
Ainsi, en résumé, la matrice d' arbitrage gère des connexions entre ports d'entrées et des ports de sortie en évitant les conflits et en gérant les aspects liés à la synchronisation. Ceci permet à la matrice d' arbitrage de générer des signaux de commande permettant l'accès (en écriture et en lecture) aux bus de transmission et
de réception.
La figure 1 présente un synoptique d'un n_ud de commutation 90 connecté à deux bus de communication série conformes aux normes IEEE 1394 et
IEEE1355.
Le n_ud représenté à la figure 1 est également connecté à un ou plusieurs
autres n_uds de commutation du réseau commuté auquel il appartient. Dans le mode de réalisation représenté sur la figure 1, on a choisi de
représenter un appareil de traitement de donnces 92, également appelé
2320921
périphérique, qui est associé au dispositif de commutation 90.
Un n_ud de commutation comprend: - un dispositif de commutation 90; et
- un appareil de traitement de données 92 associé au dispositif de commutation.
A titre de variante, l'appareil de traitement de données peut lui-même
constituer ou comprendre le dispositif de commutation 90.
Le dispositif 90 comprend: - une unité centrale de traitement CPU 93; - un moyen de stockage permanent 94 de type ROM; et - un moyen de stockage temporaire 95 de type RAM, associé à l'unité centrale
93, et dans lequel est chargée une architecture logicielle à l'initialisation.
Le moyen de stockage 95 est apte à stocker des paquets de donnces de différents types, notamment: - des paquets asynchrones du type conforme à la norme IEEE 1394; - des paquets constituant des messages en mode non connecté (asynchrones), du type conforme à la norme IEEE 1355; - des paquets de contrôle du type conforme à la norme IEEE 1355;
- des paquets stream (isochrones) du type conforme à la norme IEEE 1355.
Les paquets de type conforme à la norme IEEE 1355 ont rcellement une existence au niveau du composant 104 qui sera mentionné ultérieurement mais ils ne sont pas stockés sous cette forme dans le moyen de stockage RAM 95. On notera que le moyen de stockage 95 contient les informations nécessaires pour
générer les paquets IEEE 1355.
Le cheminement de tels paquets jusqu'au moyen de stockage 95, provenant soit du bus 1394 soit du réseau commuté constitué de liens IEEE 1355 sera
détaillé ultérieurement.
Le cheminement de tels paquets, depuis le moyen de stockage 95 jusqu'à leur transmission par le n_ud de commutation, soit en direction du bus IEEE1394, soit en direction du réseau commuté constitué de liens IEEE 1355 sera détaillé ultérieurement.
16 2820921
Ces trois éléments 93, 94 et 95 communiquent au moyen de bus d'adresses et de données respectifs notés 96, 97 et 98, avec un bloc noté 99 et connu de
l'homme du métier sous le nom de contrôleur de bus.
Ce bloc 99 permet notamment d'échanger des données au moyen d'un bus principal 100 avec au moins un composant d'interface de bus 101. Dans le cas o le bus 100 est un bus standard PCI (PCI signifiant en terminologie anglo-saxonne "Peripheral Component Interconnect"), le composant 101 peut être un composant dénommé AMCC 5933QC commercialisé par la société APPLIED MICRO
CIRCUITS CORPORATION (Marque déposée).
Le bus 100 peut également connecter entre eux d'autres éléments, non représentés sur la figure 1, eux-mêmes pourvus d'une interface de bus et pouvant
mettre en _uvre, par exemple, des fonctions de traitement de données.
Par exemple, dans un cas o le bus 100 est un bus standard PCI, le bloc 99 est en fait un ensemble de composants PCI tel que l'ensemble Intel 440LX AGP ("Intel 440LX AGPset" dans la terminologie anglo-saxonne) commercialisé par la
société INTEL (Marque déposée).
Ainsi, le bloc 99 comprend, par exemple, un composant 82443LX qui assure l'interface avec la mémoire 95 via le bus mémoire 98 et avec l'unité centrale de traitement CPU 93 via le bus local 96. Le composant 82443LX est lui même relié à un composant 82371AB qui fournit une interface avec le bus ISA 97 relié à la mémoire 94. Un contrôleur d'interruption IOAPIC Intel 82093AA connecté à l'unité centrale de traitement CPU 93 gère les interruptions pouvant
survenir dans le système.
Comme représenté sur la figure 1, le dispositif 90 comporte également une interface de bus 102 qui peut être similaire à l' interface de bus 101 permettant ainsi à l'appareil de traitement de données ou périphérique 92 d'accéder au
dispositif de communication.
Une telle interface est par exemple réalisée sous la forme d'une carte SEDNET PCI commercialisée par la société SEDERTA(Marque déposée) sous la référence SD-PCI-200 et permet d'y connecter n'importe quel appareil de
17 2820921
traitement de données existant, conçu pour fonctionner en conformité avec la
norme 1394.
Il est bien entendu possible d'utiliser un adaptateur 102 spécifique à l'appareil de traitement de données que l'on souhaite y connecter. L'adaptateur 102 comprend essentiellement un composant d'interface similaire au composant
d'interface de bus 101.
Selon le type d'appareil de traitement de données, le bus principal 100, ainsi que les composants d' interface de bus 10 1 et contrôleur de bus 99 peuvent être adaptés en fonction de l'architecture du type de l'appareil. Il en est de même
pour 1'ensemble des éléments CPU 93, RAM 95 et ROM 94.
Comme représenté sur la figure 1, le n_ud selon l'invention comporte
également deux moyens d'interfaçage 103 et 104.
Le moyen 103 est destiné à assurer l'interface entre le n_ud 90 et le bus de communication série prévu pour fonctionner selon la norme IEEE 1394 auquel est
rattaché ledit n_ud.
Le moyen d'interfaçage 103 est un ensemble de composants PHY/LINK 1394 qui est par exemple constitué d'un composant PHY TSB21LV03A et d'un composant LINK TSB 12LVOlA commercialisés par la société TEXAS INSTRUMENT (Marque déposée)et de connecteurs 1394, par exemple commercialisés par la société MOLEX (Marque déposée), par exemple sous la
référence 53462.
Le moyen d'interfaçage 103 comporte au moins un port externe destiné à être connecté à un appareil de traitement de données ou périphérique qui est
rattaché au bus de communication série 1394.
Le moyen 103 comporte des moyens de comptage du nombre d'impulsions en fonction d'un signal d'horloge généré par un module de contrôle 107, qui sera défini ultérieurement. Ce signal d'horloge est synchronisé avec le "Maître de cycle" du bus de communication série avec lequel il est en relation, par l'intermédiaire des paquets de début de cycle, appelés "Cycle Start packet" en terminologie anglo-saxonne. La fréquence du signal d'horloge généré par le
18 2320921
module de contrôlelO7 est égale à 24,576 MHz +/- 100 ppm. Ce signal est
représenté comme étant l'un des signaux notés ctrl3 sur la figure 1.
Sur chaque bus de communication série du réseau, l'un des n_uds est appelé "Maître de cycle" ("Cycle Master" en terminologie anglo-saxonne) et le n_ud "Ma^tre de cycle" du bus "racine" est appelé "Mâître de cycle du réscau"
("Net Cycle Master" en terminologie anglo-saxonne).
En outre, tous les n_uds "Maîtres de cycle" du réseau présentent une caractéristique qui leur est propre, puisqu'elle dépend de la fréquence de leur horloge interne, à partir de laquelle est définie la durée d'une "période de
référence" ou "cycle".
* La durée du cycle notée T est égale à un nombre entier njnjd'impulsions d'horloge, commun ou non à tous les bus, et qui est multiplié par l'inverse de la
fréquence de l'horloge interne propre au n_ud "Ma^itre de cycle".
La durée du cycle T est ainsi, par exemple, égale à 125 microsecondes.
Lorsque deux bus de communication série sont reliés par un pont, le "Maître de cycle" de l'un des bus doit synchroniser ses cycles par rapport aux
cycles générés par le "Mâître de cycle" du bus adjacent.
D'une manière générale, les réseaux de communication formés de bus de communication série permettent la transmission de paquets synchronisce à partir des cycles de bus considérés. Les bus sont par exemple utilisés pour transmettre
des paquets de donnces en temps réel du type audio/vidéo.
Les moyens de comptage comme ceux du moyen d'interfaçage 103 cité
plus haut se présentent par exemple sous la forme d'un registre.
Le moyen d'interfaçage 104 mentionné ci-dessus est un composant d'interface IEEE 1355 qui comporte trois ports. Il comprend notamment un composant C113 commercialisé par la société 4LINKS ainsi que trois composants d' interface LUC1141MK commercialisés par la société LUCENT (Marque déposée), eux-mêmes reliés à des connecteurs IEEE 1355, par exemple commercialisés par la société HARTING (Marque déposce). Le composant C113 est lui-même réalisé sur la base d'un composant programmable de type FPGA l) 2320921 ("Field Programmable Gate Array" en terminologie anglo-saxonne) Spartan
XCS30XL, commercialisé par la société XILINX (Marque déposée).
Les initiales FPGA correspondent approximativement en français à
"Matrice de Portes Programmables".
Les trois ports externes du moyen d'interfaçage 104 sont destinés à être connectés à des ports de même type sur un autre n_ud de commutation du réscau commuté, permettant ainsi au dispositif 90 de communiquer avec un autre n_ud
de ce réseau.
Le dispositif 90 comporte également un moyen de contrôle de flux de données 105 qui permet le transfert des données entre les différents composants d'interface 101, 103 et 104. Ce moyen 105 est réalisé en logique programmable, exécuté par un composant de type FPGA, par exemple de référence VIRTEX,
commercialisé par la société XILINX.
Ce moyen 105 met en _uvre notamment une unité de mémorisation à double port 106 qui permet de stocker des données à destination de, ou provenant
du réseau commuté 1355.
L'unité de mémorisation à double port possède une capacité de stockage inférieure à 2 Mbits et est. par exemple, réalisce sous la forme d'une mémoire de
type DPRAM à accès 32 bits.
Les initiales DPRAM signifient en terminologie anglo-saxonne "Dual Port Random Access Memory" ce qui peut être approximativement traduit en langue
française par "Mémoire volatile à double port".
L'unité de mémorisation 106 comporte une pluralité de zones mémoires qui sont gérées comme des mémoires individuelles de type FIFO, initiales des termes anglais "First-in First-out" signifiant en français "Premier entré Premier sorti". Une telle zone mémoire correspond à une mémoire dans laquelle les
données sont lues dans l'ordre dans lequel elles ont été préalablement écrites.
Ces zones mémoires comportent chacune un pointeur de lecture et un
pointeur d'écriture associés.
2820921
Chaque zone mémoire étant gérce comme une mémoire de type FIFO, son remplissage et son vidage peuvent s'effectuer en même temps, et de manière indépendante. Ceci permet de désynchroniser les opérations de lecture et d'écriture des données, effectuées par une unité de commutation 108 qui sera définie ultérieurement, des opérations de lecture et d'écriture des données,
effectuées par le module de contrôle 107.
En effet, le taux d'occupation de la zone mémoire considérce est géré de manière circulaire et l'on sait à tout moment si les données contenues dans une zone mémoire ont été lues ou non. Lorsque ces données ont été lues, il est alors
possible de venir écrire de nouvelles données à la place de celles-ci.
L'unité de mémorisation à double port constitue en quelque sorte une file d'attente pour les paquets, et la fonction de stockage est réalisce de manière indépendante, selon le port par lequel les paquets parviennent à l'unité de mémorisation. D'une manière générale, toutes les données isochrones ou asynchrones
provenant du réscau commuté sont stockées dans l'unité de mémorisation 106.
Ce stockage est temporaire pour les paquets de données asynchrones (paquets constituant un message transmis en mode non connecté) et pour les paquets de contrôle, qui sont amenés à être transférés ensuite dans le moyen de
stockage RAM 95 pour un stockage d'une durée plus importante.
En revanche, les paquets de données isochrones (paquets de type "stream", c'est-à-dire transmis en mode connecté), sont stockés uniquement dans cette unité de mémorisation 106 avant leur transmission sur le bus de communication auquel
est raccordé le n_ud de commutation 90 ou sur le réseau commuté.
Ceci s'explique par le fait que ce type de données doit être transféré aussi rapidement que possible du réseau commuté vers le bus et donc doit être stocké
dans un moyen de stockage facilement et rapidement accessible.
De même, les paquets de donnces isochrones, issus du bus de communication auquel est raccordé le n_ud de commutation 90, et qui sont destinés au réseau commuté, sont stockés uniquement dans l'unité de
21 2820921
mémorisation 106, et non dans le moyen de stockage 95, pour les mêmes raisons
que celles invoquées précédemment.
Ainsi que représenté sur la figure 1, le moyen de contrôle de flux de données 105 comporte plusieurs autres éléments dont un module de contrôle 107 (déjà mentionné plus haut), qui assure une fonction de contrôle de 1'unité de mémorisation 106, une unité de commutation 108 (déjà mentionnée plus haut) en communication avec le moyen d'interfaçage 104, avec 1'unité de mémorisation 106 et avec le module de contrôle 107, ainsi qu'une unité d'ordonnancement des
paquets de données 109, qui est relation avec le module de contrôle 107.
On notera également que le module de contrôle 107 communique avec les moyens d'interfaçage 103 et 104 ainsi qu'avec le composant d'interface de bus
noté 101.
Le module de contrôle 107 a pour fonction de multiplexer les accès en lecture ou en écriture à des registres d'autres modules à partir du bus principal
noté 100.
Le module 107 possède également la ma^trise du composant d'interface de bus 101 pour les opérations de lecture et d'écriture sur le bus principal 100, incluant notamment le transfert en "mode rafale" (connu en terminologie anglo
saxonne sous le terme de "burst mode").
Le module de contrôle 107 est également chargé du déclenchement des interruptions sur le bus principal 100, en fonction d'événements de
communication particuliers.
Ce module échange des données avec le composant 101, sur un bus additionnel 110 (connu en terminologie anglo-saxonne sous le terme de "add-on
bus"), suivant les signaux de contrôle notés ctrll.
Comme annoncé ci-dessus, le module 107 est chargé du contrôle de l'unité de mémorisation 106, en ce qui concerne les opérations de lecture et d'écriture en mode FIFO, dans le cas particulier o le composant d'interface de bus 101 est un AMCC, par l'intermédiaire d'un bus de données 111 et de signaux de contrôle ctrl2.
22 2820921
Le moyen d'interfaçage 103 contient des mémoires de type FIFO, qui sont utilisées lors du transfert de paquets de données de type conforme à la norme IEEE 1394. Il comprend deux mémoires FIFO de transmission dites ATF ("Asynchronous Transfer FIFO" en terminologie anglo-saxonne) et ITF ("Isochronous Transfer FIFO" en terminologie anglosaxonne) et une mémoire
FIFO de réception dite GRF ("General Receive FIFO" en terminologie anglo-
saxonne). Ces mémoires FIFO sont plus largement décrites dans la documentation
associée au composant LINK TSB12LVOlA.
Le module de contr81e 107 et le moyen d'interfaçage 103 gèrent le transfert
de données sur un bus 112 suivant des signaux de contrôle ctrl3.
Par ailleurs, le module de contrôle 107 contrôle l'unité de commutation 108, au moyen de signaux de contrôle ctrl 4, afin de transférer des données de l'unité de commutation vers l'unité de mémorisation 106 par l'intermédiaire d'un
bus de données 113, et inversement.
L'unité de commutation 108 est connectée au moyen d'interface 104 par
l'intermédiaire d'un bus de données 114 et de signaux de contrôle ctrlS.
L'unité d'ordonnancement des paquets de données 109, notée également SAR (connue en terminologie anglo-saxonne sous le terme de "Segmentation And Reassembling"), informe le module de contrôle 107 du ou des prochains paquets
de donnces à transmettre, par l'intermédiaire de signaux de contrôle ctrl6.
En outre, l'unité d'ordonnancement 109 vérifie la réception des paquets de données, et gère l'allocation et la libération de zones mémoires (connues en terminologie anglo-saxonne sous le terme de "buffers") de l'unité de mémorisation 106. Les signaux de contrôle ctrl7 échangés entre le moyen d'interfaçage 104 et le module de contrôle 107 comprennent notamment les signaux d'horloges régénérés à partir de la réception des paquets 1355 sur chacun des trois ports du
moyen d'interfaçage 104.
Un quartz à 49,152Mhz (non représenté) est connecté à la fois au moyen 104 pour l'émission des paquets 1355 et au module de contrôle 107 qui génère un
23 2820921
signal d'horloge à 24,576 MHz +/- 100 ppm, d'une part, pour l'unité d'ordonnancement des paquets de donnces 109, afin de cadencer l'émission des paquets 1355 et, d'autre part pour le moyen d'interfaçage 103, afin de cadencer
l'émission des paquets 1394.
La figure 2 présente un synoptique détaillé du moyen de contrôle de flux de données 105, de l'interface 104 illustrés en regard de la figure 1, ainsi que leurs interconnexions. Quelques détails sur l'interface série 104 permettent de comprendre
comment des paquets sont multiplexés sur le bus de données 114.
L'interface série 104 comprend notamment: - un moyen de contrôle de FIFO 120 décrit précédemment en regard de la figure 1; - trois FIFOs d'entrée 121 (InPortO_FIFO), 122 (InPortl_FIFO) et 123 (InPort2_FIFO); - un multiplexeur 127; et - des FIFO de sorties 124 (OutPortO_FIFO), 125 (OutPortl_FIFO) et
126 (OutPort2_FIFO).
Les FIFO 121, 122 etl23 sont utilisées pour la mémorisation de paquets entrants, alors que les FIFO 124 à 126 sont utilisées pour la mémorisation des
paquets sortants.
Une paire de FIFO est relice à chaque port de l'interface 104 IEEE 1355.
Ainsi, par exemple: - les FIFO 121 et 124 sont utilisées pour le port 0; les FIFO 122 et 125 pour le port 1; et
- les FIFO 123 et 126 pour le port 2.
Le bus de données 114, illustré en regard de la figure 1 se décompose en deux bus sur la figure 2: - un bus 44 PxDlf 17:0] de liaison en réception des données destinées à l'unité de commutation 108 et transmises par l'interface 104; et - un bus 41 TxDOf l 7:0] de liaison en émission des données à partir de l'unité
24 2320921
de commutation 108, vers l'interface 104.
En variante, les bus 44 et 41 forment un seul bus.
Après leur écriture dans l'une des FIFO d'entrée 121, 122 et 123, les paquets entrants sont multiplexés à travers le multiplexeur 127 avant d'être renvoyés vers l'unité de commutation 108 à travers le bus 44. Les données sortantes de l'unité de commutation 108 sont émises à travers le bus de données 41 pour être stockées dans l'une des FIFO de sortie 124, 125 ou 126. On rappelle que le moyen de contrôle de flux de donnces 105 comprend notamment: - le module de contrôle 107; - l'unité de comrnutation 108; et
- l'unité de mémorisation à double port ou DPRAM 106.
Le signal de contrôle CtrlS, illustré en regard de la figure 1 se décompose 1S en trois signaux sur la figure 2: - un signal de contrôle S1; - un signal de contrôle 43 TxFIFOfull[0:2]; et
- un signal de contrôle 42 WriteTXFIFO[0:2].
Les signaux de contrôle S1, TxFIFOfull[0:2] 42 et WriteTXFIFO[0:2] 43 permettent au moyen de contrôle 120 de la FIFO de gérer le transfert des paquets de données entre l'unité de commutation 108 et l'interface 104 de liaison série, à
travers les bus de données 44 et 41.
Le traitement des signaux de contrôle dans l'unité de commutation 108
sera décrit ultérieurement en regard de la figure 3.
Le signal Ctrl4, illustré en regard de la figure 1, entre l'unité de commutation 108 et le module de contrôle 107, se décompose en au moins quatre signaux sur la figure 2: - deux signaux de contrôle 53 et 54; - un signal de contrôle IntRxTxEOP[1:0] 45a;
- un signal de donnces IntRx_TX[31:0] 45b.
2820921
Le signal 45b est un bus de données reliant les éléments 106, 107 et 108.
Le module de contrôle lit les en-têtes paquets à partir de ce bus 45b.
Les signaux de contrôle 53, 54 et 45a permettent la gestion de transfert de données IntRx_TX[31:0] 45b entre la mémoire double port 106 et l'unité de commutation 108. Dans certains cas, notamment lors du traitement d'entête de paquet, les données du paquet sont envoyées au module de contrôle 107 plutôt qu'à l'unité de
mémorisation 106 pour une analyse ultérieure.
Le bus de données 45b est représenté sur la figure 1 par le bus de données 113. La figure 3 représente un schéma électronique du module de commutation
108 de la figure 2.
Le module de commutation 108 comprend notamment: - un moyen 60 d'arbitrage; - un moyen 20 de génération de cycle; - des moyens chargés de la réception et de l'émission des données en provenance ou à destination de l' interface 1 04 (soient les données en provenance ou à destination d'un réscau commuté IEEE1355); et - des moyens chargés de la réception des données en provenance de la mémoire DPRAM 106 (soient les données en provenance d'un bus IEEE1394); et - des moyens chargés de l'émission des donnces vers la mémoire DPRAM
106 (soient les données à destination d'un bus IEEE1394);.
Les moyens chargés de la réception et de l'émission des données en provenance de ou vers l'interface 104 comprennent notamment: - un moyen 18 de modification d'en-tête; - un moyen 19 d'analyse d'en-tête en réception; - deux mémoires volatiles 15 et 16 de réception agencées en FIFO; et
- un moyen 17 de contrôle des FIFOs de réception 15 et 16.
Les moyens chargés de la réception des données en provenance de la mémoire DPRAM 106 comprennent notamment:
26 2320921
- quatre FIFOs d'entrée 9, 10, 11 et 12; - un moyen 130 de contrôle des FIFOs d'entrée; - un multiplexeur 50; et
- un moyen 13 d'analyse d'en-tête de transmission.
Les moyens chargés de l'émission des données vers la mémoire DPRAM 106 comprennent notamment: - trois mémoires d'assemblage 22, 23 ou 24; - trois FIFOs de sortie 25, 26 et 27; - un moyen de contrôle 84 des FIFOs de sortie; et
- un multiplexeur 28.
Ces éléments faisant partie du module de commutation 108 sont reliés par des éléments de liaisons décrits ci-après. On note néanmoins que la plupart des échanges se font autour du moyen 60 d' arbitrage avec utilisation de deux bus de données principaux, TxBus 70 et RxBux 80 dont les accès sont gérés par le moyen
1 5 d' arbitrage 60.
L'utilisation des deux bus internes, les bus de transmission TxBus 70 et de réception RxBus 80, qui permettent de traiter les transferts de données entre les
ports va maintenant être détaillée.
Les paquets sortants vers le bus 41 sont transmis à travers le bus de
transmission TxBus 70.
Les paquets sortants vers le bus 45 sont transmis à travers le bus interne de
réception RxBus 80.
Le moyen 60 d'arbitrage est en charge de la gestion des accès en écriture sur le bus TxBus 70 contrôlant l'ouverture: - de registres à trois états 1, 2, 3 et 4 grâce à des signaux OpenTxTS[0:36on Rx pour les données issues des FIFO d'entrée 9, 10, 11 et 12;et - de registres à trois états 14 grâce à des signaux de contrôle OpenRxTS_onTx
33 pour les données issues de la mémoire 16.
Les opérations de lecture du bus TxBus 70 vers un port de sortie de l'interface 104 sont gérées par le moyen d' arbitrage 60 en fonction du signal de
27 2820921
contrôle vers les FIFO associces à chaque port TxFIFOfu11[0:2] 43 et
WriteTxFIFO[0:2] 42.
Le moyen d' arbitrage 60 gère aussi les accès en écriture vers le bus RxBus en contrôlant l'ouverture: - de registres à trois états 5, 6, 7 et 8 à travers des signaux OpenTxTs[0:3]_onRx 39 pour les données issues des FIFO d'entrce 9, 10, 11 et 12; et - d'un registre à trois états 21 à travers des signaux de contrôle OpenRxTs_onRx
34 pour les donnces issues de la mémoire 15.
Le moyen d' arbitrage 60 effectue aussi les opérations de lecture de données sur le bus RxBus 80 pour une écriture vers l'une des mémoires d' assemblage 22, 23 ou 24 (en anglais "assembly buffers"). L"'assembly buffer" sert de tampon pour la conversion des données entre le bus 80, sur lequel les données sont exprimées sur 18 bits (16 bits de données et 2 bits de contrôle), et les O_FIFOs 25, 26 et 27, dans lesquelles les données sont exprimoes sur 34 bits) (32
bits de données et 2 bits de contrôle).
Ces tailles de bus sont liées à des contraintes physiques. Le module 84 transmet au moyen d' arbitrage 60 un signal de contrôle Rx FlFOfu11[0:27 83, indiquant le degré de remplissage des FIFO 25, 26 et 27. Le moyen d' arbitrage 60 génère un signal de contrôle WriteO_FIFO[2:0] 35 à destination d'un module 84 de contrôle des FIFO de sortie, en fonction du degré de remplissage des FIFOS
, 26 et 27.
Le moyen d' arbitrage 60 pour le multiplexage des données sur les bus 70 de transmission TxBus et 80 de réception RxBus utilise des signaux 46 de cycle EN_cycle[0:2]. C'est le moyen 20 de génération de cycle, par exemple un
compteur de Johnson, qui génère ces signaux 46.
Le traitement des donnces entrantes va maintenant être détaillé en fonction de l'origine de ces donnces: - le bus 44;
- le bus 45.
28 2320921
Les donnces entrantes en provenance du bus 44 RxDI[17:0] ou du bus 45 seront routées vers le commutateur pour aller: - vers le bus 41 TxDO[17:0] soit en direction de l'interface 104; ou
- vers le bus 45 soit en direction de la DPRAM 106.
Le traitement des données entrantes en provenance du bus 44 va
maintenant être exposé.
Les échanges de donnces sur le bus 44 sont gérés à travers le moyen 18 de modification d'en-tête et le moyen de contrôle de FIFO 120 de l'interface série, grâce aux signaux de contrôle 51. Les signaux de contrôle 51 comprennent un signal d'écriture vers le moyen 18 de modification d'entête et des signaux de contrôle de flux du module 18, correspondant chacun à des ports d'entrées du
moyen d'interfaçage 104.
Les morceaux de paquets entrant en provenance du bus 44 parviennent d'abord à un moyen de modification d'en-tête 18 pour un traitement relatif aux
en-têtes de paquet.
Les morceaux de paquets sont ensuite stockés: - dans la mémoire 15 lorsqu'ils sont adressés au bus de réception 80 RxBus; et - dans la mémoirel6 lorsqu'ils sont adressés au bus de transmission
70 TxBus.
Lorsqu'ils sont adressés vers les deux bus, les morceaux de paquets sont adressés aux deux bus simultanément pour être stockés dans deux moyens de
stockage simultanément.
De même, le moyen 17 de contrôle de FIFO de réception contrôle les
opérations de stockage dans les deux mémoires 15 et 16.
Les mémoires 15 et 16 sont des mémoires à double port, découpées en
trois zones indépendantes, chacune étant gérce comme une FIFO.
Les signaux synchrones sont gérés suivant un certain rythme
correspondant à une succession de phases constituées de quatre cycles d'horloge.
29 2820921
Dans une phase à quatre cycles, au cours de chacun des trois premiers cycles d'horloge de la phase, on effectue à la fois une opération d'écriture et une opération en lecture vers deux adresses de chacune des RAM (mémoires volatiles) ou 16. Ces adresses pointent respectivement: vers le dernier élément (queue) de l'une des FIFO dans chacune des RAM 15et 16; et - vers le premier élément (head) de l'une des FIFO dans chacune des
RAM 15 et 16.
Aucune opération de lecture ou d'écriture vers les RAM 15 et 16 n'est
effectuée au cours du quatrième cycle d'horloge dans une phase à quatre cycles.
Chaque opération de lecture effective de FIFO (définies lorsque le signal 32 de sortie Rx[iLread est activé durant un cycle et est suivi par un signal d'entrce AllData used[i] activé durant un cycle, i correspondant à un numéro de la
FIFO d'entrée) modifie l'adresse pointant sur l'en-tête de FIFO.
Des opérations effectives d'écriture de FIFO (basées sur le même mécanisme que les opérations de lecture, utilisant ici le signal 52 illustré en regard
de la figure 3) modifient l'adresse pointant sur la queue de la FIFO.
Ainsi, durant trois cycles, chaque partie de FIFO correspondant à chacun des ports d'entrée est traitée: les opérations d'écriture de données par les moyens 18 de modification d'en-tête sont séquentiellement adressées vers les parties correspondantes 1S et 16, chacun des morceaux de paquets entrant de chacun des
ports d'entrée 121, 122 et 123 de l'interface 104.
D'une manière similaire, les données lues à partir des mémoires 1S et 16
sont traitées respectivement par les bus RxBus 80 et TxBus 70.
Le moyen 17 de contrôle de FIFO de réception est en charge de la lecture
et de l'écriture effective des FIFO contenues dans les mémoires 15 et 16.
Le signal 52 de contrôle informe le moyen de modification d'en-tête 18 qu'une FIFO est pleine dans l'une des mémoires 15 ou 16 et qu'il y a aussi une
requête d'écriture pour une FIFO dans l'une des mémoires 1S ou 16.
Le moyen de contrôle de FIFO de réception informe le module 60
2320921
d'arbitrage qu'une nouvelle donnée a été lue à partir de l'une des mémoires 15 ou
16 grâce au signal Rx[0:2]rend 32.
Les mêmes données sont lues à chaque phase de quatre cycles lorsqu'elles ne sont pas lues de manière effective en les plaçant simplement, soit sur le bus RxBus, soit sur le bus TxBus, soit sur les deux, en fonction du routage du paquet. Ainsi, les mêmes donnces sont présentées tous les quatre cycles, jusqu'à ce
qu'elles aient été réellement lues par la ou les destinations.
Le moyen 60 d'arbitrage gère l'ouverture du registre à trois états 14 grâce aux signaux de contrôle OpenRxTs_onTx 33, pour placer les donnces en lecture de
la mémoire 16 sur le bus de transmission TxBus 70.
Le moyen 60 gère également l'ouverture du registre à trois états 21, grâce aux signaux de contrôle OpenRxTs_onRx 34 pour mettre les données lues de la
mémoire 15 vers le bus de réception RxBus 80.
Le moyen d' arbitrage 60 gère aussi le contrôle des signaux allRxData_used[0:2] pour indiquer au moyen 17 de contrôle des FIFO de réception que la prochaine donnée sera lue par une partie correspondante dans
l'une des mémoires 15 ou 16.
Le moyen 19 d'analyse d'en-tête de paquets reçus commande la forme du
signal 47 vers le moyen 60 d' arbitrage.
Lorsqu'un nouveau paquet en provenance de l'un des ports d'entrée 121, 122 ou 123 est traité dans le moyen 18 de modification d'en-tête, le signal 47 Rx[0:2]WantfO:3] permet la requête d'une connexion: - vers l'un des ports de sortie de l'interface 104 à travers le bus multiplexé 41; ou
- vers l'une des FIFO internes 25, 26 ou 27 à travers le bus multiplexé 45.
Lorsque la fin du paquet est traitée dans le moyen 18 de modification d'en tête, le signal 47 RxEOP[0:2] informe le moyen d'arbitrage 60 de la fin d'une connexion.
31 2820921
On note que le moyen 18 de modification d'en-tête émet un signal représentatif d'une information de routage à destination du moyen 19 d'analyse
d'en-tête en réception.
En ce qui concerne la connexion et la déconnexion vers l' interface série S IEEE 1355, le moyen 60 d'arbitrage gère les signaux 81 R'c[0:2:connected émis vers le moyen 17 de contrôle de FIFO de réception pour indiquer le statut de la
connexion associée à chaque port.
De même, le moyen 60 d' arbitrage gère les signaux Tx[0:2]_connected 82 vers le moyen 130 de contrôle des FIFO d'entrée 9, 10, 11 et 12 pour les données
en provenance de la DPRAM 106.
Les donnces échangées sur le bus 45 sont gérées: - par le moyen 84 de contrôle des FIFO de sortie O_FIFO et le module de contrôle 107 par l'intermédiaire du signal 53; et - par le moyen 13 de contrôle des FIFO d'entrce l-FIFO et le module de
1S contrôle 107 par l'intermédiaire du signal 54.
Le multiplexeur 28 autorise la sélection d'une FIFO de sortie O_FIFO parmi les trois FIFO 25, 26 ou 27 pour des opérations de lecture de FIFO de données destinées à la mémoire de stockage double port 106. Cette opération de sélection est gérée par le moyen 84 de contrôle de FIFO de sortie O_FIFO grâce à
un signal 85.
Par ailleurs, les moyens 130 de contrôle de FIFO d'entrées I_FIFO contrôlent des opérations d'écriture de la mémoire de stockage 106 vers l'une des
quatre FIFO l_FIFO d'entrée 9, 10, 11 ou 12 grâce aux signaux 90.
C'est uniquement le cas pour le bus 42 o les signaux de contrôle 43 et 42 attachés au moyen de mémorisation des ports de sorties sont directement
connectés vers les moyens 60 d'arbitrage.
En d'autres termes, le bus 41 est le seul bus dont les signaux de contrôle
(42 et 43) sont directement reliés à l'arbitre 60.
Le traitement des données entrantes en provenance du bus 45 va
maintenant être détaillé.
!
32 2820921
Les morceaux de paquets provenant du bus 45 sont démultiplexés vers chaque FIFO d'entrée 9, 10, 11 et 12. Ainsi, quatre paquets (un par FIFO
d'entrée) peuvent être traités simultanément.
Chaque FIFO d'entrée est connoctée à deux bus internes 70 et 80 à travers les registres à trois états 1 à 8. Le moyen 60 d' arbitrage est en charge de gérer: - les accès en écriture sur le bus TxBus 70 contrôlant alternativement l'ouverture des registres trois états, 1 à 4 grâce aux signaux OpenTxTs[0:36onTx 40, chacun des registres 1 à 4 étant affecté à une FIFO d'entrée 9 à 12; et - les accès en écriture sur le bus RxBus 80 contrôlant alternativement l'ouverture des registres trois états 5 à 8 grâce aux signaux OpenTxTs[0:3LonRx 39, chacun des registres 5 à 8 étant affecté à une FIFO
d'entrée 9 à 12.
Les opérations d'écriture sur le bus RxBus 70 sont indépendantes des
opérations d'écriture sur le bus TxBus 80.
Le moyen d'arbitrage 60 génère aussi des signaux de contrôle allTxData usad[0:3] 37, qui autorisent la lecture sur l'une des FIFO d'entrées 9 à 12, grâce
aux moyens de contrôle des FIFO d'entrée 130.
Le moyen 130 de contrôle des FIFO d'entrée informe le moyen 60 d'arbitrage de la réussite d'une opération de lecture, effectuce par l'une des FIFO
d'entrce, grâce au signal de contrôle 38 Tx[0:3]_Reud.
Les données d'en-tête de paquet sont multiplexces par un multiplexcur 50 de l'une des FIFO de sorties 9 à 12 pour être émises vers le moyen 13 d'analyse d'en-tête. Le moyen 13 d'analyse d'en-tête de paquet transmis analyse les données issues des FIFO d'entrée 9, 10, 11 et 12 pour générer le signal 36
Tx[0:3]Want[0:3] à destination du moyen d'arbitrage 60.
Lorsqu'un nouveau paquet est traité dans l'une des FIFO d'entrée 9 à 12, le signal 36 Tx[0:3]Want[0:3] permet la requête d'une connexion:
33 2320921
- vers l'un des ports de sortie du moyen d'interfaçage 104 par un bus 41 multiplexé; ou
- vers l'une des FIFO de sortie 25, 26 ou 27 par un bus 45 multiplexé.
Lorsque la fin du paquet est traitée dans l'une des FIFO d'entrée 9 à 12, le signal 36 TxEOP[0:3] permet d'informer le moyen d' arbitrage 60 d'une fin de connexion.
La figure 4 illustre une implémentation détaillée du moyen 60 d' arbitrage.
Le moyen d'arbitrage est en charge de la génération du multiplexage par
répartition dans le temps (MRT) en combinaison avec la gestion des connexions.
Ici, une connexion se réfère à un intervalle alloué à un paquet de routage d'un port
entrant vers un port sortant.
Un cycle de connexion est associé à chaque port sortant. L'établissement d'une connexion permet d'associer un port entrant à au moins un cycle de connexion et de valider le mécanisme d'écriture des unités de donnces de protocole pour chaque donnée élémentaire vers le port sortant associé au(x)
cycle(s) de connexion considéré(s).
L' élément clé du moyen 60 d' arbitrage est un point de couplage élémentaire. Dans le mode préféré de réalisation, le moyen 60 d' arbitrage comprend notamment: - 30 points de couplage élémentaires tels qu'illustrés en regard de la figure 4 et référencés 150 à 179; et - 7 moyens 180 à 186 de traitement central de points de couplage effectuant des opérations de type " OU " sur des signaux élémentaires; et - un moyen de traitement 187 effectuant des opérations de type " OU "
sur des signaux élémentaires.
Les 30 points de couplage élémentaires sont organisés en lignes et colonnes. Les colonnes traitent des signaux attachés aux ports entrants alors que
les lignes traitent des signaux attachés aux ports sortants.
34 2820921
Une colonne est allouée à chaque FIFO d'entrée ou d'une manière équivalente à chaque paquet entrant: - Ainsi, les première, seconde et troisième colonnes correspondent aux trois FIFO réalisées à partir de mémoires double port 15 et 16 telles qu'illustrées en regard de la figure 3), respectivement attachées aux FIFO InPortO_FIFO 121, InPortl_FIFO 122 et InPort2_FIFO 123 de
l'interface série 104.
D ême les 4ème Sème 7ème et 8ème colonnes sont respectivement attachées aux FIFO d'entrées I_FIFO_0 9, I_FIFO_1 10, I_FIFO_2 11
*et I_FIFO_3 12.
Une ligne est allouée à chaque FIFO de sortie ou d'une manière équivalente attachée à chaque paquet sortant: - Ainsi, les première, seconde, et troisième lignes correspondent aux trois FIFO de sortie OutPortO FIFO 124, OutPortl FIFO 125 et OutPort2 FIFO 126 avec l'interface série et attachés aux intervalles de
temps du bus TxBus 70.
- De même, les 4ème, Sème, 6ème lignes correspondent aux FIFO internes de sortie du commutateur, respectivement les FIFO O_FIFO_0 25, O_FIFO_1 26 et O_FIFO_2 27 et attachés aux intervalles de temps du
bus RxBus 80.
Les intervalles disponibles pour la connexion sont relatifs à des lignes (donc à des ports de sortie), ce qui signifie qu'il est possible de traiter six connexions simultanément. Tant qu'un point de couplage a été sélectionné avec une ligne, l'intervalle de temps correspondant ou la FIFO de sortie correspondante sont alloués à un paquet entrant. Ainsi, aucun autre paquet ne peut être transmis au cours de cet intervalle de temps alors que la connexion existante reste active, et
ce jusque la fin du transfert du paquet courant.
Pour obtenir un tel comportement, les points de couplage élémentaires sur
une ligne sont châînés en cascade afin de permettre une seule connexion à la fois.
Par exemple, les points de couplage élémentaires 150 à 154 sont chaînés en
2320921
cascade pour permettre le transfert d'un seul paquet entrant au cours de l'intervalle 0 du bus TxBus 70. De la même manière, les points de couplage élémentaires 165 à 169 sont chaînés en cascade pour permettre le transfert d'un seul paquet entrant au cours de l'intervalle 0 du bus RxBus 80. Ces châînages en cascade sont détaillés en regard de la figure 5. Selon le mode préféré de réalisation, un paquet entrant peut être transféré simultanément sur quatre intervalles lorsque la matrice d'arbitrage comprend quatre points de couplage élémentaire par colonne distincte de la dernière colonne. La dernière colonne permet le transfert des paquets vers tous les intervalles simultanément et la matrice d'arbitrage comprend six points de couplage élémentaires associés à cette dernière colonne. Cette dernière colonne correspond
à la mise en _uvre particulière de la FIFO de diffusion I_FIFO_3 12.
Selon un mode particulier de réalisation du commutateur, une matrice 1 5 d' arbitrage simplifiée permet la suppression des couples élémentaires de couplage et par exemple lorsque le bus 45 est attaché à un point interne, les points de couplage 166 à 169, 171 à 174 et 176 à 179 ne sont plus utiles, car ils ne seraient
utilisés que pour du trafic généré par le point interne pour lui-même.
Selon le mode préféré de réalisation, pour chaque signalisation de colonne, les signaux d'entrée 471a à 471c et 47a à 47c (Rx[0:2]EOP et Rx[0:2]Want[0:3]) et 361a à 361d et 36a à 36d (Txt0:2]EOP et Tx[0:2] Want[0:3]) informent chaque point de couplage élémentaire de la même colonne, respectivement de la fin du transfert d'un paquet (libération de la
connexion) ou d'un nouveau paquet à transférer (demande de connexion).
On note que les signaux d'entrée 361a à 361d et 36a à 36d (tels qu'illustrés en regard de la figure 3 sous la référence 36) sont générés par le moyen 13 d'analyse d'en-tête de transmission, sur réception d'un marqueur de fin de paquet (EOp). Les signaux d'entrée 32a à 32c (Rx[0:2] _reud) et 38a à 38d (Tx[0:2]_rend:) informent chaque point de couplage élémentaire de la même
36 2320921
colonne, de la disponibilité d'une nouvelle donnce élémentaire à traiter pendant le cycle de connexion préalablement déterminé au cours de l'établissement de cette connexion. Les signaux 471a à 471c et 47a à 47c sont générés par le moyen 19 d'analyse d'en-tête de réception, tel qu'illustré en regard de la figure 3 sous la
référence 47, sur réception d'un marqueur de fin de paquet (EOP).
Les signaux 32a à 32c et 38a à 38d sont générés respectivement par les moyens 17 de contrôle de FIFO de réception et moyens 130 de contrôle de FIFO d'entrée tels qu'illustrés en regard de la figure 3 sous les références respectives 32
et 38.
Chaque colonne est associée à l'un des points de couplage central 180 à 186. Ainsi, par exemple, la colonne comprenant les points de couplage
élémentaires 150, 155, 160 et 165 est associée au point de couplage central 180.
Chacun des moyens 180 à 186 de traitement effectue une opération de type " OU " sur les signaux de contrôle générés pour chaque intervalle correspondant à la colonne qui lui est associée et pour chaque bus (respectivement sur les bus
TxBus 70 et RxBus 80), correspondant à chaque cycle de connexion.
Un signal de sortie, 203 à 209, issus de chaque point de couplage central respectivementl80 à 186 est connecté à chaque point de couplage de la colonne correspondante au point de couplage considéré et permet de valider l'écriture effective de l'unité de protocole vers le port sortant associé au cycle de connexion considéré. Les signaux de sorties 203 à 209 représentent respectivement les signaux: - OpenRxTsO_onTx[0:2] et RxO_EOP_sent (203); - OpenRxTsl_onTx[0:2] et Rxl_EOP_sent (204); OpenRxTs2_onTx[0:2] et Rx2_EOP_sent (205); - OpenTxTsO_onTx[0:2] et TxO_EOP_sent (206); - OpenTxTsl_onTx[0:2] et Txl_EOP_sent (207); OpenTxTs2_onTx[0:2] et Tx2_EOP_sent (208); et
- OpenTxTs3_onTx[0:2] et Tx3_EOP_sent (209).
37 2320921
Le moyen 187 effectue une opération de type " OU " (représenté par le signe (3) sur les signaux de sortie 216 à 218 (en respectant l'implémentation spécifique des FIFO présentes dans les mémoires double port 15 et 16) des points à 182 de couplage central qui correspondent aux trois premières colonnes de la matrice d' arbitrage. Ainsi, par exemple, une donnée élémentaire présente dans l'une des FIFOs de la mémoire RAM 15 est présentée sur le bus RxBus 80 lorsque l'un des signaux OpenRxTsO_onRx[0:2] active l'ouverture du registre 21 à trois états associé à la FIFO de la mémoire 15. Comme l'ensemble des trois FIFO de la mémoire 15 associées aux FIFO InPortO_FIFO 121, InPortl_FIFO 122 et InPort2_FIF0 123 sont réalisces à partir de la mémoire double port 15 associce au bus RxBus 80, un seul registre 21 à trois états est nécessaire entre respectivement la mémoire 15 et le bus RxBus 80. Il suffit donc qu'un des signaux OpenRxTS[0:2]_onRx[0:2] soit validé pour rendre passant le registre 21 à trois états. Le registre 21 est donc commandé par le signal OpenRxTS_onRx 34 généré par le moyen 187 selon la relation suivante: 0penRxTS_onRx = 0penRxTSO_onRx[0:2] OpenRxTSl_onRx[0:2] OpenRxTS2_onRx[0:2] De même, un seul registre 14 à trois états entre la mémoire 16 et le bus TxBus 70 est commandé par le signal OpenRxTS_onTx 33 généré par le moyen 187 selon la relation suivante: 0penRxTS_onTx = 0penRxTSO_onTx[0:2] OpenRxTSl_onTx[0:2] OpenRxTS2_onTx[0:2] Le moyen 187 génère aussi des signaux de sortie 31a, 31b, 31c, 81a, 81b et
81c sont connectés au moyen 17 de contrôle de réception RxFIFO.
Les signaux de sortie 37a à 37d et 82a à 82b correspondant respectivement aux 4ème,Sème, 6ème et 7ème colonnes sont connectés au moyen 130 de contrôle de la FIFO d'entrée. Les signaux de sortie 40a, 40d commandent respectivement les registres trois états 1 à 4 et les signaux de sortie 39a et 39d commandent
respectivement les registres à trois état 5 à 8 illustrés en regard de la figure 3.
38 2320921
Pour la signalisation des lignes, des signaux d'entrée incluant principalement des intervalles de temps permettant des cycles 46a, 46b et 46c qui valident les cycles de connexion: - pour toute écriture sur les FIFO de sortie respectivement 124, 125 ou 126 à travers les bus TxBus 70; ou - pour l'écriture sur les FIFO internes 25, 26 et 27 à travers le bus RxBus 80. On note que durant un même intervalle de temps, une opération d'écriture
peut se produire simultanément sur une FIFO de sortie et sur une FIFO interne.
Une FIFO interne doit être constamment disponible pour l'écriture afin de respecter une grande vitesse du bus 45 alors que des FIFO de sorties peuvent parfois faire face à des congestions du réseau. C' est la raison pour laquelle les lère, 2ème et 3ème lignes comprennent aussi une signalisation complète de FIFO 43a, 43b et 43c des FIFO de sortie respectivement 124, 125 et 126. Tous les signaux d'entrée liés à une ligne sont connoctés à chaque point de couplage élémentaire avec cette ligne. Les signaux de sortie résultant pour chaque ligne 42a à 42c et 35a à 35c sont générés par un simple point de couplage élémentaire avec leur ligne
correspondante, celle-ci ayant précédemment gagné une connexion avec la ligne.
La figure 5 représente en détail les connexions d'un point de couplage élémentairel61 représenté en regard de la figure 4, les autres points de couplage
élémentaires étant connectés de manière très similaire.
Le point de couplage 1 6 1 correspond au moyen d' arbitrage associé à une connexion de la FIFO d'entrée 122 et de la FIFO de sortie 126, tel qu'illustré en
regard de la figure 2.
Le point de couplage 161 est en charge de la génération des signaux nécessaires pour le point de couplage central 181 illustré en figure 4, en fonction
des résultats d'arbitrage.
Pour la gestion des connexions, le point de couplage utilise des signaux
4700b, 303, 304 et 305 en entrée alors qu'il génère des signaux 308a et 309.
39 2320921
Le signal 309 est chaîné en entrée du point de couplage suivant de la même ligne (c'est-à-dire le point 162), alors que le signal 303 provient du point de
couplage précédent sur la même ligne (c'est à dire le point 160).
Le signal Rxl Want2 4700b est l'un des signaux 47b de la figure 4 indiquant le statut de requête de la connexion entre les FIFO d'entrce 122 et de
sortie 126.
Le signal Prev_wanted[1] donne le statut courant de la disponibilité d'un
intervalle en regard des autres FIFO d'entrée challenger de la même ligne.
Le signal Fair_arb 304 est utilisé en option pour donner un niveau de
priorité de l'arbitrage durant le châînage en cascade.
Le signal EOP_sent 305 (étant ici RxlEOP_sent en particulier tel que représenté en regard de la figure 5 mais pouvant représenter plus généralement l'un quelconque des signaux Rx[0:2]_EOP_sent ou Tx[0:3] EOP_sent) et provient d'un point central de couplage 181 et utilisé pour le relâchement d'une connexion dès que la dernière donnce d'un paquet courant a été transmise d'une
FIFO d'entrée 122 vers des FIFO sélectionnées de sortie de la 2èe colonne.
Le signal Connected[2] 308a informe de manière synchrone le point de couplage central 181 du résultat de l'arbitrage de la connexion courante correspondant au point de couplage 161 alors que le signal Next_wanted[1] est
cascadé avec le point de couplage 162 pour permettre cet arbitrage.
Pour la gestion du multiplexage par répartition dans le temps impliquant un point de couplage 181, le point de couplage 161 élémentaire génère un signal RXl Writing_window2_on_Txbus 310a, alors qu'il reçoit du même point central de couplage un signal OpenRXTSl_on_Tx2 301, un signal EOP_sent 305, utilisant aussi un intervalle de temps permettant un cycle EN_cycle2 46c, et une indication de statut FIFO pleine pour la FIFO de sortie 126 à travers un signal TxFIFOfu112 43c. Le point de couplage 161 est aussi chargé de la génération de l'écriture
d'un signal WriteTxFIF02 42c destiné à la FIFO de sortie 126.
2320921
La figure 6 représente un point de couplage central 181 de la 2èe colonne tel qu'illustré en regard de la figure 4, les autres points de couplage central étant
tout à fait similaire.
Le point de couplage 181 est chargé de la gestion du multiplexage de répartition dans le temps, associé au transfert de tous les paquets de la FIFO
d'entrée 121.
I1 reçoit d'abord tous les statuts de réservation d'intervalles issus des résultats d'arbitrage des points de couplage élémentaires (151,156, 161 et 170) en utilisant un signal Connected[0;3] 308, et les requêtes associées de transfert des FIFO d'entrées 122 utilisant un signal RxlWant[0:3] 470b qui appartiennent au signal RxfO:2]Want[0:3] 47 généré par le module 20 illustré en regard de la figure 3. Il reçoit aussi, des mêmes points de couplage central des requetes d'écriture sur les FIFO de sorties relatives aux réservations d'intervalles: - RxlWriting_window[0:2] _on_Rxbus 313; et
- Rxl Writing_window[0:2]_on_Txbus 310.
Le point de couplage central reçoit aussi le signal Rxl_read 32b provenant du module 17 de moyen de contrôle de réception de la FIFO illustrée en figure 4, et activé à chaque fois qu'une opération de lecture est effectuée sur une FIFO de
associée au port entrant 1.
Le point de couplage central 161 génère un signal Rxl_conrected 81b vers les moyens 17 de contrôle de FIFO de réception de la figure 3, utilisés pour indiquer si toutes les FIFO de sorties sélectionnces ont été réservées avec succès
dans l'étape de réservation d'intervalle.
Lorsque les connexions sont disponibles pour toutes les FIFO de sortie, désirées, le point central de couplage génère les signaux de contrôle OpenRxTsl_onTx[0:2] 330b et OpenRxTSl_onRx[1] 340b qui sont concaténés par une opération de type " OU " pour générer un signal ouvrant de registre trois états et associés au transfert qui suit, entre une FIFO d'entrée 122 et des FIFO de
41 2820921
sorties sélectionnées (OpenRxTSI_on_Rx 34b pour le bus R x B u s et
OpenRxTSI_on_Tx 33b pour le bus TxBus).
Les signaux OpenRxTSI_on_Rx et OpenRxTSI_on_Tx issus des points centraux de couplage (180, 181 etl82) 34b et 33b sont respectivement concaténés par une opération de type " OU >> dans le but de générer des signaux de contrôle OpenRxTS_onTx 33 et OpenRxTS_onRx 34 ouvrant respectivement les registres
trois états 14 et 21 contrôlant l'accès aux bus TxBus et RxBus de la figure 3.
Le point central de couplage 181 délivre à chaque point de couplage élémentaire de la même colonne les signaux OpenRxTSI_onTx[0:2] 330b, Open RxTSl_onRx[1] 340b. Le point de couplage 161 reçoit alors simplement le signal
OpenRxTSI_onTx[2] 301 de la figure 5.
Chaque fois qu'une donnée est transmise vers une FIFO de sortie sélectionnée, un point de couplage central 181 active un signal AllRxData_usedl 31b vers des moyens de contrôle de FIFO de réception, afin de modifier l'adresse
de lecture des mémoires 15 et 16 de la figure 3.
Le point de couplage 181 reçoit du module 20 d'analyse d'en-tête de réception de la figure 3 l' indication de la dernière donnée lue, du paquet courant à transmettre vers les FIFO de sortie sélectionnées, un utilisant un signal RxEOPI 471b. Lorsque cette dernière donnce est transmise, le point de couplage 181 active un signal EOP_sent vers tous les points de couplage élémentaires de la même colonne dans le but de relâcher la réservation des intervalles de temps
correspondant au paquet.
La figure 7 illustre un algorithme d' arbitrage dans un point de couplage élémentaire 161, ce dernier affectant la gestion de la connexion entre une FIFO
d'entrée 122 et une FIFO de sortie 126 tel qu'illustré en regard de la figure 2.
Après une étape d'initialisation EO(" reset "), au cours d'une étape E6 de remise à zéro, les signaux Connected[2] et Next_wanted[1] sont remis à un niveau logique égal à zéro, indiquant une disponibilité d'intervalle pour une
42 2820921
connexion entre une autre FIFO d'entrée (que la FIFO 122) et la FIFO de sortie 126. Ensuite, au cours d'étape E7, un test est effectué sur le statut du signal Rxl Want2 qui indique si une requête de connexion est active entre les FIFO 122 et 126. L'étape E7 reste active jusqu'à l'occurrence d'une nouvelle requête (c'est
à-dire jusqu'à l'activation du signal Rxl Want[2] à un niveau 1).
Après l' occurrence de cette requête, au cours d'une étape E9, un test est
effectué sur le signal Prev_Wanted[l].
Si le signal Prev_Wanted[1] vaut 1 (signifiant que la connexion est déjà requise par une FIFO d'entrée), au cours d'une étape E50, le signal Next_Wanted[2] est mis à un niveau logique égal à 1, propageant ainsi l'état de la
connexion jusqu'au point de couplage suivant. Ensuite, l'étape E9 est reitérée.
Si au cours l'étape E9, le signal Prev_Wanted[1] (qui, pour mémoire, donne le statut courant de la disponibilité d'un intervalle en regard des autres FIFO d'entrée challenger de la même ligne) vaut zéro (signifiant ainsi que la connexion est possible), au cours d'une étape E10, les deux signaux Connected[2] et Next_Wanted[2] sont mis à un niveau logique égal à 1, et la connexion est ensuite réservoe durant tout le transfert du paquet de la FIFO d'entrée 122 vers la
FIFO de sortie 126 telles qu'illustrées en regard de la figure 2.
Ensuite au cours d'une étape E11 le moyen 60 d'arbitrage attend que le signal EOP_sent, qui correspond à l' indication de fin de transfert de paquet, soit
mis à un état égal à 1.
Puis, lorsque le signal EOP_sent vaut effectivement 1, l'étape E6 est réitérée afin de permettre une relâche de la connexion pour des requêtes ultérieures. La figure 8 illustre un algorithme de multiplexage dans un point de couplage présent dans la matrice de commutation de la figure 4. Elle illustre notamment le flot de données tel qu'implanté dans le point de couplage élémentaire 161, afin d'effectuer dans un point de couplage central 181 une
43 2320921 jonction du multiplexage par répartition dans le temps en fonction des
connexions
impliquant la FIFO entrante 122.
Après une étape d'initialisation (étape EO), au cours d'une étape E1, les signaux Rxl Writing_window2_on_Txbus et WriteTxFIFO2 sont remis à un niveau logique zéro. Ensuite, un test E2 est effectué sur le signal Connected[2] qui indique le
statut de la connexion.
Si le signal Connected[2] vaut zéro (signifiant qu'aucune connexion n'est
active), l'étape E1 est réitérée.
Si le signal Connected[2] vaut 1, une connexion est active. Un test E3 est
alors effectué sur les signaux TxFIFOfu11[2] et EN_cycle2.
Le signal EN_cycle2 oscille de manière permanente à une fréquence égale à la fréquence d'un quart de cycle, et est alloué simultanément aux deux connexions impliquant la FIFO de sortie 126 de la figure 2 et la FIFO de sortie 27 O_FIFO_2 de la figure 3, associées chacune de manière indépendante
respectivement au bus TxBus 70 et au bus RxBus 80.
Le signal TxFIFOfu11[2] indique le statut du remplissage de la FIFO de
sortie 126.
Au cours du test E3, si au méme moment le signal TxFIFOfu11[2] n'est pas
égal à zéro et si le signal EN_cycle2 n'est pas égal à 1, l'étape E1 est réitérée.
Dans les autres cas, au cours d'une étape E4, - le signal Rxl Writing_window2_on_Txbus est mis à un niveau logique égal à 1; et - le signal WriteTxFIFO2, est mis à niveau égal à celui du signal
d' entrée OpenRXTSl_on_Tx2, pour un cycle d' horloge.
Ensuite l'étape E1 est réitérée.
La figure 9 illustre un algorithme implanté à l'intérieur du point central de
couplage 181 de la 2èe colonne, illustré en regard de la figure 4.
Après une étape d'initialisation (étape EO), au cours d'une étape E12, les signaux suivants sont mis à l'état logique 0:
44 2820921
- AllRxdata_usedl; - OpenRxl_onTx[i] pour une variable i allant de O à 3; - OpenRxTs_onRx[1]; et
- Flag EOP.
L'indice i indique le nombre possible de connexions entre une FIFO d'entrce 122 et des FIFO de sorti es. Ce nombre est incrémenté à chaque première connexion possible de la colonne considérée de la matrice de la figure 4, en commençant par la ligne du haut. Pour la 2ème colonne, une valeur égale à 3 est
affectée à la FIFO de sortie 26 O_FIFO_1 de la figure 3.
Puis, au cours d'une étape E13, un test est effectué pour vérifier que toutes les demandes de connexion ont abouti (dans ce cas, Rxwant[0:3J est égal au signal Connected[0:3]). Si ce n'est pas le cas, l'étape E12 est réitérce Si toutes les demandes de connexion ont abouti, au cours d'une étape E14, le signal AllRxdata_usedl est mis à niveau logique 1 durant un cycle d'horloge, afin de valider la lecture d'une donnée élémentaire dans les mémoires 15 et 16 de
la figure 4 associées à la FIFO d'entrée 122.
Puis, au cours d'une étape E15, on attend que le signal Rxl_reud vaille 1.
Lorsque le signal Rxl_reud vaut 1, on commence une boucle commençant
à l'étape E16.
Cette boucle permet de s'assurer que pour les connexions établies, chaque donnée lue à partir de la FIFO d'entrée 122 est transférée vers les FIFO de sortie sélectionnées. Au cours du test E16, le moyen d'arbitrage 60 détermine si le signal
Connocted[i] vaut 1.
Dans la négative, le signal Connected[i] de 1 vaut zéro, correspondant ainsi à une connexion absente, au cours d'une étape E21, la valeur de l'indice i est
comparée à 3.
Si l'indice i n'est pas égal à 3, au cours d'une étape E20, l'indice i est
incrémenté d'une valeur égale à 1 et l'étape E16 est réitérée.
2820921
Si au cours de l'étape E21, l'indice i vaut 3, au cours d'une étape E24 le signal AllRxData_usedl est mis à l alors que le signal EOP_sent prend la valeur
du signal Flag_eop durant un cycle d'horloge.
Puis au cours d'une étape E23, un test effectué sur les signaux internes Flag_eop. Le signal Flag_eop utilisé pour permettre la transmission de la dernière donnée d'un paquet courant sur toutes les connexions actives alors qu'une indication de dernière donnée lue est générée par le module l9 illustré en regard
de la figure 3.
lO Si au cours de l'étape E23, le signal Flag_eop vaut l, les connexions sont
relachées et l'étape E12 est réitérée.
Si au cours de l'étape E23, le signal Flag_eop vaut zéro, au cours d'une étape E25 un test est effectué sur le signal Rxl_reud, correspondant à la
disponibilité d'une nouvelle donnce à transférer vers les FIFO de sortie.
lS Tant que le signal Rxl_reud n'est pas égal à l, l'opération E25 est réitérée.
Lorsque le signal Rxl_rend vaut l, au cours de l'étape E26 un test est
effectué sur le signal Rxl_eop.
Si le signal Rxl_eop vaut l, au cours d'une étape E27, le signal Flag_eop est mis à l'état logique l (pour permettre la mémorisation des indications de la
dernière donnce à transmettre aux FIFO de sortie). Puis, l'étape E16 est réitérce.
Lors de l'étape E26,si le signal Rxl_eop vaut zéro, au cours d'une étape El9, le signal Flag_eop est remis à l'état logique zéro. Puis l'étape E16 est réltérée. Si au cours de l'étape E16, le signal connected[i] vaut zéro, au cours d'une étape E17, un test est effectué en fonction de la valeur de l'indice i: - si l'indice i vaut 3, le test E17 est effectué sur le signal RxlWriting_windowfl]_on_Rxbus (correspondant à la fenétre de triggering pour le transfert des données vers la FIFO de sortie O_FIFO_l 26)
46 2820921
- si l'indice i n'est pas égal à 3, le test effectué sur le signal RxWriting_window[iLon_Txbus (correspondant à la valeur des triggers pour le transfert de données vers les FIFO de sortie 124, 125
ou 126 en fonction de la valeur de l'indice i).
Dans tous les cas, l'étape E17 est effectuée tant que les signaux testés
relatifs ne valent pas 1.
Lorsque le signal testé vaut 1, une étape E18 est effectuée en fonction de la valeur de l'indice i: - si l'indice i vaut 3, le signal OpenRxTSl_on_Rx[1] est mis à un niveau logique égal à 1 durant un cycle d'horloge; - sinon, le signal Open_TxTSl_on_Tx[i] est mis à l'état logique égal à 1
durant un cycle d'horloge.
Ensuite, l'étape E21 est effectuée.
En parallèle, le signal de sortie OpenRxTsl_on_Rx est mis à une valeur
égale à celle du signal OpenRxTsl_on_Rxl.
En parallèle, les signaux Open_RxTsl_on_Txl, et Open_RxTsl_on_Tx2 sont additionnés (fonction " ou " en logique booléenne) pour générer un signal de
sortie OpenRxTsl_on_Tx.
Ces signaux de sortie sont à nouveau sommés (non illustré) dans le module 60 d'arbitrage, illustré en regard de la figure 3, pour générer respectivement des
s i g n au x Op enRx Ts_on_Rx et Op en_RxTs_on_Tx.
La figure 10 décrit un diagramme temporel de la gestion du MRT effectué par le point de couplage central 181 de la figure 4 lorsqu'un paquet est transféré d'une FIFO d'entrce 122 vers des FIFO de sorties 124 et 126. Le paquet est étiqueté avec une valeur n et sa longueur est égale à m, correspondant au nombre
de donnces élémentaires.
Les cycles d'horloges sont indiqués avec des références p àp+l7 et k à k+ l4, le passage entre p+l7 et k représenté par le signe " 11 " symbolisant une
durée plus ou moins longue n'étant pas détaillé.
47 2820921
Le diagramme de temps montre les trois phases d'un processus de communication correspondant à un cycle de connexion: - une phase de connexion; - une phase de transfert; et - une phase de déconnexion. La phase de connexion se termine au cycle p+4 lorsque le signal Rxl_connected devient actif, indiquant ainsi le succès d'une réservation
d'intervalle pour les FIFO de sortie 124 et 126.
Sur la figure 10, les signaux de requête et de chaînage ne sont pas représentés. La phase de transfert commence dès que la phase de connexion est terminée. Les fenêtres de " triggering " (ou cycle d'écriture possible vers une FIFO associée à un port de sortie) sont alors validées (RxlWriting_windowO_on_Txbus pour la FIFO de sortie 124 et Rxl Writing_window2_on_Txbus pour la FIFO de sortie 126). On note qu'un cycle d' écriture possible dans une FIFO est notamment conditionné par l' état de cette FIFO (par exemple, le signal TxFIFOful1[0:2] indiquant que la ou les FIFOs pleines) Le signal AllRxDate_usedl est actif durant le cycle p+ 6 pour forcer la lecture d'une première donnée Dn,l sur la mémoire relative à la FIFO d'entrce
122 par activation du signal R'cl_read durant le cycle p+7.
Lorsque la première donnée Dn, I est lue, le signal OpenRxTs_on_Tx prend les mémes valeurs qu'une fenêtre de triggering durant toute la phase de transfert de la première donnce, et est activé en parallèle avec les signaux d'écriture sur les
FIFO de sortie (signaux WriteTxFIF00 et WriteTxFIF02).
Ainsi, lorsque le signal RxlWriting_windowO_on_Txbus est activé au cours du cycle p+9, une écriture de la première donnce Dn, I a lieu sur la FIFO de sortie 124. De même, lorsque le signal Rxl Writing_window2_on_Txbus est activé au cours du cycle p+11, une écriture de la première donnce Dn, 1 a lieu sur la
48 2820921
FIFO de sortie 122. On note que ces opérations d'écritures de la donnce Dn,l sont
effectuées au cours d'une phase de 4 cycles élémentaires référencés p+9 à p+12.
Lorsqu'une écriture a eu lieu sur chacune des FIFO de sortie (ici au cours du cycle p+11), le signal AllData_usedl est activé durant un cycle (p+11), attendant ainsi l'occurrence de validité du signal Rxl_rend au cours du cyclep+12
permettant le transfert de nouvelles données.
Du cycle p+11 jusqu'au cycle p+14, la FIFO 124 est pleine (le signal TXFIFOfull0 vaut alors 1), invalidant alors la fenêtre de triggering relative à la
FIFO de sortie 124 durant au moins quatre cycles.
Au cours du cycle p+12 (signal Rxl_read activé), une nouvelle donnce Dn,2 est lue de la mémoire de type FIFO, mais n'est pas transmise en attendant la disponibilité d'un nouvel intervalle de temps pour une connexion suivante (ici l'occurrence suivante de la fenêtre de triggering indiqué par la validité du signal
Rxl Writng_windowO_on_Txbus).
L'interruption de transfert prend fin au cycle p+15.
Sur le cycle k+6, la dernière donnée du paquet Dn,m est lue de la FIFO d'entrée 122. La phase de transfert se termine alors lorsque cette donnce Dn,m est transmise vers les FIFO de sorties 124 et 126 après un cycle k+9, alors que le
signal EOP_sent est actif.
La phase de déconnexion est immédiatement effectuée sur les points de couplage impliqués (151,161 et 181), et le signal Rxl_connected est relâché pour
des connexions futures.
Bien entendu, l'invention n'est pas limitée aux exemples de réalisation
mentionnés ci-dessus.
En particulier, l'homme du métier pourra apporter toute variante dans la définition de l' architecture du dispositif de commutation qui pourra notamment comprendre plusieurs interfaces de type IEEE1394 ou IEEE1355 ou qui ne
comprendra pas l'un ou l'autre des interfaces de type IEEE1394 ou IEEE1355.
On note également que l' invention ne se limite pas aux dispositifs de commutation en tant que tel mais s'étend à tout appareil assurant une fonction de
49 2320921
commutation adaptée à effectuer des opérations de transmission de paquets point
vers multipoint au cours d'un cycle de connexion.
On note aussi que l' invention s' applique aux domaines suivants: - la commutation à haut débit; - les applications distribuées; - la transmission de donnces numériques; - la réception de données numériques; - les applications audio; - les réseaux d'entreprise; et
- la transmission d'images en temps réel.
On notera que l' invention ne se limite pas à une implantation purement matérielle mais qu'elle peut aussi être mise en _uvre sous la forme d'une séquence d'instructions d'un programme informatique ou toute forme mixant une partie matérielle et une partie logicielle. Dans le cas o l' invention est implantée partiellement ou totalement sous forme logicielle, la séquence d'instructions correspondante pourra être stockée dans un moyen de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce moyen de stockage étant lisible partiellement ou totalement par un ordinateur ou un microprocesseur.
2320921

Claims (38)

REVENDICATIONS
1. Procédé de commutation d'unités de données de protocole mettant en _uvre des moyens de commutation permettant d'interconnecter sélectivement un port émetteur et au moins un port récepteur sélectionné parmi au moins deux ports récepteurs, par l'intermédiaire d'au moins un bus interne (RxBus 80, TxBus 70), chacune des unités de données de protocole étant constituée d'au moins une donnée élémentaire, caractérisé en ce qu'il met en _uvre: l0 - un mécanisme de synchronisation définissant des intervalles temporels, dits cycles de connexion, sur au moins un desdits bus internes (RxBus 80, TxBus ); - un mécanisme d'allocation d'au moins un desdits cycles de connexion à chacun desdits ports récepteurs sélectionnés; et l5 - un mécanisme d'écriture d'au moins une donnée élémentaire dans le ou les cycles de connexion alloués, de façon à permettre la diffusion desdites
données élémentaires auxdits ports récepteurs sélectionnés.
2. Procédé selon la revendication l caractérisé en ce que ledit mécanisme d'écriture comprend une étape de vérification déterminant si chacune desdites
données élémentaires a été reçue par chacun desdits ports récepteurs sélectionnés.
3. Procédé selon la revendication 2 caractérisé en ce que ledit mécanisme d'écriture de donnée élémentaire dans chacun desdits cycles de connexion alloués est réitéré tant que ladite donnée élémentaire n'a pas été reçue par tous les ports récepteurs.
4. Procédé selon l'une quelconque des revendications l à 3 caractérisé en ce
que ledit mécanisme d'allocation comprend une étape d'association de chacun
desdits cycles de connexion à chacun desdits ports récepteurs sélectionnés.
5. Procédé selon l'une quelconque des revendications l à 4, caractérisé en ce
que ledit mécanisme d'allocation comprend:
51 2320921
- une étape de détection (E7) d'un port émetteur requérant le transfert d'au moins une unité de données de protocole vers au moins un port récepteur sélectionné; - une étap e de véri fic ati on (E9) que le ou le s di ts ports récepteurs sélectionnés sont prêts à recevoir ladite ou lesdites unités de données de protocole et - une étape de validation (E10) d'au moins un cycle de connexion permettant l'écriture des données élémentaires de la ou desdites unités de données de protocole dans lesdits ports récepteurs sélectionné durant le ou lesdits cycles de
connexion validés, lorsque la vérification est positive.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce
qu'il met en _uvre au moins un premier bus d'entrée (RxBus 80) multiplexant lesdites données élémentaires provenant d'au moins deux ports émetteurs et/ou au moins un premier bus de sortie (TxBus 70) multiplexant lesdites donnces
élémentaires à destination d' au moins deux ports récepteurs.
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce
que lesdits ports émetteurs (InPortO, InPortl, InPort2) et récepteurs (OutPortO, OutPortl, Outport2) sont organisés par paires ((I n P o r t O. OutPortO), (InPortl,OutPortl), (InPort2,0utPort2))regroupant chacune un port émetteur et
un port récepteur, chaque paire étant associée à un lien distinct.
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce
qu'il met en _uvre au moins un lien (104, 103, 101) connecté à des ports
émetteurs etlou à des ports récepteurs.
9. Procédé selon la revendication 8, caractérisé en ce que ledit lien appartient au groupe comprenant: - les liens IEEE 1355 (104) ou équivalent; et
- les bus externes (101, 103).
10. Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce
que ledit procédé est apte à comrnuter des données dont le débit est supérieur ou
égal à 100 Mbit/s.
52 2820921
11. Procédé selon l'une quelconque des revendications 1 à 10 caractérisé en ce
que ledit mécanisme d'écriture comprend au moins une étape d'écriture de chaque donnée élémentaire de chacune desdites unités de données de protocole, chacune desdites étapes d'écriture de ladite chaque donnée élémentaire comprenant: S - une sous-étape d'acceptation (E3) par chacun desdits ports récepteurs sélectionné de l'écriture de ladite chaque donnée élémentaire à transmettre; et - une sous-étape de transmission (E14) de ladite chaque donnée élémentaire à
transmettre, vers chacun desdits ports récepteurs sélectionné.
12. Procédé selon la revendication 11 caractérisé en ce que lors de ladite étape d'acceptation (E3), l'acceptation est conditionnce par un dogré de remplissage d'une mémoire de réception (124, 125, 126, 25, 26, 27) associée audit port
récepteur sélectionné, pour chacun desdits ports récepteurs.
13. Procédé selon l'une quelconque des revendications 1 à 12 caractérisé en ce
que ledit mécanisme d'écriture comprend au moins une étape d'arbitrage d'au moins un bus reliant un ensemble d'au moins un port d'entrée comprenant ledit port émetteur à un ensemble d'au moins un port de sortie comprenant lesdits ports récepteurs, ladite étape d' arbitrage étant assurée par une matrice de commutation (60) constituée de points de couplage (lSO à 186) apte à transmettre des donnces élémentaires entre un port d'entrce et un port de sortie, et organisée en lignes et en colonnes, - chaque dite colonne (respectivement ligne) étant apte à gérer la réception de données élémentaires en provenance d' un port d' entrce associé à ladite colonne (respectivement ligne); et - chaque dite ligne (respectivement colonne) étant apte à gérer l'émission de données élémentaires à destination d'un port de sortie associé à ladite ligne respectivement colonne); de sorte qu'un seul point de couplage par ligne (respectivement colonne) puisse, à
un instant donné, permettre la transmission de données élémentaires.
53 2320921
14. Procédé selon l'une quelconque des revendications 1 à 13 caractérisé en ce
que chaque dite unité de données de protocole transmise comprend au moins un en-tête et en ce que ledit procédé comprend en outre: - au moins une étape d'analyse dudit en-tête; et/ou
S - au moins une étape de modification dudit en-tête.
15. Dispositif de commutation d'unités de données de protocole mettant en _uvre des moyens de commutation permettant d'interconnecter sélectivement un port émetteur et au moins un port récepteur sélectionné parmi au moins deux ports récepteurs, par l'intermédiaire d'au moins un bus interne (RxBus 80, TxBus 70), chacune des unités de donnces de protocole étant constituée d'au moins une donnée élémentaire, caractérisé en ce qu'il met en _uvre: - un moyen de synchronisation définissant des intervalles temporels, dits cycles de connexion, sur au moins un desdits bus internes (RxBus 80, TxBus 70); 1S - un moyen d'allocation d'au moins un desdits cycles de connexion à chacun desdits ports récepteurs sélectionnés; et un moyen d'écriture d'au moins une donnée élémentaire dans le ou les cycles de connexion alloués, de façon à permettre la diffusion desdites données
élémentaires auxdits ports récepteurs sélectionnés.
16. Dispositif selon la revendication 15 caractérisé en ce que ledit moyen d'écriture comprend un moyen de vérification déterminant si chacune desdites
donnces élémentaires a été reçue par chacun desdits ports récepteurs sélectionnés.
17. Dispositif selon la revendication 16 caractérisé en ce que ledit moyen d'écriture de donnée élémentaire dans chacun desdits cycles de connexion alloués est mis en oeuvre tant que ladite donnée élémentaire n'a pas été reçue par tous les
ports récepteurs.
18. Dispositif selon l'une quelconque des revendications 1S à 17 caractérisé en
ce que ledit moyen d' allocation comprend une étape d' association de chacun
desdits cycles de connexion à chacun desdits ports récepteurs sélectionnés.
54 2820921
19. Dispositif selon l'une quelconque des revendications 15 à 18, caractérisé
en ce que ledit moyen d'allocation comprend: - un moyen de détection (E7) d'un port émetteur requérant le transfert d'au moins une unité de données de protocole vers au moins un port récepteur sélectionné; - un moyen de vérificati on (E9) que le ou l es di ts ports récepteurs sélectionnés sont préts à recevoir ladite ou lesdites unités de données de protocole; et un moyen de validation (E10) d'au moins un cycle de connexion permettant l'écriture des données élémentaires de la ou desdites unités de donnces de protocole dans lesdits ports récepteurs sélectionné durant le ou lesdits cycles de
connexion validés, lorsque la vérification est positive.
20. Dispositif selon l'une quelconque des revendications 15 à 19, caractérisé
en ce qu'il met en _uvre au moins un premier bus d'entrce (RxBus 80) multiplexant lesdites données élémentaires provenant d'au moins deux ports émetteurs et/ou au moins un premier bus de sortie (TxBus 70) multiplexant
lesdites données élémentaires à destination d'au moins deux ports récepteurs.
21. Dispositif selon l'une quelconque des revendications 15 à 20, caractérisé
en ce que lesdits ports émetteurs (InPortO, InPortl, InPort2) et récepteurs (OutPortO, OutPortl, Outport2) sont organisés par paires ((InPortO, OutPortO), (InPortl,OutPortl), (InPort2,0utPort2))regroupant chacune un port émetteur et
un port récepteur, chaque paire étant associce à un lien distinct.
22. Dispositif selon l'une quelconque des revendications 15 à 21, caractérisé
en ce qu'il met en _uvre au moins un lien (104, 103, 101) connecté à des ports
émetteurs et/ou à des ports récepteurs.
23. Dispositif selon la revendication 22, caractérisé en ce que ledit lien appartient au groupe comprenant: - les liens IEEE 1355 (104) ou équivalent; et
- les bus externes (101, 103).
2820921
24. Dispositif selon l'une quelcouque des revendications 1S à 23, caractérisé
en ce que ledit dispositif est apte à commuter des données dont le débit est
supérieur ou égal à 100 Mbit/s.
25. Dispositif selon l'une quelconque des revendications 1S à 24 caractérisé en
S ce que ledit moyen d'écriture met en oeuvre une étape d'écriture de chaque donnée élémentaire de chacune desdites unités de donnces de protocole, et comprend lui-même: - un moyen d'acceptation (E3) par chacun desdits ports récepteurs sélectionné de l'écriture de ladite chaque donnée élémentaire à transmettre; et - un moyen de transmission (E14) de ladite chaque donnée élémentaire à
transmettre, vers chacun desdits ports récepteurs sélectionné.
26. Dispositif selon la revendication 25 caractérisé en ce que l'acceptation mise en _uvre par ledit moyen d'acceptation (E3) est conditionnée par un degré de remplissage d'une mémoire de réception (124, 125, 126, 25, 26, 27) associée
1S audit port récepteur sélectionné, pour chacun desdits ports récepteurs.
27. Dispositif selon la revendication 26 caractérisé en ce que ladite mémoire
comprend au moins une FIFO.
28. Dispositif selon l'une quelconque des revendications 1S à 27 caractérisé en
ce que ledit moyen d'écriture comprend au moins un moyen d'arbitrage d'au moins un bus reliant un ensemble d'au moins un port d'entrée comprenant ledit port émetteur à un ensemble d'au moins un port de sortie comprenant lesdits ports récepteurs, ledit moyen d' arbitrage mettant en oeuvre une matrice de commutation (60) constituée de points de couplage (lSO à 186) apte à transmettre des données élémentaires entre un port d'entrée et un port de sortie, et organisce en lignes et en colonnes, - chaque dite colonne (respectivement ligne) étant apte à gérer la réception de données élémentaires en provenance d' un port d' entrée associé à ladite colonne (respectivement ligne); et
56 2820921
- chaque dite ligne (respectivement colonne) étant apte à gérer l'émission de données élémentaires à destination d'un port de sortie associé à ladite ligne respectivement colonne); de sorte qu'un seul point de couplage par ligne (respectivement colonne) puisse, à un instant donné, permettre la transmission de données élémentaires.
29. Dispositif selon l'une quelconque des revendications 15 à 28 caractérisé en
ce que chaque dite unité de données de protocole transmise comprend au moins un en-tête et en ce que ledit dispositif comprend en outre: - au moins un moyen d'analyse dudit en-tête; et/ou
- au moins un moyen de modification dudit en-tête.
30. Dispositif selon l'une quelconque des revendications 15 à 29 caractérisé en
ce qu'il comprend en outre un moyen d'interfaçage (104), délivrant à un module de contrôle (107) et via un moyen de transmission de signaux d'horloges, des signaux d'horloge régénérés à partir de paquets reçus par ledit moyen
d'interfaçage.
31. Dispositif selon l'une quelconque des revendications 15 à 29 caractérisé en
ce qu'il comprend en outre un moyen d'interfaçage (104) transmettant et/ou recevant des informations via au plus deux bus de liaison (RxD144, TxDO 41) à destination et/ou en provenance d' au moins un des moyens appartenant au groupe comprenant ledit moyen de synchronisation, ledit moyen d'allocation et ledit
moyen d'écriture.
32. Dispositif selon la revendication 31 caractérisé en ce que les unités de données de protocole émises par au moins un port émetteur (InPortO, InPortl, InPort2) vers des FIFOs (121,122, 123) sont multiplexces sur un bus de liaison en
réception (RxD144).
33. Dispositif selon l'une quelconque des revendications 31 et 32 caractérisé
en ce que les unités de données de protocole reçues par au moins un port récepteur (OutPortO, OutPortl, Outport2) par l'intermédiaire de FIFOs (124,125, 126) sont
démultiplexées sur un bus de liaison en émission (TxDO 41).
34. Appareil de commutation caractérisé en ce qu'il comprend:
57 2820921
- au moins un dispositif de commutation (105) selon l'une quelconque des
revendications 15 à 33;
- et au moins un élément appartenant au groupe comprenant - les liens IEEE 1355 (104) ou équivalents; et - les bus externes (101, 103).
35. Appareil de commutation selon la revendication 34 caractérisé en ce qu'il
est relié à un appareil de traitement de données.
36. Application du procédé selon l'une quelconque des revendications 1 à 14 à
l'un au moins des domaines appartenant au groupe comprenant: - la commutation à haut débit; - les applications distribuées; - la transmission de donnces numériques; - la réception de donnces numériques; - les applications audio; - les réseaux d'entreprise; et
- la transmission d'images en temps réel.
37. Produit programme d'ordinateur caractérisé en ce que ledit programme comprend des séquences d'instructions adaptées à la mise en _uvre d'un procédé
selon l'une quelconque des revendications 1 à 14 lorsque ledit programme est
exécuté sur un ordinateur.
38. Produit programme d'ordinateur de commotation d'unités de données de protocole mettant en _uvre des moyens de commutation permettant d'interconnecter sélectivement un port émetteur et au moins un port récepteur sélectionné parmi au moins deux ports récepteurs, par l' intermédiaire d' au moins un bus interne, chacune des unités de donnces de protocole étant constituée d' au moins une donnée élémentaire, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur comprenant:
58 2320921
- des moyens de programmation lisibles par ordinateur pour effectuer une étape de synchronisation définissant des intervalles temporels, dits cycles de connexion, sur au moins un desdits bus internes; - des moyens de programmation lisibles par ordinateur pour effectuer une étape d' allocation d'au moins un desdits cycles de connexion à chacun desdits ports récepteurs sélectionnés et - des moyens de programmation lisibles par ordinateur pour effectuer une étape d'écriture d' au moins une donnée élémentaire dans le ou les cycles de connexion alloués, de façon à permettre la diffusion desdites données
FR0102037A 2001-02-14 2001-02-14 Dispositif et procede de transmission dans un commutateur Pending FR2820921A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR0102037A FR2820921A1 (fr) 2001-02-14 2001-02-14 Dispositif et procede de transmission dans un commutateur
US10/055,939 US7177307B2 (en) 2001-02-14 2002-01-28 Device and method for transmission in a switch
EP02364008A EP1249978B1 (fr) 2001-02-14 2002-02-12 Dispositif et procédé de transmission dans un commutateur
AT02364008T ATE544263T1 (de) 2001-02-14 2002-02-12 Vorrichtung und verfahren zur übertragung in einer vermittlungsstelle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0102037A FR2820921A1 (fr) 2001-02-14 2001-02-14 Dispositif et procede de transmission dans un commutateur

Publications (1)

Publication Number Publication Date
FR2820921A1 true FR2820921A1 (fr) 2002-08-16

Family

ID=8860030

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0102037A Pending FR2820921A1 (fr) 2001-02-14 2001-02-14 Dispositif et procede de transmission dans un commutateur

Country Status (4)

Country Link
US (1) US7177307B2 (fr)
EP (1) EP1249978B1 (fr)
AT (1) ATE544263T1 (fr)
FR (1) FR2820921A1 (fr)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2861245B1 (fr) * 2003-10-16 2006-05-05 Canon Europa Nv Procede de video surveillance, dispositif, systeme et programme d'ordinateur correspondant
DE602006005925D1 (de) 2005-06-03 2009-05-07 Koninkl Philips Electronics Nv Elektronische vorrichtung und verfahren zur kommunikationsressourcenzuteilung
CN101449256B (zh) 2006-04-12 2013-12-25 索夫特机械公司 对载明并行和依赖运算的指令矩阵进行处理的装置和方法
CN101627365B (zh) 2006-11-14 2017-03-29 索夫特机械公司 多线程架构
US7830905B2 (en) * 2007-04-20 2010-11-09 Cray Inc. Speculative forwarding in a high-radix router
FR2922066A1 (fr) * 2007-10-05 2009-04-10 Canon Kk Procede de gestion de la bande passante dans un reseau de communication, produit programme d'ordinateur, moyen de stockage et dispositifs correspondants
FR2926424A1 (fr) * 2008-01-10 2009-07-17 Canon Kk Procede d'acces a un medium dans un reseau de communication synchrone par un noeud emetteur, produit programme d'ordinateur, moyen de stockage et noeud emetteur.
FR2926937A1 (fr) * 2008-01-24 2009-07-31 Canon Kk Procedes de synchronisation d'horloges applicatives dans un reseau de communication synchrone, dispositifs d'emission et de reception, produit programme d'ordinateur et moyen de stockage correspondants.
US8369354B2 (en) * 2009-01-07 2013-02-05 Canon Kabushiki Kaisha Method for synchronizing a transmission of applications data frames, corresponding sender and receiver devices and storage means
FR2951340B1 (fr) * 2009-10-14 2012-08-10 Canon Kk Procede de gestion d'acces a un reseau de communication resistant aux masquages, produit programme d'ordinateur et dispositifs correspondants.
CN103250131B (zh) 2010-09-17 2015-12-16 索夫特机械公司 包括用于早期远分支预测的影子缓存的单周期多分支预测
CN103562866B (zh) 2011-03-25 2018-03-30 英特尔公司 用于通过使用由可分割引擎实例化的虚拟核来支持代码块执行的寄存器文件段
KR101638225B1 (ko) 2011-03-25 2016-07-08 소프트 머신즈, 인크. 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 명령어 시퀀스 코드 블록의 실행
KR101966712B1 (ko) 2011-03-25 2019-04-09 인텔 코포레이션 분할가능한 엔진에 의해 인스턴스화된 가상 코어를 이용한 코드 블록의 실행을 지원하는 메모리 프래그먼트
CN107729267B (zh) 2011-05-20 2022-01-25 英特尔公司 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
TWI548994B (zh) 2011-05-20 2016-09-11 軟體機器公司 以複數個引擎支援指令序列的執行之互連結構
EP2783281B1 (fr) 2011-11-22 2020-05-13 Intel Corporation Dispositif d'optimisation accélérée de codes pour un microprocesseur
IN2014CN03678A (fr) 2011-11-22 2015-09-25 Soft Machines Inc
US9891924B2 (en) 2013-03-15 2018-02-13 Intel Corporation Method for implementing a reduced size register view data structure in a microprocessor
WO2014150991A1 (fr) 2013-03-15 2014-09-25 Soft Machines, Inc. Procédé de mise en œuvre de structure de données de vue de registre à taille réduite dans un microprocesseur
US10275255B2 (en) 2013-03-15 2019-04-30 Intel Corporation Method for dependency broadcasting through a source organized source view data structure
KR102083390B1 (ko) 2013-03-15 2020-03-02 인텔 코포레이션 네이티브 분산된 플래그 아키텍처를 이용하여 게스트 중앙 플래그 아키텍처를 에뮬레이션하는 방법
US10140138B2 (en) 2013-03-15 2018-11-27 Intel Corporation Methods, systems and apparatus for supporting wide and efficient front-end operation with guest-architecture emulation
US9811342B2 (en) 2013-03-15 2017-11-07 Intel Corporation Method for performing dual dispatch of blocks and half blocks
KR101708591B1 (ko) 2013-03-15 2017-02-20 소프트 머신즈, 인크. 블록들로 그룹화된 멀티스레드 명령어들을 실행하기 위한 방법
WO2014150971A1 (fr) 2013-03-15 2014-09-25 Soft Machines, Inc. Procédé de diffusion de dépendances via une structure de données de vue de sources organisée par blocs
WO2014150806A1 (fr) 2013-03-15 2014-09-25 Soft Machines, Inc. Procédé d'alimentation de structure de donnees de vues de registre au moyen d'instantanés de modèle de registre
US9886279B2 (en) 2013-03-15 2018-02-06 Intel Corporation Method for populating and instruction view data structure by using register template snapshots
US9569216B2 (en) 2013-03-15 2017-02-14 Soft Machines, Inc. Method for populating a source view data structure by using register template snapshots
US9904625B2 (en) 2013-03-15 2018-02-27 Intel Corporation Methods, systems and apparatus for predicting the way of a set associative cache
CN104539503A (zh) * 2014-12-11 2015-04-22 中国航空工业集团公司第六三一研究所 一种基于1394总线自主转发实现多余度通道数据交叉传输的方法
US10944407B1 (en) 2020-06-03 2021-03-09 Stmicroelectronics International N.V. Source synchronous interface with selectable delay on source and delay on destination control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0511834A2 (fr) * 1991-05-01 1992-11-04 NCR International, Inc. Réseau d'interconnexion à plusieurs étages pour système de traitement
WO1995008887A1 (fr) * 1993-09-20 1995-03-30 Transwitch Corporation Systeme asynchrone de transfert de donnees et de regulation de trafic de source
US5742597A (en) * 1996-03-14 1998-04-21 Motorola, Inc. Method and device for multipoint switching and arbitration in output-request packet switch
EP0868054A2 (fr) * 1997-03-28 1998-09-30 Xerox Corporation Commutateur à coordonnées avec auto-arbitrage

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4542507A (en) * 1983-04-29 1985-09-17 Honeywell Inc. Apparatus for switch path verification
US5088091A (en) * 1989-06-22 1992-02-11 Digital Equipment Corporation High-speed mesh connected local area network
US5422881A (en) * 1989-06-30 1995-06-06 Inmos Limited Message encoding
US5526344A (en) * 1994-04-15 1996-06-11 Dsc Communications Corporation Multi-service switch for a telecommunications network
US5870538A (en) * 1995-07-19 1999-02-09 Fujitsu Network Communications, Inc. Switch fabric controller comparator system and method
US6130891A (en) * 1997-02-14 2000-10-10 Advanced Micro Devices, Inc. Integrated multiport switch having management information base (MIB) interface temporary storage
JP3002726B1 (ja) * 1998-07-31 2000-01-24 東京大学長 可変速度ディジタル交換方式

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0511834A2 (fr) * 1991-05-01 1992-11-04 NCR International, Inc. Réseau d'interconnexion à plusieurs étages pour système de traitement
WO1995008887A1 (fr) * 1993-09-20 1995-03-30 Transwitch Corporation Systeme asynchrone de transfert de donnees et de regulation de trafic de source
US5742597A (en) * 1996-03-14 1998-04-21 Motorola, Inc. Method and device for multipoint switching and arbitration in output-request packet switch
EP0868054A2 (fr) * 1997-03-28 1998-09-30 Xerox Corporation Commutateur à coordonnées avec auto-arbitrage

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
160 GBIT/S HIGH SPEED ATM SWITCHING SYSTEM: "160 GBIT/S HIGH SPEED ATM SWITCHING SYSTEM", NTT REVIEW, TELECOMMUNICATIONS ASSOCIATION, TOKYO, JP, vol. 9, no. 2, 1 March 1997 (1997-03-01), pages 28 - 35, XP000687064 *

Also Published As

Publication number Publication date
US7177307B2 (en) 2007-02-13
EP1249978B1 (fr) 2012-02-01
EP1249978A1 (fr) 2002-10-16
ATE544263T1 (de) 2012-02-15
US20020126657A1 (en) 2002-09-12

Similar Documents

Publication Publication Date Title
FR2820921A1 (fr) Dispositif et procede de transmission dans un commutateur
EP1507374B1 (fr) Procédé et dispositif de gestion de priorité lors de la transmission d'un message.
EP0858193B1 (fr) Procédé et dispositif d'allocation de ressources dans un réseau numerique de transmission par paquets
CN102047618B (zh) 网络处理器单元和用于网络处理器单元的方法
FR2883116A1 (fr) Architecture de communication globalement asynchrone pour systeme sur puce.
EP1701274A1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
FR2724277A1 (fr) Dispositif de mise en forme de trafic et appareil de communication par paquets.
EP0293314A1 (fr) Méthode et système de contrôle de flux de paquets
FR2824434A1 (fr) Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
EP1788760A1 (fr) Systéme et procédé de routage statique de flux de paquets de données dans un réseau d'interconnexion
EP0451513B1 (fr) Elément de commutation de type ATM à plusieurs modes de fonctionnement et réseau de commutation le comprenant
EP0715437A1 (fr) Procédé d'acheminement de cellules dans un réseau ATM
FR2939992A1 (fr) Procede d'equilibrage de la latence dans un arbre de communication, dispositif, produit programme d'ordinateur et moyen de stockage correspondants
EP1845456B1 (fr) Système d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication
FR2998125A1 (fr) Procede de transmission de paquets de donnees entre deux modules de communication ainsi que module emetteur et module recepteur
FR2649269A1 (fr) Systemes complementaires de communication en mode sans-connexion pour reseau temporel asynchrone
EP0587468A2 (fr) Réseau de connexion photonique permettant une diffusion
FR2774242A1 (fr) Systeme et procede de commutation asynchrone de cellules composites, et modules de port d'entree et de port de sortie correspondants
EP0689319B1 (fr) Dispositif d'acheminement de cellules de données ATM
FR2827995A1 (fr) Procede et dispositif de gestion de memoire
WO2020109733A2 (fr) Gestion des données pour le stockage de trames de données dans la mémoire d'un système de transmission de données
WO2014111589A1 (fr) Interface reseau d'un soc comportant un controleur de communication ameliore
FR2848056A1 (fr) Procedes d'insertion et de traitement d'informations pour la synchronisation d'un noeud destinataire a un flux de donnees traversant un reseau de base d'un reseau heterogene, et noeuds correspondants
FR2826535A1 (fr) Procede de diffusion de donnees utiles au sein d'un reseau commute, base sur l'utilisation de paquets de diffusion dynamique