FR2813408A1 - Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud - Google Patents

Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud Download PDF

Info

Publication number
FR2813408A1
FR2813408A1 FR0011028A FR0011028A FR2813408A1 FR 2813408 A1 FR2813408 A1 FR 2813408A1 FR 0011028 A FR0011028 A FR 0011028A FR 0011028 A FR0011028 A FR 0011028A FR 2813408 A1 FR2813408 A1 FR 2813408A1
Authority
FR
France
Prior art keywords
data
network
processor
type
hand
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.)
Granted
Application number
FR0011028A
Other languages
English (en)
Other versions
FR2813408B1 (fr
Inventor
Kolli Yacine El
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 FR0011028A priority Critical patent/FR2813408B1/fr
Publication of FR2813408A1 publication Critical patent/FR2813408A1/fr
Application granted granted Critical
Publication of FR2813408B1 publication Critical patent/FR2813408B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

La présente invention concerne 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.Application à des noeuds et à des réseaux de communication, ainsi qu'à des appareils de traitement de données.

Description

<Desc/Clms Page number 1>
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
<Desc/Clms Page number 2>
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é
<Desc/Clms Page number 3>
à 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
<Desc/Clms Page number 4>
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
<Desc/Clms Page number 5>
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é
<Desc/Clms Page number 6>
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
<Desc/Clms Page number 7>
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
<Desc/Clms Page number 8>
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
<Desc/Clms Page number 9>
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
<Desc/Clms Page number 10>
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é
<Desc/Clms Page number 11>
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
<Desc/Clms Page number 12>
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
<Desc/Clms Page number 13>
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
<Desc/Clms Page number 14>
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
<Desc/Clms Page number 15>
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
<Desc/Clms Page number 16>
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.
<Desc/Clms Page number 17>

Claims (13)

  1. 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. 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. 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. 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
    <Desc/Clms Page number 18>
    contenues dans des paquets de taille inférieure ou égale audit seuil.
  5. 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. 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. 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. 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. 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.
    <Desc/Clms Page number 19>
  10. 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. 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. 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. 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.
FR0011028A 2000-08-29 2000-08-29 Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud Expired - Fee Related FR2813408B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0011028A FR2813408B1 (fr) 2000-08-29 2000-08-29 Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0011028A FR2813408B1 (fr) 2000-08-29 2000-08-29 Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud

Publications (2)

Publication Number Publication Date
FR2813408A1 true FR2813408A1 (fr) 2002-03-01
FR2813408B1 FR2813408B1 (fr) 2006-08-04

Family

ID=8853790

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0011028A Expired - Fee Related FR2813408B1 (fr) 2000-08-29 2000-08-29 Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud

Country Status (1)

Country Link
FR (1) FR2813408B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
WO1997033230A1 (fr) * 1996-03-07 1997-09-12 Sony Electronics, Inc. Pipeline de donnees asynchrones pour gerer automatiquement les transferts de donnees asynchrones entre une application et une structure de bus
WO1998047271A1 (fr) * 1997-04-15 1998-10-22 Sony Electronics, Inc. Processeur de protocole pour manipuler un train de donnees

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5299313A (en) * 1992-07-28 1994-03-29 3Com Corporation Network interface with host independent buffer management
WO1997033230A1 (fr) * 1996-03-07 1997-09-12 Sony Electronics, Inc. Pipeline de donnees asynchrones pour gerer automatiquement les transferts de donnees asynchrones entre une application et une structure de bus
WO1998047271A1 (fr) * 1997-04-15 1998-10-22 Sony Electronics, Inc. Processeur de protocole pour manipuler un train de donnees

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TEXAS INSTRUMENTS: "PCILynx 1394 to PCI Bus Interface TSB12LV21BPGF Functional Specification", INTERNET, April 1999 (1999-04-01), XP002171649, Retrieved from the Internet <URL:www.ti.com> [retrieved on 20010710] *

Also Published As

Publication number Publication date
FR2813408B1 (fr) 2006-08-04

Similar Documents

Publication Publication Date Title
EP1701273B1 (fr) Architecture de communication globalement asynchrone pour système sur circuit intégré
EP0493215B1 (fr) Architecture informatique distribuée utilisant un réseau local de type CSMA/CD
FR2773935A1 (fr) Procedes de communication entre systemes informatiques et dispositifs les mettant en oeuvre
EP1884875A1 (fr) Système de gestion de messages transmis dans un réseau d&#39;interconnexions sur puce
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
FR2801455A1 (fr) Procede de transmission de flux de donnees sur un reseau atm, et dispositif pour la mise en oeuvre du procede
EP2436155A1 (fr) Procédé de gestion de chemins entre un noeud source et un noeud destinataire au niveau de la couche de liaison, noeud source et table correspondants
FR2865334A1 (fr) Procede et systeme de transmission de messages dans un reseau d&#39;interconnexions.
WO2009138650A2 (fr) Mecanisme de mise a jour des parametres d&#39;une session etablie au travers d&#39;un circuit virtuel
EP1997295A2 (fr) Procede de communication de donnees entre des systemes de traitement heterogenes connectes en reseau local et systeme de communication mettant en oeuvre ce procede
FR2813408A1 (fr) Procedes de transfert de types multiples de donnees au sein d&#39;un noeud de communication, et reseaux comportant un tel noeud
FR2790892A1 (fr) Procede et dispositif de controle de la synchronisation entre deux bus de communication serie d&#39;un reseau
EP2497235B1 (fr) Outil de diagnostic pour réseaux à haut débit
EP3122005A1 (fr) Système de routage permettant le filtrage de données pour l&#39;intégration et le test d&#39;équipements opérationnels
EP1044541B1 (fr) Routeur pour acheminer des paquets de donnees
EP1871058A1 (fr) Système et procédé de gestion de messages transmis dans un réseau d&#39;interconnexions.
FR2848056A1 (fr) Procedes d&#39;insertion et de traitement d&#39;informations pour la synchronisation d&#39;un noeud destinataire a un flux de donnees traversant un reseau de base d&#39;un reseau heterogene, et noeuds correspondants
FR2815209A1 (fr) Procede de transfert de paquets de diffusion au sein d&#39;un noeud de communication, et reseaux comportant un tel noeud
FR2816146A1 (fr) Procede et dispositif de gestion d&#39;un reseau de communication
FR2831367A1 (fr) Procede et dispositif de commande des temps de services de cellules multidestination copiees dans les modules d&#39;entree d&#39;un noeud de commutation asynchrone
FR2827995A1 (fr) Procede et dispositif de gestion de memoire
FR3001311A1 (fr) Interface reseau d&#39;un soc comportant un controleur de communication ameliore
FR2804814A1 (fr) Dispositif de commutation d&#39;un reseau commute et procede de traitement de paquets de donnees dans un tel dispositif
FR2792144A1 (fr) Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant
FR2792145A1 (fr) Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d&#39;un reseau

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140430