Brevet FR2813408A1 — publié le 20020301

La présente invention concerne la gestion des transmissions de données dans un réseau de communication en fonction du type de données à transmettre. Les réseaux de communication considérés ici sont du type comprenant, d'une part, un sous-réseau constitué de noeuds de communication interconnectés, chacun de ces noeuds comprenant au moins un processeur et au moins un adaptateur réseau, et d'autre part des hôtes ( hosts en anglais) fonctionnant comme sources et comme récepteurs de données, certains noeuds étant reliés à certains hôtes par l'entremise d'une interface appropriée. Un hôte peut être connecté à l'interface correspondante soit directement, soit par l'entremise d'un bus de communication ; dans le premier cas, on peut même incorporer le noeud dans cet hôte de façon à constituer un seul appareil de traitement de données. Ainsi, d'une part, le noeud achemine vers l'adaptateur réseau des données provenant d'un hôte relié à l'interface externe associée à ce noeud, pour les transmettre, à travers le sous-réseau, à un ou plusieurs autres hôtes ; d'autre part, le noeud reçoit, à travers son adaptateur réseau, des données provenant du sous-réseau qui sont acheminées vers l'hôte ou les hôtes destinataires reliés à ladite interface. Or chaque transfert de données au sein du noeud est, pour le processeur, une opération coûteuse en temps de traitement. II est donc souhaitable de pouvoir décharger le processeur de manière à lui confier uniquement les tâches qui ne peuvent être accomplies que par lui. Cette question concerne particulièrement la fonction consistant, en présence de données à transmettre, à déclencher le transfert de ces données au sein du noeud. On connaît d'ailleurs, d'après les documents US-5,299,313 et US- 5,822,612, des réseaux de communication dans lesquels les transferts de données au sein de chaque noeud du réseau sont déclenchés par l'adaptateur et subis par le processeur. On dit dans ce cas que l'adaptateur réseau est maître du transfert , et que le processeur est esclave du transfert . Les réseaux de communications modernes ont souvent pour tâche de transmettre des données de nature différente comme de la vidéo, du son, des photos, des fichiers de texte, et ainsi de suite. La transmission de ces données est soumise à des exigences variables selon le type de données considéré. En effet, la vidéo par exemple demande un transfert de données continu à un débit particulier ; c'est encore plus vrai pour le son : on dit alors qu'on a affaire à des données isochrones . En revanche, il n'est pas nécessaire de transmettre les données d'un fichier de texte de manière continue ou même régulière : on dit alors qu'on a affaire à des données asynchrones ; comme autres exemples de données asynchrones, on peut citer les commandes de mise en marche ou d'arrêt de divers appareils, et aussi les données alimentant les imprimantes. Les dispositifs capables de manipuler toutes ces données, appelés aujourd'hui communément dispositifs multimédias, doivent donc pouvoir transmettre des données asynchrones aussi bien que des données isochrones, et de plus pouvoir transmettre des données isochrones cadencées à des débits variables. Or les dispositifs connus mentionnés ci-dessus sont déficients à cet égard. En effet, les réseaux selon US-5,299,313, qui sont conçus pour des liaisons du type Ethernet, ne sont pas capables de véhiculer des données isochrones. Quant aux réseaux selon US-5,822,612, dans lesquels les données sont transférées selon la norme ATM (acronyme de Asynchronous Transfer Mode ), ils ne sont pas capables de véhiculer des données asynchrones ; par ailleurs, la norme ATM fixe le débit de transmission des paquets de données isochrones. Ces dispositifs connus sont donc manifestement inadéquats pour des applications multimédias. On ne connaît pas aujourd'hui de réseaux de communication dans lesquels il est possible, d'une part, de transmettre des données asynchrones aussi bien que des données isochrones de débit arbitraire, et d'autre part, de dispenser les processeurs, au moins dans certains cas, du rôle d'initiateurs des transferts de données au sein des noeuds du réseau. Afin de remédier à ces inconvénients, l'invention divulgue un procédé de transfert de données au sein d'un noeud de communication destiné à faire partie d'un réseau comprenant, d'une part, un sous-réseau constitué de noeuds de communication interconnectés, et d'autre part plusieurs hôtes entre lesquels ledit sous-réseau est apte à transmettre au moins deux types de données, ledit noeud comportant au moins un processeur, un adaptateur réseau destiné à être connecté audit sous-réseau et une interface externe destinée à être reliée à un ou plusieurs desdits hôtes, ledit procédé étant remarquable en ce que, pour le déclenchement dudit transfert desdites données le long d'un trajet allant soit dudit adaptateur réseau à ladite interface externe, soit en sens inverse, il est prévu - pour un premier desdits types de données, que ce déclenchement est effectué par ledit processeur, et - pour un deuxième desdits types de données, que ce déclenchement est effectué, pour une partie au moins dudit trajet, par ledit adaptateur réseau. Corrélativement, l'invention concerne un noeud de communication destiné à faire partie d'un réseau comprenant, d'une part, un sous-réseau constitué de nceuds de communication interconnectés, et d'autre part plusieurs hôtes entre lesquels ledit sous-réseau est apte à transmettre au moins deux types de données, ledit noeud comportant au moins un processeur, un adaptateur réseau destiné à être connecté audit sous-réseau et une interface externe destinée à être reliée à un ou plusieurs desdits hôtes, ledit noeud étant remarquable en ce que - ledit processeur est adapté à déclencher le transfert d'un premier desdits types de données le long d'un trajet allant soit dudit adaptateur réseau à ladite interface externe, soit en sens inverse, et - ledit adaptateur réseau est adapté à déclencher le transfert d'un deuxième desdits types de données le long d'une partie au moins dudit trajet. Ainsi le procédé et le noeud selon l'invention permettent à un réseau de communication de traiter différents types de données tout en minimisant la charge de certains au moins des processeurs du réseau lorsque l'intervention de ceux-ci n'est pas indispensable. Selon une caractéristique particulière concernant ledit premier type de données, ledit trajet allant de l'adaptateur réseau à l'interface externe du noeud, ou en sens inverse, ne passe pas par la mémoire associée au processeur, mais à l'extérieur de cette mémoire. Grâce à cette disposition, on améliore la continuité du transfert de ces données, et on n'occupe pas d'espace dans la mémoire du processeur pour effectuer ce transfert. Selon une autre caractéristique particulière, ledit premier type de données concerne les données isochrones et ledit deuxième type de données concerne les données asynchrones. Les caractéristiques succinctement exposées ci-dessus sont notamment avantageuses dans le cas d'un réseau de communication conforme à des demandes antérieures déposées au nom de CANON, et dans lequel les hôtes utilisent des données obéissant à la norme IEEE-1394 tandis que le sous-réseau obéit à la norme IEEE-1355. En effet, même si l'on souhaite, comme on l'a expliqué, soulager autant que possible le processeur dans ses tâches, le fait de rendre, dans un noeud d'un tel réseau, le processeur esclave du transfert pour tous les types de données présenterait certains inconvénients en ce qui concerne le transfert des données isochrones, comme il sera expliqué dans la description ci-dessous. II est donc préférable d'agencer un tel réseau de manière à ce que, dans chaque noeud relié à un ou plusieurs hôtes, le processeur soit maître des transferts de données isochrones et l'adaptateur réseau soit maître des transferts de données asynchrones. La présente invention vise également - un réseau de communication comportant au moins un noeud de communication tel que décrit succinctement ci-dessus, - un appareil de traitement de données comportant un noeud de communication tel que décrit succinctement ci-dessus, - un moyen de stockage de données lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en eeuvre de l'un des procédés succinctement exposés ci- dessus, - un moyen de stockage de données amovibles, partiellement ou totalement, lisible par un ordinateur et/ou un microprocesseur conservant des instructions d'un programme informatique, permettant la mise en oeuvre de l'un des procédés succinctement exposés ci-dessus, et - un programme d'ordinateur, contenant des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre l'un des procédés succinctement exposés ci-dessus. Les avantages offerts par ces réseaux de communication, appareils de traitement de données, moyens de stockage de données et programmes d'ordinateur sont essentiellement les mêmes que ceux offerts par les procédés et noeuds selon l'invention. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels - la figure 1 représente un réseau de communication commuté assurant l'interconnexion de périphériques de type multimedia, - la figure 2 représente de façon schématique la structure d'un noeud de communication faisant partie du réseau de la figure 1, - la figure 3 représente les étapes principales d'un procédé selon l'invention servant à transférer des données isochrones depuis un canal à la norme IEEE-1394 vers un canal à la norme IEEE-1355, - la figure 4 représente les étapes principales d'un procédé selon l'invention servant à transférer des données isochrones depuis un canal à la norme IEEE-1355 vers un canal à la norme IEEE-1394, - la figure 5 représente les étapes principales d'un procédé selon l'invention servant à transférer des données asynchrones depuis un canal à la norme IEEE-1394 vers un canal à la norme IEEE-1355, et - la figure 6 représente les étapes principales d'un procédé selon l'invention servant à transférer des données asynchrones depuis un canal à la norme IEEE-1355 vers un canal à la norme IEEE-1394. Réseau mis en oeuvre dans le mode de réalisation préféré Le réseau de communication que l'on va décrire maintenant a été divulgué dans des demandes antérieures déposées au nom de CANON. La figure 1 représente un réseau de communication 100 comportant au moins deux bus de communication (quatre en l'espèce, les bus 8, 10, 11, 13) interconnectés, conformes à la norme IEEE-1394. Cette norme concerne des bus de communication série de performances élevées, véhiculant des données de types isochrone et asynchrone par paquets (chaque paquet de données ainsi véhiculé comportant dans son en-tête un marqueur indiquant de quel type il s'agit) à des vitesses comprises entre 100 et 200 Mbps, voire de l'ordre de 400 Mbps (1 Mbps = 22 bits par seconde). Chaque bus de communication série relie différents appareils de traitement de données entre eux tels que, par exemple, des imprimantes 12, serveurs, ordinateurs 7, scanners, décodeurs, téléviseurs, magnétoscopes, enceintes acoustiques, appareils photographiques numériques, caméscopes 9, écrans haute définition 14, et ainsi de suite. Le réseau de communication 100 comporte également un sous- réseau 1 à commutation de paquets fonctionnant en mode circuits virtuels , conforme à la norme IEEE-1355. Cette norme permet la transmission de paquets de taille arbitraire contenant des données asynchrones ou des données isochrones, et de plus n'impose aucune contrainte sur la cadence des données isochrones. En outre, elle comporte un protocole fiable mettant en oeuvre un routage à la source et un contrôle de flux au niveau des liens. Les données émises par un premier bus peuvent atteindre un deuxième bus en traversant le sous-réseau 1, qui comprend des noeuds de communication (2 à 6) reliés par des lignes de transmission (15 à 19). Ainsi, quand un utilisateur installe un sous-réseau à commutation de paquets de données servant d'intermédiaire entre deux bus de communication qui véhiculent des données isochrones et asynchrones, il fixe la topologie du réseau de communication tout en évitant les inconvénients liés au choix de la topologie, et donc à l'étude des besoins multimédias, des performances des différents appareils de traitement de données ou périphériques , de leur localisation, et ainsi de suite. En outre, dans un réseau commuté, les temps de propagation étant moins critiques que sur un bus, il est possible d'augmenter la longueur des câbles indépendamment du temps de propagation, ce qui permet avantageusement d'éloigner les bus de communication les uns des autres. Pour assurer la transmission de données isochrones et asynchrones d'un premier bus de communication vers un deuxième bus de communication par l'intermédiaire d'un sous-réseau commuté, il faut assurer la transmission, d'une part, du premier bus vers le sous-réseau commuté et, d'autre part, du sous-réseau commuté vers le deuxième bus. La structure des noeuds de ce sous-réseau 1 divulguée dans les demandes susmentionnées a été conçue de manière à ce que lesdits noeuds puissent remplir efficacement ces tâches. La figure 2 représente la structure partagée par au moins certains noeuds de communication de la figure 1, par exemple les noeuds portant les numéros de référence 2, 3, 4 et 5, les autres noeuds tels que 6 pouvant éventuellement posséder une structure différente. Pour simplifier la description, on ne fera explicitement référence qu'au n#ud 2. A l'extrémité du n#ud 2 connectée au reste du sous-réseau 1, on trouve un commutateur 20, par exemple un commutateur commercialisé par la société SGS-Thomson sous la référence STC-104. Ce commutateur 20 est muni d'un adaptateur de bus 82 qui permet de connecter le commutateur 20 à un bus 36, ledit adaptateur de bus 82 pouvant par exemple être un adaptateur commercialisé également par la société SGS-Thomson sous la référence STC- 101. L'adaptateur de bus 82 a notamment pour rôle de transformer en données sous forme parallèle les données sous forme série provenant du reste du sous- réseau 1 pour les transmettre sur le bus 36 et, inversement, de transmettre les données véhiculées sur le bus 36 vers le commutateur 20. L'adaptateur de bus 82 permet aussi d'effectuer un contrôle de flux au sein du sous-réseau 1. On notera au passage que chaque bus de communication dont il est question dans la présente description est constitué d'un ensemble de lignes électriques qui véhiculent des données, des adresses, des signaux d'interruption et des signaux de contrôle. Le n#ud de communication 2 comporte également une mémoire à double port 40 qui est par exemple réalisée sous la forme d'une mémoire de type DPRAM (initiales des mots anglais "Dual Port Random Access Memory', ce qui signifie "Mémoire volatile à double port "). La mémoire à double port 40 comporte de préférence une pluralité de zones mémoires (connues en anglais sous le terme "buffers") gérées comme des mémoires individuelles de type FIFO (initiales de "First-in First-out", mots anglais signifiant "Premier entré Premier sorti"). Avantageusement, le fait d'avoir une mémoire à double port permet de lire et d'écrire en même temps dans celle-ci. La mémoire à double port 40 possède de préférence une capacité de stockage suffisamment élevée par rapport à celle du commutateur 20 pour pouvoir contenir, à un instant donné, différents paquets, appartenant éventuellement à différents messages, Le neeud de communication 2 comporte également un contrôleur logique 42 servant à la gestion du stockage de paquets de données dans la mémoire à double port 40. Le contrôleur logique 42 est lui-même équipé d'une mémoire vive 81 (par exemple de type RAM ) et d'une mémoire morte 86 (par exemple de type ROM ). Le contrôleur logique 42 assure des fonctions de lecture et d'écriture dans le commutateur 20 et dans la mémoire à double port 40. Le contrôleur logique 42 peut être réalisé sous la forme d'un composant programmable de type FPGA (initiales des mots anglais "Field Programmable Gate Array', signifiant "Matrice de Portes Programmable"). Un tel composant peut être obtenu auprès de la société XILINX. Le noeud de communication 2 comporte également un adaptateur de bus 50 qui est connecté, d'une part, à la mémoire à double port 40 ainsi qu'au contrôleur logique 42, et, d'autre part à un bus PCI 84. De tels adaptateurs de bus sont vendus par exemple sous la marque AMCC. L'adaptateur réseau mentionné dans l'introduction est, dans ce mode de réalisation, essentiellement constitué du commutateur 20, de l'adaptateur de bus 82, du bus 36, de la mémoire à double port 40, du contrôleur logique 42 et de sa mémoire 81, et de l'adaptateur de bus 50 ; cet adaptateur réseau (également appelé carte IEEE-1355 ) est indiqué globalement sur la figure 2 par le numéro de référence 85. Le bus 11 à la norme IEEE-1394 est connecté au noeud de communication 2 au niveau du bus 84 par l'entremise d'une interface externe 83 (également appelée carte IEEE-1394 ). Le noeud de communication 2 comporte également un adaptateur de bus 52, qui sert de relais entre le bus PCI 84 et un autre bus de communication 60 pouvant être lui aussi de type PCI. La société INTEL vend un tel adaptateur de bus 52 sous la référence 82371 . Le bus de communication 60 relie entre eux différents équipements. D'une part, est connecté au bus 60 une unité centrale de traitement ( CPU ) ou processeur 62 auquel est associé une mémoire 64. Ce processeur 62 peut échanger des données avec le bus PCI 84 par l'intermédiaire d'un contrôleur de bus 53, tel que celui vendu sous la référence 82430 par la société INTEL, La mémoire 64 est par exemple constituée par une mémoire vive de type RAM . Une fonction importante du processeur 62 consiste, sur la base des normes IEEE-1355 et IEEE-1394, à reformater chaque en-tête de paquet sortant du sous-réseau 1 ou devant y entrer. D'autre part, dans l'exemple de réalisation représenté sur la figure 2, le noeud de communication 2 comporte également, connectés au bus 60, un certain nombre d'appareils servant à la gestion du noeud : un disque dur 66, un moniteur 70, un clavier 72, un lecteur de disquettes 74 contenant une disquette 76, et un lecteur de CD-ROM 78 contenant un CD-ROM 80. En fonctionnement, le contrôleur logique 42 échange des flux de données et des signaux de contrôle avec le commutateur 20. Les signaux de contrôle permettent au commutateur 20 de signaler la présence d'un paquet de données au contrôleur logique 42, et permettent à ce contrôleur logique, d'une part, de contrôler la lecture et l'analyse de l'en-tête de paquet, et d'autre part, de contrôler le transfert des données depuis le commutateur 20 jusqu'à la mémoire à double port 40. Dans les dispositifs connus décrits en introduction, chaque adaptateur réseau comporte une unité de mise en ordre des paquets de type SAR (initiales des mots anglais Segmentation and Reassembling signifiant Segmentation et Réassemblage ) qui déclenche les transferts de données en mode d'accès direct (en anglais "Direct Memory Access" ou DMA) dans la mémoire du processeur, ce qui permet de munir l'adaptateur réseau d'une mémoire de taille réduite. De même, dans le mode de réalisation préféré de la présente invention, le contrôleur logique 42 utilise le mode DMA pour les transferts de données, et échange les différents signaux de données et de contrôle qui sont nécessaires à cet effet; plus précisément, le contrôleur logique 42 échange des flux de données et des signaux de contrôle avec l'adaptateur de bus 50. Pour les transferts de données à partir de la mémoire à double port 40, les données peuvent - soit aller jusqu'à la mémoire 64 du processeur 62 en passant par le contrôleur de bus 53, - soit aller jusqu'à ladite interface externe 83 en passant par le bus PCI 84. On utilise les mêmes trajets pour les transferts en sens inverse. A la mise en route du réseau, - le processeur copie, à partir du disque dur 66, de la disquette 76 ou du CD-ROM 80, et dans sa mémoire 64, les instructions concernant les algorithmes qu'il est chargé d'exécuter, - le processeur 62 procède à la configuration de la mémoire à double port 40 et de la mémoire vive 81 associées au contrôleur logique 42, et - le contrôleur logique 42 se configure lui-même en copiant, à partir de la mémoire morte 86, les instructions concernant les algorithmes qu'il est chargé d'exécuter. Description du mode de réalisation préféré L'inventeur, cherchant à optimiser le transfert des données isochrones dans le réseau décrit ci-dessus, a découvert qu'il est préférable que ces données passent de l'interface 83 à l'adaptateur réseau 85 (ou en sens inverse), directement, c'est à dire sans passer par la mémoire 64 du processeur. Mais, parallèlement, l'inventeur a constaté que, du fait que l'interface 83 et l'adaptateur réseau 85 sont reliés par l'intermédiaire du bus PCI 84, l'adaptateur réseau 85 n'a pas, contrairement au processeur 62, la capacité d'échanger des signaux d'interruption avec l'interface 83. II en résulte que l'adaptateur réseau 85 ne peut déclencher un tel transfert. On doit donc se résoudre, pour assurer un transfert optimal des données isochrones, à en laisser la maîtrise au processeur 62. En revanche, les données asynchrones sont, comme on l'a expliqué, moins exigeantes que les données isochrones en ce qui concerne le débit de transmission, et il est donc acceptable de faire transiter les données asynchrones par la mémoire 64 du processeur. Cette étape de transit ne pose pas de problèmes de signalisation car le processeur 62 est capable d'échanger des signaux d'interruption aussi bien avec l'adaptateur réseau 85 qu'avec l'interface 83. L'invention prévoit donc que le processeur 62 sera esclave du transfert des données asynchrones, que ce soit de la mémoire 64 du processeur vers l'adaptateur réseau 85, ou en sens inverse. Autrement dit, ce que l'on a appelé ci-dessus le premier type de données concerne, dans ce mode de réalisation, les données isochrones, et le deuxième type concerne les données asynchrones. On va maintenant décrire en plus grand détail comment on organise les divers transferts de données au sein des noeuds selon l'invention, par exemple les noeuds 2, 3 et 4, les autres noeuds tels que 5 pouvant éventuellement fonctionner de manière différente. Pour simplifier la description, on continuera à faire explicitement référence uniquement au noeud portant le numéro 2. En l'absence de signaux d'interruption indiquant la présence de données à transférer, on dira que le noeud 2 est en attente . La figure 3 est un organigramme représentant les étapes principales d'un procédé selon l'invention servant à transférer des données isochrones depuis un appareil ou un bus de communication à la norme IEEE- 1394 vers le sous-réseau 1. A l'étape F1, l'un de ces appareils envoie un paquet de données à l'interface 83 à laquelle il est connecté, et cette interface 83, ayant reçu ce paquet, en notifie le processeur 62. Lors de l'étape F2, le processeur 62 extrait l'en-tête de ce paquet et y lit si le paquet contient des données isochrones ou des données asynchrones. S'il s'agit de données asynchrones, on met en oeuvre les étapes décrites ci-dessous en référence à la figure 5, en commençant par l'étape E1. S'il s'agit de données isochrones, le processeur 62 lit, dans ledit en-tête de paquet, la taille du paquet à l'étape F3. La norme IEEE-1394 prévoit que l'on attribue à chaque flux de données issu d'un hôte un numéro de canal virtuel (CV) identifiant tous les paquets appartenant à ce flux (jusqu'à l'arrêt du flux). A l'étape F4, le processeur 62 lit dans l'en-tête de paquet le numéro du canal isochrone auquel appartient ce paquet. A l'aide de ce numéro de canal, il détermine, à l'étape F5, à quelle adresse il va envoyer ces données dans la mémoire à double port 40. A l'étape F6, conformément à l'invention, le processeur 62 déclenche le transfert de ces données isochrones, en programmant le contrôleur DMA de l'interface 83, en indiquant notamment la taille de paquet obtenue à l'étape F3. Le trajet suivi par ces données part de l'interface 83 et aboutit à ladite adresse dans la mémoire 40, en passant par le bus PCI 84 et l'adaptateur de bus 50. On vérifie ainsi que, comme expliqué ci-dessus, ledit trajet passe bien à l'extérieur de la mémoire 64 du processeur. A la fin du transfert (étape F7), le processeur 62 reçoit un signal d'interruption et se remet en position d'attente. La figure 4 est un organigramme représentant les étapes principales d'un procédé selon l'invention servant à transférer des données isochrones depuis le sous-réseau 1 vers un appareil ou un bus de communication à la norme IEEE-1394. La norme IEEE-1394 prévoit que les données sont transmises au sein de cycles ayant une période de 125 #ts matérialisés par un signal d'horloge ; notamment, un hôte émet ou reçoit au plus un paquet isochrone par cycle. A l'étape S1, l'interface 83 envoie au processeur 62 un signal d'interruption correspondant audit signal d'horloge. A l'étape S2, le processeur interroge une table de consultation pour savoir si le sous-réseau 1 souhaite transmettre des paquets de données isochrones vers des hâtes rattachés au noeud 2 ; en effet, pour chaque tel paquet, ladite table affiche l'ouverture d'une connexion. S'il n'en existe pas à ce moment, le processeur 62 se remet en position d'attente. Si le processeur 62 trouve une connexion ouverte dans ladite table, il lui associe, à l'étape S3, une adresse dans la mémoire à double port 40, et le processeur 62 cherche à lire à cette adresse un en-tête de paquet. S'il s'avère en fait qu'aucun paquet n'est arrivé à cette adresse, l'on revient à l'étape S2. Si le paquet est bien présent, le processeur 62, à l'étape S4, lit dans ledit en-tête la taille du paquet et son numéro de canal virtuel. A l'étape S5, le processeur 62 prévient l'interface 83 qu'elle va recevoir un paquet de données sur le canal de transmission isochrone déterminé à l'étape S4. A l'étape S6, conformément à l'invention, le processeur 62 déclenche le transfert de ces données isochrones, en programmant le contrôleur DMA de l'interface 83, en indiquant notamment la taille de paquet obtenue à l'étape S4. Le trajet suivi par ces données part de l'adresse dans la mémoire 40 qui a été déterminée à l'étape S3 et aboutit à l'interface 83, en passant par l'adaptateur de bus 50 et le bus PCI 84. On vérifie ainsi à nouveau que ledit trajet passe bien à l'extérieur de la mémoire 64 du processeur. Une fois le transfert terminé (ou abandonné si le processus d'accès ne trouve pas de données de message dans la mémoire 40), à l'étape S7, on revient à l'étape S2. Comme déjà indiqué, le procédé s'achève, autrement dit le processeur 62 se remet en position d'attente, lorsqu'il ne trouve plus de connexion isochrone ouverte. La figure 5 est un organigramme représentant les étapes principales d'un procédé selon l'invention servant à transférer des données asynchrones depuis un appareil ou un bus de communication à la norme IEEE- 1394 vers le sous-réseau 1. Les étapes F1 et F2 ont déjà été décrites en référence à la figure 3. A l'étape E1, le processeur 62 transfère un paquet de données asynchrones de l'interface 83 vers sa mémoire 64, et il en informe l'adaptateur réseau 85, en inscrivant l'adresse et la taille du message dans la mémoire vive 81 du contrôleur logique 42. Les étapes suivantes E2 à E8 sont alors dirigées par le contrôleur logique 42. A l'étape E2, le commutateur 20 cherche un canal virtuel actif dans une liste prévue à cet effet. Dès qu'un tel canal a été trouvé, le contrôleur logique 42 lit dans sa mémoire vive 81, à l'étape E3, la taille dudit paquet de données asynchrones et l'adresse dans la mémoire 64 de ce paquet. A l'étape E4, le contrôleur logique 42 lit la taille de l'espace disponible dans la mémoire à double port 40, en vue d'y loger lesdites données. Si cette taille est nulle, on revient à l'étape E2, sinon on passe à l'étape E5. Lors de cette étape E5, on calcule la taille des données qui vont être transférées. En effet, si la taille disponible dans la mémoire 40 (déterminée à l'étape E4) est supérieure ou égale à la taille du paquet, on pourra transférer ce dernier en entier. Sinon, on ne pourra transférer qu'une quantité de données de taille égale à la taille disponible dans la mémoire 40. A l'étape E6, conformément à l'invention, l'adaptateur réseau 85 déclenche le transfert, vers sa mémoire 40 et à partir de l'adresse dans la mémoire 64 déterminée à l'étape E3, d'une quantité de données de taille déterminée à l'étape E5, en programmant le contrôleur DMA de l'adaptateur de bus 50. On remet ensuite à jour, à l'étape E7, la taille et l'adresse dans la mémoire 64 des données restant à transférer. La nouvelle taille est évidemment égale à la taille précédemment déterminée à l'étape E3 diminuée de la taille des données déjà transférées (déterminée à l'étape E5). S'il reste des données à transmettre, on déclare, à l'étape E8, que le canal virtuel utilisé est encore actif, et l'on revient à l'étape E3. Si en revanche la nouvelle taille est nulle, c'est à dire si l'on a déjà transféré tout le paquet de données asynchrones, le canal virtuel utilisé est déclaré inactif, et le processeur 62 se remet en position d'attente. La figure 6, enfin, est un organigramme représentant les étapes principales d'un procédé selon l'invention servant à transférer des données asynchrones depuis le sous-réseau 1 vers un appareil ou un bus de communication à la norme IEEE-1394. A l'étape D1, le contrôleur logique 42 est informé de l'arrivée dans la mémoire à double port 40, et en provenance du sous-réseau 1, d'un paquet de données asynchrones de taille déterminée. Les étapes D2 à D6 sont alors dirigées par le contrôleur logique 42. A l'étape D2, le contrôleur logique 42 lit dans le paquet le numéro de canal virtuel de ce paquet. II y lit aussi un marquage eop/eom indiquant si ce paquet est le dernier d'un message ( end of message en anglais) ou non ( end of packet en anglais). A l'étape D3, le contrôleur logique 42 lit dans sa mémoire 81 à quelle adresse dans la mémoire 64 du processeur devront être envoyées les données, compte tenu de leur numéro de canal virtuel déterminé à l'étape D2. A l'étape D4, conformément à l'invention, l'adaptateur réseau 85 envoie à l'adresse dans la mémoire 64 du processeur obtenue à l'étape précédente ledit paquet de données asynchrones, dont la taille a été déterminée à l'étape D1, en programmant le contrôleur DMA de l'adaptateur de bus 50. Une fois le transfert terminé, à l'étape D5, le contrôleur logique 42 calcule, pour le canal virtuel déterminé à l'étape D2, - la taille totale atteinte à ce stade par les données contenues dans le dernier paquet transmis et dans ceux qui l'ont, le cas échéant, précédé, c'est à dire la taille atteinte par la partie du message déjà reçue, et - l'adresse dans la mémoire 64 du processeur où devront être envoyées les données du prochain paquet le cas échéant (voir étape D3), de manière à ce que les données successives d'un même message soient inscrites dans la mémoire 64 à la suite les unes des autres. Si le marquage examiné à l'étape D2 indique que le message comporte encore des paquets, le contrôleur logique 42 revient en position d'attente. Sinon, il informe le processeur 62, à l'étape D6, non seulement de la présence d'un nouveau message dans la mémoire 64, mais en outre de la taille et de l'adresse de fin (déterminées à l'étape D5) de ce message. Le processeur se charge alors, à l'étape D7, de transmettre ce message à l'interface 83, avant de revenir en position d'attente. Autres modes de réalisation La présente invention ne se limite pas aux modes de réalisation décrits ci-dessus : en fait, l'homme de l'art pourra mettre en oeuvre diverses variantes de l'invention tout en restant à l'intérieur de la portée des revendications ci-jointes. On observera par exemple que les procédés de transfert de données asynchrones décrits, dans le mode de réalisation préféré, en référence aux figures 5 et 6, peuvent être moins avantageux dans le cas suivant : si le réseau autorise l'envoi de messages asynchrones constitués de paquets de grande longueur, on peut craindre que ces procédés ne provoquent un encombrement de la mémoire 64 du processeur, puisque, rappelons-le, il est prévu dans ces procédés que le trajet des données asynchrones passe toujours par cette mémoire. Dans ces réseaux, il pourrait donc s'avérer utile, en variante par rapport au mode de réalisation préféré, de prévoir une étape supplémentaire, à la suite de celle où l'on mesure la taille du premier paquet d'un message asynchrone (étape E3 ou D2 selon le sens du transfert), dans laquelle, si la taille dudit paquet dépasse un certain seuil fixé, on attribue la maîtrise du transfert au processeur 62, le procédé se poursuivant alors, respectivement, par l'étape F5 ou par l'étape S5. REVENDICATIONS 1. Procédé de transfert de données au sein d'un noeud de communication (2, 3, 4) destiné à faire partie d'un réseau (100) comprenant, d'une part, un sous-réseau (1) constitué de noeuds de communication (2, 3, 4, 5, 6) interconnectés, et d'autre part plusieurs hôtes (7, 9, 12, 14) entre lesquels ledit sous-réseau (1) est apte à transmettre au moins deux types de données, ledit noeud (2, 3, 4) comportant au moins un processeur (62), un adaptateur réseau (85) destiné à être connecté audit sous-réseau (1) et une interface externe (83) destinée à être reliée à un ou plusieurs desdits hôtes (7, 9, 12), caractérisé en ce que, pour le déclenchement dudit transfert desdites données le long d'un trajet allant soit dudit adaptateur réseau (85) à ladite interface externe (83), soit en sens inverse, il est prévu - pour un premier desdits types de données, que ce déclenchement est effectué par ledit processeur (62), et - pour un deuxième desdits types de données, que ce déclenchement est effectué, pour une partie au moins dudit trajet, par ledit adaptateur réseau (85). 2. Procédé de transfert de données selon la revendication 1, caractérisé en ce que, en ce qui concerne ledit premier type de données, ledit trajet allant de l'adaptateur réseau (85) à l'interface externe (83) du noeud (2, 3, 4), ou en sens inverse, passe à l'extérieur de la mémoire (64) associée au processeur (62). 3. Procédé de transfert de données selon la revendication 1 ou la revendication 2, caractérisé en ce que ledit premier type de données concerne les données isochrones et ledit deuxième type de données concerne les données asynchrones. 4. Procédé de transfert de données selon la revendication 1 ou la revendication 2, caractérisé en ce que ledit premier type de données concerne, d'une part, les données isochrones et d'autre part les données asynchrones contenues dans des paquets de taille supérieure à un seuil fixé à l'avance, et en ce que ledit deuxième type de données concerne les données asynchrones contenues dans des paquets de taille inférieure ou égale audit seuil. 5. Noeud de communication destiné à faire partie d'un réseau (100) comprenant, d'une part, un sous-réseau (1) constitué de noeuds de communication (2, 3, 4, 5, 6) interconnectés, et d'autre part plusieurs hôtes (7, 9, 12, 14) entre lesquels ledit sous-réseau (1) est apte à transmettre au moins deux types de données, ledit noeud (2, 3, 4) comportant au moins un processeur (62), un adaptateur réseau (85) destiné à être connecté audit sous- réseau (1) et une interface externe (83) destinée à être reliée à un ou plusieurs desdits hôtes (7, 9, 12), caractérisé en ce que - ledit processeur (62) est adapté à déclencher le transfert d'un premier desdits types de données le long d'un trajet allant soit dudit adaptateur réseau (85) à ladite interface externe (83), soit en sens inverse, et - ledit adaptateur réseau (85) est adapté à déclencher le transfert d'un deuxième desdits types de données le long d'une partie au moins dudit trajet. 6. Nceud de communication selon la revendication 5, caractérisé en ce que, en ce qui concerne ledit premier type de données, ledit trajet allant de l'adaptateur réseau (85) à l'interface externe (83) du noeud (2, 3, 4), ou en sens inverse, passe à l'extérieur de la mémoire (64) du processeur (62). 7. Noeud de communication selon la revendication 5 ou la revendication 6, caractérisé en ce que ledit premier type de données concerne les données isochrones et ledit deuxième type de données concerne les données asynchrones. 8. Noeud de communication selon la revendication 5 ou la revendication 6, caractérisé en ce que ledit premier type de données concerne, d'une part, les données isochrones et d'autre part les données asynchrones contenues dans des paquets de taille supérieure à un seuil fixé à l'avance, et en ce que ledit deuxième type de données concerne les données asynchrones contenues dans des paquets de taille inférieure ou égale audit seuil. 9. Réseau de communication (100), caractérisé en ce qu'il comporte au moins un noeud de communication (2, 3, 4) selon l'une quelconque des revendications 5 à 8. 10. Appareil de traitement de données, caractérisé en ce qu'il comporte un noeud de communication (2, 3, 4) selon l'une quelconque des revendications 5 à 8. 11. Moyen de stockage de données lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 4. 12. Moyen de stockage de données amovibles, partiellement ou totalement, lisible par un ordinateur et/ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 4. 13. Programme d'ordinateur, caractérisé en ce qu'il contient des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre un procédé selon l'une quelconque des revendications 1 à 4.