Brevet FR2699706A1 — publié le 19940624

SYSTEME DE TRANSMISSION DE DONNEES ENTRE UN BUS D'ORDINATEUR ET UN RESEAU. La présente invention concerne un système de transmission de données entre un bus d'ordinateur et un réseau. Elle est plus particulièrement applicable à un réseau de transmission de données, de type FDDI, dont le support de transmission est constitué par des fibres optiques (normalisées à l'ANSI, sous la référence X3D9-5 et à l'I.S.O., Organisation internationale de normalisation). Les réseaux de communication sont constitués par une pluralité de terminaux ou stations reliés entre eux par une liaison de transmission (dont le support de transmission est constitué par des fibres optiques, dans le cas d'un réseau de type FDDIJ. Un ordinateur relié à un tel réseau est considéré comme un terminal. On sait que de nombreux réseaux modernes fonctionnent suivant un même modèle de référence. Les plus connus sont les modèles de référence OSI ou encore TCP-IP. Ces modèles restent voisins en ce qui concerne la définition de l'architecture de ces réseaux sous forme de couches normalisées. Ainsi, dans le modèle OSI, il y a 7 couches d'activité différentes, la couche la plus basse (couche 1) correspondant à la transmission physique des signaux, alors que la couche supérieure correspond aux fonctions réalisées par les programmes d'applications et les utilisateurs du réseau considéré. Par ailleurs, sur un réseau, les messages d'informations émis par les différentes stations sont constitués d'une pluralité de trames. Toute trame est constituée de données utiles encadrées dans le temps par des caractères de commande placés en tête et en queue de celle-ci. La tendance du développement technologique des réseaux, l'utilisation de terminaux de plus en plus nombreux, conduisent à développer des processeurs de communication programmés qui ont pour objet de réduire la charge de l'unité centrale de l'ordinateur en effectuant une partie de la gestion des communications de ce dernier avec les autres stations du réseau. Par ailleurs, le développement extrêmement rapide des réseaux de communication et des systèmes informatiques, conduit à connecter un même réseau des ordinateurs de type différent utilisant des systèmes d'exploitation (operating system) différents. Le but d'un processeur de communication, qu'on appelle également système de transmission de données, est d'adapter les conditions de transmission des informations sur le bus de l'ordinateur auquel il est associé, aux conditions de transmission sur le réseau, ces conditions de transmission étant totalement différentes. Par ailleurs, ce système de transmission de données permet de faire dialoguer les systèmes d'exploitation d'ordinateur différents entre eux. En particulier, il permet de faire dialoguer les différentes couches de communication du système d'exploitation d'un premier ordinateur avec les différentes couches de communication des systèmes d'exploitation d'autres ordinateurs connectés au même réseau. On connaît par exemple un tel processeur de communication, encore appelé système de transmission de données. Un tel processeur possède l'architecture simplifiée montrée à la figure 1. Une telle architecture est par exemple décrite dans la demande de brevet français NO 92 13653 déposée le 13.11.1992 par la demanderesse sous le titre "Outil de simulation d'un code de réseau". Un tel processeur de communication, appelé NCC permet d'assurer la gestion du transfert de données entre un ordinateur HOST muni d'un bus interne PSB dont le système d'exploitation est désigné par OS, et un réseau RE par exemple de type FDDI. Le bus PSB est par exemple un bus dit MULTIBUSII (marque déposée par la Société INTEL) normalisé suivant la norme IEEE 1296 (Institute of Electrical and Electronic Engineer). Le processeur de communication NCC comprend les trois parties essentielles suivantes - la première partie, appelée GPU (sigle anglais de General Purpose Unit) est par exemple du modèle décrit dans la demande de brevet NO 91 08908 déposée le 15.07.91 par BULL S.A., sous le titre "Dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques". Cette partie est munie d'un système d'exploitation par exemple du type décrit dans la demande NO 9108907 déposée le même jour que précédemment, par la même demanderesse, sous le titre "Système d'exploitation pour dispositif universel de couplage d'un bus d'ordinateur à une liaison spécifique d'un réseau".Le but de cette partie GPU est d'assurer d'une part l'initialisation de l'ensemble du coupleur NCC et d'autre part d'assurer le dialogue avec l'ordinateur HOST par l'intermédiaire du bus PSB, en respectant les normes d'utilisation de ce bus et en se conformant à la nature du système d'exploitation OS de l'ordinateur HOST. Par ailleurs, la partie GPU assure le transfert physique des données entre le bus PSB et la seconde partie DEA, dite dispositif adaptateur qui est directement connectée au réseau RE. La fonction de cette partie DEA est décrite ci-dessous. - la partie DEA est par exemple du type décrit, soit dans le brevet NO 2 650 412 dont le titre est "dispositif passerelle de connexion d'un bus d'ordinateur à un réseau fibre optique en forme d'anneau" pour la partie matérielle, soit dans la demande NO 92 11054, pour ce qui concerne la partie logicielle. Cette partie DEA assure la transmission physique des données entre la partie GPU et le réseau RE, ainsi que la connexion physique au réseau. - la troisième partie, appelée PPA est en fait un coprocesseur de communication destiné plus particulièrement à la gestion des différentes couches de télécommunication du modèle OSI, ou encore du modèle TCP IP. Aussi bien en ce qui concerne le modèle OSI, que TCP-IP, la partie PPA assure la gestion des couches de communication C4, C3, C2, c'est à dire, respectivement des couches de transport, de réseau, et de liaison de données. Les couches de communication C2 à C4 communiquent entre elles par l'intermédiaire de fonctions primitives permettant à deux couches voisines de dialoguer entre elles. Ainsi les deux couches C2 et C3 communiquent entre elles par l'intermédiaire de l'ensemble de fonctions ST2, alors que les couches C3 et C4 communiquent par l'intermédiaire de l'ensemble de fonctions ST3. Par ailleurs C4 communique avec le monde extérieur c'est à dire par exemple avec des applications externes par l'intermédiaire d'une interface SH. Dans une forme de réalisation préférée dans l'invention, les ensembles de fonctions ST2, ST3, SH sont des fonctions connues dans la pratique courante sous le nom de STREAMS. Ces fonctions standard sont par exemple définies dans les documents suivants - Unix Système V Release 4 - STREAMS Programmer's Guide, ATT issue 1 - Unix System V Release 3.2 - STREAMS Programmer's guide, ATT (ISBN : 0-13-944810-1): 1989. Dans l'exemple de réalisation montré à la figure 1, lorsque l'ordinateur HOST envoie un message vers le réseau RE, ou bien lorsqu'un message provient du réseau RE, celui-ci transite vers les couches C2 à C4 de PPA, par l'intermédiaire d'une mémoire FiFo, à savoir FFl ou FF2 selon que ce message est transmis vers DEA, ou vers GPU respectivement. Lorsqu'il s'agit d'établir une demande de connexion, provenant de l'ordinateur HOST, cette demande passe par l'intermédiaire de l'interface SH, alors que une fois la connexion établie, lorsqu'il s'agit d'envoyer des messages vers tout ou partie des stations connectées au réseau, ceux ci passent directement dans les couches C4 à C2. Les couches C2 à C4 et les différentes fonctions ST2, ST3 et SH, ainsi que le système d'exploitation de la partie PPA, constituent le code-de couche de communication CC qui est mis en oeuvre par le coprocesseur de communication PPA. Le rôle essentiel du coprocesseur de communication PPA est de soulager le système hôte de la gestion des couches de communication que celui-ci effectue habituellement, tout en conservant au processeur de communication NCC des performances extrêmement élevées, en ce qui concerne le débit de transmission des données vers ou depuis le réseau. La présente invention concerne un mode de réalisation particulièrement avantageux du coprocesseur de communication PPA permettant précisément d'obtenir les performances requises en matière de débit. Selon l'invention, le système de transmission de données entre un bus d'ordinateur et un réseau comprenant 1. Un dispositif universel de couplage relié au bus et communiquant par une interface avec un dispositif adaptateur connecté au réseau, - le dispositif universel comprenant . un premier microprocesseur associé à une première mémoire et exécutant un système d'exploitation contenu dans celle-ci, . des moyens de transfert de trames depuis le bus vers le dispositif adaptateur et réciproquement, incluant une mémoire à double port disposée entre le bus et le dispositif adaptateur et connectée à ce dernier par l'intermédiaire d'un second bus, 2.Un coprocesseur de communication relié au dispositif universel de couplage pour gérer au moins les couches de transport, de réseau et de liaison de données, est caractérisé en ce que le coprocesseur comprend - un second microprocesseur mettant en oeuvre pour chaque couche le protocole de communication correspondant en munissant chaque trame de données de contrôle conformes à ce protocole, son bus de données étant connecté au second bus et son bus de commande au bus interne du premier microprocesseur, - un troisième microprocesseur gérant par accès direct mémoire le transfert des données entre le second micropmcesseur et la mémoire double port. D'autres caractéristiques et avantages de la présente invention apparaitront dans la description suivante donnée à titre d'exemple non limitatif et en se référant aux dessins annexés. Sur ces dessins - La figure 1 rappelle ce que sont les différents éléments constitutifs essentiels d'un processeur de communication, - La figure 2 montre plus en détail chacune des parties constitutives essentielles du processeur de communication de la figure 1, - La figure 3 montre quels sont les chemins de données utilisés pour la circulation des trames à travers les différents éléments constitutifs essentiels du processeur de communication selon l'invention, - La figure 4 montre quels sont les chemins de données prioritaires à l'intérieur des différents éléments qui constituent le coprocesseur de communication appartenant au processeur de communication selon l'invention. On considère la figure 2 qui montre pour chacune des parties essentielles composant le processeur de communication NCC les éléments constitutifs de chacune de celles-ci. On considère tout d'abord le dispositif universel de couplage GPU qui est décrit plus en détail dans la demande de brevet NO 91 08908 précitée. On se limitera donc ici à définir de manière très générale le rôle de chacun des éléments le constituant. Ces éléments sont L'unité de traitement UT1 composée elle-même des sous-éléments suivants . Le microprocesseur CPU1 qui constitue de fait l'unité centrale du dispositif GPU. Il est muni d'un bus interne Bl# pour transporter les commandes destinées au dispositif adaptateur DEA. Ce microprocesseur est associé à une mémoire programmable effaçable EPROM1, une mémoire vive SRAM1 et un gestionnaire d'interruption MFP1. EPROM1, SRAM1, MFP1, lesquels sont tous connectés à Bail. . La mémoire de type Vidéo-RAM à double port désignée par VRAM, . Le contrôleur d'accès direct mémoire DMAC, connecté d'une part au bus B2 le reliant à la mémoire VRAM et d'autre part au bus B3 le reliant à la partie HIA formée du coprocesseur MPC lequel est lui-même relié au bus PSB. Cette partie HIA que l'on peut appeler également adaptateur hôte, est fonction de la nature du bus interne de l'hôte HOST. Dans le cas où le bus est un bus MULTIBUSII, le coprocesseur MPC est par exemple du type VN82c389 fabriqué par la Société INTEL. - Le bus B1 qui relie la mémoire VRAM au dispositif adaptateur DEA. Le microprocesseur CPU1 est, dans l'exemple de réalisation décrit ici, de type 68030 fabriqué par la Firme MOTOROLA. La mémoire morte effaçable EPROM1 contient les programmes d'autotest et d'initialisation de GPU. La mémoire SRAM 1, contient le système d'exploitation de CPU 1 (Operating System) qui est chargé à l'initialisation de GPU. - Le système d'exploitation du microprocesseur CPU1 est par exemple du type décrit dans la demande de brevet n0 91 08907 précitée. - Le contrôleur d'accès direct DMAC est connecté en série d'une part entre la mémoire VRAM et le coprocesseur MPC et d'autre part entre ce dernier et le bus Bîl de CPU 1. Une description détaillée de ce contrôleur DMAC est donnée dans la demande de brevet français NO 91 15814 déposée le 19.12.91 par la demanderesse sous le titre "Contrôleur de transferts multiples de données entre une pluralité de mémoires et un bus d'ordinateur". Le dispositif GPU comprend par ailleurs un dispositif d'exclusion logique LII disposé entre DMAC et Bîl et un autre dispositif d'exclusion logique Ll2 disposé entre le bus B1 et le bus Bll. Ces dispositifs d'exclusion permettent d'éviter que les données utiles provenant de l'hôte HOST et destinées au réseau RE ne passent par le bus interne Bîl du microprocesseur CPU 1, ce qui permet d'éviter une diminution des performances de celui-ci. Le microprocesseur CPU1 est non seulement le cerveau du dispositif de couplage GPU mais aussi le cerveau du processeur de communication NCC : il initialise les transferts de données, met en oeuvre son système d'exploitation et transfère les données utiles entre HOST et DEA et réciproquement tout en dialoguant avec respectivement DEA et PPA avec lesquels il échange des commandes et des status. Il gère donc en temps réel non seulement son propre travail mais également le travail des dispositifs PPA et DEA. Le dispositif adaptateur DEA est décrit plus en détail dans la demande de brevet français NO 92 11054 précitée. Le dispositif DEA comprend donc Une seconde unité de traitement UT2 composée respectivement du second microprocesseur CPU2 avec son bus interne Bl2 auquel sont connectés la seconde mémoire programmable effaçable EPROM2, la mémoire SRAM2 et le gestionnaire d'interruption, à savoir MFP1. Le contrôleur d'accès au réseau CAR. Le dispositif d'adaptation physique au réseau DAPR. L'unité de traitement UT2 organise le transfert des trames entre GPU et DEA d'une part et le réseau RE et réciproquement, tout en échangeant des commandes avec le premier microprocesseur CPU 1. Le contrôleur d'accès au réseau CAR permet le transfert physique des données depuis le bus B1 vers le réseau RE via DAPR et le bus B4 lequel est physiquement connecté à B1. La manière dont sont transférées les informations entre la mémoire VRAM et le réseau RE, et la manière dont dialoguent CPU1 et CPU2 par l'intermédiaire de files de commandes disposées dans la mémoire VRAM est décrite plus en détail dans la demande NO 92 11054 précitée. En particulier on y décrit les modules logiciels indépendants les uns des autres qui sont disposés dans la mémoire SRAM2 et qui peuvent communiquer d'une part entre eux et d'autre part avec le système d'exploitation du microprocesseur CPU1 par l'intermédiaire de boite å lettres disposées dans la mémoire SRAM2 et/ou par l'intermédiaire des files de commandes disposées dans la mémoire VRAM. Le coprocesseur de communication PPA selon l'invention montré à la figure 2 comprend - Une unité de traitement UT3, - Un dispositif d'accès direct mémoire DMAT. L'unité de traitement UT3 met en oeuvre le code de communication CC, sous la conduite de son propre système d'exploitation SE3. Ce dernier système d'exploitation peut être par exemple du type CNS-A1 développé et commercialisé par la compagnie demanderesse. L'unité de traitement UT3 va donc chercher dans la mémoire VRAM les données utiles transmises par l'hôte HOST via MPC et DMAC, et y ajoute des caractères de contrôle placés en tête et en début de trame, chacun de ces caractères de contrôle étant conforme aux différents protocoles de communication utilisés respectivement dans les couches C2 à C4 des modèles de référence soit OSI, soit TCP-IP.Le transfert des données utiles depuis la mémoire VRAM jusqu'à l'unité de traitement UT3 et depuis cette unité UT3 jusqu'à la mémoire VRAM (dans ce dernier cas, les données utiles ont été munies de leurs caractères par UT3) est effectué par le dispositif d'accès direct mémoire DMAT. L'unité de traitement UT3 comprend les éléments fondamentaux suivants Le troisième microprocesseur CPU3 muni de son bus interne 813 auquel est connecté respectivement la mémoire programmable effaçable DRAM3, la mémoire vive SRAM3, le gestionnaire d'interruption MFP3. Le troisième microprocesseur CPU3 est par exemple du type 68LC040 de la Firme MOTOROLA. La mémoire SRAM3 est une mémoire dont la capacité est par exemple de 4 méga-octets, alors que la mémoire DRAM3 a une capacité de mémoire de 16 méga-octets. Le gestionnaire d'interruption MFP3 est par exemple du même type que les gestionnaires d'interruption MFP1 et MFP2. La mémoire SRAM3 contient le code de communication CC, ainsi que le système d'exploitation SE3 du microprocesseur CPU3. On peut donc dire qu'elle est utilisée pour le traitement des protocoles des différentes couches C2 à C4. La mémoire DRAM3 est utilisée pour former une pluralité d'emplacements mémoire (BUFFER, selon la terminologie anglo-saxone) destinés à recevoir les trames de données utiles qui ont été reçues soit de l'hôte HOST, soit du réseau RE et qui ont été stockées dans la mémoire VRAM. Ces données utiles sont donc stockées provisoirement dans la mémoire DRAM3 en attendant que le microprocesseur CPU3 utilisant le code de communication CC leur ait fourni les caractères de contrôle nécessaires pour renvoyer ces trames soit vers l'hôte HOST, soit vers le réseau RE suivant le cas. Le dispositif d'accès direct mémoire DMAT comprend un microprocesseur .CPU4, une mémoire morte effaçable PROM4, un gestionnaire d'interruption MFP4 et une mémoire vive SRAM4, tous ces éléments étant connectés au bus interne Bl4 de CPU4. Le microprocesseur CPU4 par exemple du type 68LC040 de la Firme MOTOROLA, alors que la mémoire vive SRAM4 a par exemple une capacité de 4 méga-bits et la mémoire PROM4 de 256 kilo-bits par exemple. Le gestionnaire MFP4 est du même type 68901 que les gestionnaires équivalents MFP1 à MFP3 des unités de traitement UT1 à UT3. PROM4 contient les programmes de tests et d'initialisation des microprocesseurs CPU3 et CPU4. Dès l'initialisation de CPU4, celui-ci transfère ces programmes dans sa mémoire associée SRAM4, pour ceux le concernant en propre, d'une part et dans la mémoire SRAM3 pour ceux concernant CPU4, d'autre part. Dès que ces programmes ont été mis en oeuvre par CPU3 et CPU4, on peut télécharger, depuis l'hôte HOST, via DMAC le code fonctionnel de CPU4 dans SRAM4 et le code fonctionnel de CPU3 dans SRAM3, c'est à dire aussi bien SE3 que CC. Les deux bus internes Bl3 et 8(4 de l'unité de traitement UT3 et du dispositif d'accès direct mémoire DMAT sont connectés ensemble à un même bus de données BS. Ce dernier est relié par l'intermédiaire d'un dispositif d'isolation logique Ll3 au bus B1. Par ailleurs la partie du bus Bl3 plus spécifiquement destinée à véhiculer des commandes, destinées à organiser le dialogue entre les unités de traitement UT1 et UT3, constitue un bus de commande CB qui est relié au bus interne Bîl de l'unité UT1 par l'intermédiaire du dispositif d'isolation logique LI4. Par ailleurs, MFP4 est également relié au bus CB. On notera que l'unité de traitement UT3 ne dispose pas de mémoire de type PROM et de ce fait, le microprocesseur CPU3 est bloqué à chaque remise à zéro. Le bus Bl3 de l'unité UT3 est contrôlé soit par le dispositif d'accès direct mémoire DMAT soit par le microprocesseur CPU1. Le microprocesseur CPU3 de l'unité UT3 est libéré soit par l'un ou l'autre de ces deux éléments DMAT ou CPU1. Sur leurs propres bus, les microprocesseurs CPU1 et CPU4 sont maîtres. Par ailleurs, le contrôle du bus 813 peut être assuré par l'un ou l'autre des trois processeurs CPU1, CPU4, CPU3. Un dispositif d'arbitrage contrôle l'accès au bus de UT3 par l'un ou l'autre de ces trois microprocesseurs suivant les conditions énumérées ci-dessous. Ce dispositif d'arbitrage est contenu dans l'unité UT3, sur la partie bus de commande de Bl3. Il n'est pas représenté pour simplifier, a la figure 2. Le microprocesseur CPU3 obtient le bus Bl3 par défaut s'il n'y a pas d'autre demande de la part de l'un ou l'autre des deux autres microprocesseurs. CPU 1 et DMAT obtiennent le bus 813 après arbitrage et acquittement de leurs requêtes d'obtention. Le microprocesseur CPU1 a la priorité sur le dispositif d'accès direct mémoire DMAT. En résumé, pour l'accès aux différents éléments #/RAM, DRAM3, SRAM3, DMAT, les éléments maîtres sont les suivants Pour rappel, le contrôleur d'accès direct mémoire DMAC contrôlé par le microprocesseur CPU1 est maître pour l'accès à la mémoire VRAM depuis le MULTIBUSII PSB. Le microprocesseur CPU1 est maître pour l'accès à la mémoire VRAM, aux deux mémoires SRAM3 et DRAM3 ainsi que pour le contrôle de DMAT. Le microprocesseur CPU3 n'est maître que pour l'accès à ses mémoires associées SRAM3 ou DRAM3, sous les conditions d'arbitrage énoncées plus haut. Le dispositif DMAT est maître pour l'accès à la mémoire VRAM ou aux mémoires SRAM3 ou DRAM3, dans les conditions d'arbitrage énoncées plus haut. La figure 4 résume ce qui vient d'être dit plus haut. Sur cette figure on voit par exemple que CPU3 a accès aux deux mémoires SRAM3 et DRAM3 ainsi qu'à son gestionnaire d'interruption MFP3 ce qui est représenté par une flèche grise Fi. On voit par ailleurs que le microprocesseur CPU4 du dispositif d'accès direct mémoire DMAT peut avoir accès directement aux mémoires SRAM3 et DRAM3, ce qui est représenté par la flèche F3 de couleur plus claire que les flèches grises relatives au microprocesseur CPU3. On voit par ailleurs une flèche F2 en traits interrompus inclinés qui représente le chemin de données de commandes entre le microprocesseur CPU1 et les mémoires SRAM3 et DRAM3. On a fait également figurer une double flèche F4 symbolisant la prise de contrôle de la mémoire VRAM par le processeur CPU4. On considère désormais la figure 3 qui illustre le fonctionnement de l'ensemble constitué par GPU, PPA, DEA. On suppose tout d'abord que l'on reçoit des trames provenant du réseau RE. Elles traversent tout d'abord le dispositif d'adaptation DEA, c'est à dire le dispositif d'adaptation physique DAPR et ensuite le contrôleur d'accès au réseau CAR, de la manière indiquée- dans la demande de brevet NO 92 11054 précitée, ce qui est symbolisé par la flèche 1 à la figure 3. Les données des trames sont alors momentanément stockées dans la mémoire FiFo FF2, mémoire se trouvant dans la mémoire VRAM. Ces données sont ensuite envoyées de FF2 vers la mémoire SRAM3 dans les emplacements de celle-ci réservés à cet effet. Le transfert des données, symbolisé par la flèche 2 à la figure 3, est effectué matériellement par le dispositif d'accès direct mémoire DMAT, sous la conduite du microprocesseur CPU4, sous la commande du microprocesseur CPU 1. La manière dont s'effectue le transfert de ces données, à travers le dialogue entre CPU1 et CPU4, est analogue à celle qui est décrite, par exemple dans l'une ou l'autre des demandes de brevet 90 10179 et 90 12826 déposées respectivement le 09.08.90 et le 17.10.90 par la compagnie demanderesse sous le titre "Contrôleur de communication entre un ordinateur et une pluralité de terminaux de type RNIS" et "Contrôleur de communication entre un ordinateur et une pluralité de terminaux appartenant à un réseau de type CSMA/CD".L'une comme l'autre de ces demandes décrivent en effet la manière dont s'effectue le transfert de données à travers le contrôleur de communication entre une base commandée par un premier microprocesseur et une périphérie commandée par un second microprocesseur, ces premier et second microprocesseurs jouant le même rôle que CPU1 et CPU4 ainsi que leurs mémoires associées. Une fois parvenue dans la mémoire SRAM3, le microprocesseur CPU3 peut alors effectuer le traitement des protocoles des couches C2 à C4, en mettant en oeuvre le code de communication CC. De fait, le microprocesseur CPU3 change les caractères de contrôle placés en tête et queue de trames et qui étaient conformes au protocole utilisé sur le réseau RE en caractères de commandes conformes au protocole des couches C2 à C4 utilisé entre GPU et l'ordinateur HOST. Dès que ce traitement, qui est en fait une adaptation de protocolesi pour ce qui concerne les couches C2 à C4, est effectué, le microprocesseur CPU1, qui en est averti par le microprocesseur CPU4 au moyen de commandes qui circulent sur le bus CB, transfère les trames de données ainsi nouvellement constituées depuis la mémoire SRAM3 à la mémoire FiFo FF1 contenue dans la mémoire VRAM. Ceci s'effectue sous la conduite du dispositif d'accès direct mémoire DMAT. Ce transfert est symbolisé par la flèche 3 à la figure 3. Les données étant ainsi parvenues dans FF2 sont alors expédiées vers l'ordinateur HOST, sur une commande du microprocesseur CPU 1. L'acheminement physique des données est effectué par le dispositif d'accès direct mémoire DMAC d'une manière qui est indiquée dans la demande de brevet français NO 91 15814 précitée. Ce transfert de données entre la mémoire VRAM et l'ordinateur HOST via PSB, est symbolisé par la flèche 4 à la figure 3. Lorsque l'on veut transférer des données entre l'ordinateur HOST et le réseau RE, le chemin parcouru par les données est strictement inverse du précédent. Il est donc symbolisé par les flèches 1', 2', 3', 4' à la figure 3. La flèche 1' symbolise le transfert de données entre l'hôte HOST et la mémoire VRAM sous le contrôle de CPU1 par l'intermédiaire du dispositif d'accès direct mémoire DMAC, la flèche 2' symbolise le transfert des données entre la mémoire FiFo FF1 et la mémoire SRAM3. Les données sont traitées, par ajustement de protocole des couches C2 à C4 par le dispositif de traitement de données UT3. Une fois ceci fait, les données sont transférées de la mémoire SRAM3 à la mémoire FiFo FFI, par le chemin de données 3' puis transférées de cette dernière mémoire FiFo vers le réseau RE à travers le bus B1, B4 et les éléments CAR et DAPR du dispositif adaptateur DEA (flèche 4'). REVENDICATIONS: 1. Système de transmission de données (NCC) entre un bus (PSB) d'un ordinateur (HOST) et un réseau (RE) comprenant 1) un dispositif universel de couplage (GPU) relié au bus et muni de moyens de communication avec un dispositif adaptateur lui-même connecté au réseau, Le dispositif universel (GPU) comprenant un premier microprocesseur associé à une première mémoire et exécutant un système d'exploitation contenu dans celle-ci, des moyens de transfert de trames depuis le bus vers le dispositif adaptateur et réciproquement, incluant une mémoire à double port disposée entre le bus et le dispositif adaptateur et connecté à ce dernier par l'intermédiaire des dits moyens de communication (FF2, B1, B4), - 2 > un coprocesseur de communication (PPA) relié au dispositif universel de couplage (GPU) pour gérer au moins les couches de transport, de réseau et de liaison de données (C4, C3, C2) caractérisé en ce que le coprocesseur (PPA) comprend un second microprocesseur (CPU3) mettant en oeuvre pour chaque couche (C2 à C4), le protocole de communication correspondant en munissant chaque trame de données, d'informations de contrôle conformes à ce protocole, son bus interne ayant un bus de données (bol3) connecté aux dits moyens de communication, et un bus de commande au bus interne (bol1) du premier microprocesseur, un troisième microprocesseur (CPU4) gérant par accès direct mémoire le transfert de données entre le second microprocesseur (CPU3) et la mémoire double port (VRAM). 2. Système de transmission selon la revendication 1, caractérisé en ce que le second microprocesseur (CPU3) est associé à une seconde mémoire (SRAM4) connectée à son bus, contenant un code de communication (CC) comportant les dites couches de communication (C4,C3,C2) communiquant entre elles par l'intermédiaire de fonctions primitives (ST2,ST3), la couche de transport communiquant avec les applications externes au système par l'intermédiaire d'une interface de communication (SH) avec l'ordinateur (HOST). 3. Système de transmission selon la revendication 2, caractérisé en ce que le second microprocesseur (CPU3) est associé à une troisième mémoire (DRAM3) comprenant une pluralité d'emplacements mémoire destinés à recevoir -les trames de données utiles provenant soit de l'ordinateur (HOST) soit du réseau via la mémoire a double port et à les stocker pendant que le second microprocesseur les munit des informations de contrôle propres à chaque couche en mettant en oeuvre le code de communication. 4. Système de transmission selon les revendications 1, 3 caractérisé en ce que le troisième microprocesseur comprend une mémoire morte effaçable (PROMU reliée au bus interne (Bl4) de ce dernier et comprenant les programmes de tests et d'initialisation des second et troisième microprocesseurs (CPU3, CPU4). 5. Système de transmission selon la revendication 4, caractérisé en ce qu'il comprend une quatrième mémoire (SRAM4) associée au troisième microprocesseur, reliée au bus interne (bol4) de ce dernier dont la partie bus de donnée est reliée aux dits moyens de communication et la partie bus de commande au bus interne (bol1) du premier microprocesseur, la quatrième mémoire (SRAM4) recevant les dits programmes de test du troisième microprocesseur provenant de la mémoire morte (PROM4) dès l'initialisation du troisième microprocesseur, ce dernier transférant dans le même temps les programmes de tests du second microprocesseur dans la second mémoire (SRAM3). 6. Système suivant la revendication 5, caractérisé en ce que les premier et troisième microprocesseurs (CPU 1, CPU4) sont maîtres sur leurs propres bus internes (bail, Bl4), le contrôle du bus interne (Bl3) du second microprocesseur pouvant être assuré par l'un quelconque des trois microprocesseurs, un dispositif d'arbitrage placé en série sur le bus interne (Bl3) du second microprocesseur, contrôlant l'accès à ce dernier en tenant compte que les ordres de priorité sont affectés respectivement de la priorité la plus forte à la plus faible, au premier, au troisième et au second microprocesseurs (CPU1, CPU4, CPU3).