FR 2679352 A1 19930122 FR 9108908 A 19910715 DISPOSITIF UNIVERSEL DE COUPLAGE D'UN BUS D'ORDINATEUR A UN CONTROLEUR D'UN GROUPE DE PERIPRERIQUES. La présente invention concerne un dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques qui sont reliés entre eux par une liaison spécifique à laquelle le contrôleur est relié physiquement. Elle est plus particulièrement applicable à un groupe de périphériques ou terminaux qui sont reliés entre eux par un réseau de transmission de données en forme d'anneau de type FDDI, dont le support de transmission est constitué par des fibres optiques Elle est également applicable à un groupe de périphériques reliés entre eux par une liaison caractéristique de ceux-ci, par exemple une liaison de type SCSI qui relie des mémoires à disques magnétiques. Les réseaux de transmission de données utilisant comme support de transmission les fibres optiques, sont utilisés de plus en plus fréquemment et sont définis dans leurs grandes lignes dans les documents élaborés dans les comités de standardisation internationaux tel que l'ANSI (American National Standard Institute), sous la référence X 3 T 9-5 Ces normes définies par l'ANSI sont également adoptées par l'I S O, organisation internationale de normalisation (International standard organisation) Cette norme définit un ensemble de caractéristiques physiques et électriques du réseau, par exemple la longueur totale maximale de la fibre, la distance maximale entre stations du réseau, ainsi que le code dans lequel sont écrites et transmises les informations d'une station à l'autre L'un des nombreux avantages de l'utilisation de fibres optiques dans les réseaux est la valeur élevée des débits de transmission obtenus, à savoir de l'ordre de 100 Mbits/s. De même les liaisons de type SCSI sont définies par des normes aussi bien à l'ANSI qu'à 1 'I S O. On sait que sur un réseau, les messages d'informations émis par les différentes stations sont constitués d'une pluralité de trames La trame est donc le message individuel et est structurée, comprend un message de début et un message de fin, des signaux de synchronisation pour en déduire l'horloge, l'adresse de la station à laquelle est destinée le message, l'adresse de la station émettrice, la longueur des données, les données utiles, etc De manière simplifiée, on peut dire qu'une trame est constituée de données utiles qui sont encadrées, dans le temps, par des signaux placés en tête de trame et par des signaux placés en queue de trame Les signaux placés en tête et en queue de trame, qui encadrent les données utiles sont appelés "caractères de commande". Par ailleurs, on sait que l'ensemble des éléments constitutifs fonctionnels constituant un ordinateur, qu'il s'agisse des processeurs le constituant (processeur central ou processeurs d'entrée/sort-e), des mémoires vives et des mémoires mortes, des contrôleurs d'entrée/sortie ou des contrôleurs de périphériques est disposé sur un ensemble de cartes (boards) dont les dimensions sont normalisées Ces cartes sont reliées généralement à un même bus de type parallèle qui assure les communications entre les différents processeurs, le transport des données entre les cartes et l'alimentation électrique de celles-ci. Le bus communément appelé MULTIBUS II (Marque déposée par la Société INTEL), est l'un de ceux les plus couramment utilisés Son architecture est structurée autour d'un bus principal de type parallèle, qui est normalisé suivant la norme IEEE 1296 ( Institute of Electrical and Electronic Engineers), et est communément appelé PSB (ce qui signifie Parallel System Bus). Un tel bus d'ordinateur est relié à la dite liaison spécifique (réseau FDDI, ou liaison SCSI) par l'intermédiaire d'un dispositif passerelle de connexion dont la fonction est d'adapter les conditions de transmission des informations sur le MULTIBUS II, aux conditions de transmission sur le réseau ou sur la liaison caractéristique reliant les périphériques En effet, les modes de transmission des données, d'une part sur le bus PSB et d'autre part sur le réseau (par exemple FDDI) sont totalement différents, aussi bien en ce qui concerne le débit de transmission des informations, qu'en ce qui concerne les protocoles de transmission utilisés, les codes d'écriture, les informations, le format, les caractères de commandes, la transmission des informations (en parallèle sur le MULTIBUS II, en série sur le réseau FDDI), etc. Les Figures l A et 1 B montrent respectivement la structure générale d'un tel dispositif passerelle lorsque le réseau de transmission est de type FDDI, et lorsque la liaison caractéristique est de type SCSI. On considère la Figure l A. Celle-ci montre un ordinateur ORD dont les différents éléments constitutifs sont disposés sur une pluralité de cartes C communicant entre elles par l'intermédiaire d'un bus PSB Chaque carte C est connectée à PSB par l'intermédiaire d'un coprocesseur MPC fabriqué par exemple par le Société INTEL, et ayant la référence VL 82 c 389 communiquant par mode message avec les autres éléments constitutifs fonctionnels de l'ordinateur Ce mode de communication entre les différentes cartes de ORD, est défini de manière précise dans la norme précitée IEEE 1296. L'ordinateur ORD est connecté à un réseau RN, en forme d'anneau, de type FDDI, par l'intermédiaire du dispositif passerelle de connexion DPC Le réseau RN se compose d'un anneau principal AP et d'un anneau secondaire AS. Le dispositif DPC se compose d'une part d'un dispositif universel de couplage GPU (sigle anglais de General Purpose Unit), d'un dispositif adaptateur DEA et d'un interface IRA assurant le transfert des informations entre le dispositif universel de couplage GPU et le dispositif adaptateur DEA. Le dispositif universel de couplage GPU est relié à PSB par un coprocesseur MPC, du même type que les coprocesseurs des cartes C de l'ordinateur ORD. Le dispositif DPC est relié physiquement au réseau RN par l'intermédiaire d'un dispositif d'accès physique au réseau, à savoir DAP, appartenant au dispositif adaptateur DEA. A la figure 1 B, le dispositif passerelle de connexion DPC a la même structure qu'à la figure 1 A, la différence étant que le dispositif adaptateur DEA est connecté par l'intermédiaire d'un dispositif d'adaptation physique DAP, à une liaison de type SCSI à laquelle sont connectées respectivement les mémoires à disques Dl, Di, Djr, Dn. Aussi bien en ce qui concerne la figure l A que la figure 1 B, le dispositif DPC peut être réalisé soit sur une seule et même carte, soit sur deux cartes séparées, suivant l'importance des éléments qui composent chacun des constituants de ce dispositif, à savoir, GPU et DEA. La structure générale du dispositif DPC, telle que montrée aux figures l A et 1 B, ainsi que des modes de réalisation et de fonctionnement des deux éléments le constituant à savoir GPU et DEA sont décrits de manière détaillée dans la demande de brevet français 89 10 156 déposée le 27 juillet 1989 sous le titre "dispositif passerelle de connexion d'un bus d'ordinateur à un réseau fibre optique en forme d'anneau", par la Société demanderesse. L'invention concernant essentiellement le dispositif universel de couplage GPU, on rappellera en se référant à la figure 2 les éléments constitutifs essentiels du dispositif universel de couplage GPUA utilisés dans le dispositif DPC décrit dans la demande de brevet précitée, qui constitue donc un mode antérieur de réalisation d'un tel dispositif universel de couplage. Ainsi qu'on peut le voir à cette même figure 2, le dispositif GPUA est construit autour d'un microprocesseur CPU et d'un bus BH associé à ce dernier Il comprend par ailleurs une mémoire morte programmable MM et une mémoire vive MV, ainsi qu' un contrôleur d'accès direct mémoire de type DMA à la mémoire vive MV, désigné par DMAC. Par ailleurs, l'interface de transfert IHA connectée au dispositif universel GPUA par l'intermédiaire du bus BH comprend une interface IF- AD permettant de transférer les données utiles depuis ou vers GPUA et une interface de transfert pour des blocs de contrôle incluant les caractères de commande des trames reçues ou émises, à savoir IHAC permettant de transférer les blocs de contrôle depuis ou vers GPUA. Lorsque l'on cherche à envoyer des informations de l'ordinateur ORD vers le réseau RN, via PSB, on procède de la manière suivante: Ces informations sont transmises par le coprocesseur MPC puis mémorisées dans la mémoire MV, et ensuite analysées par le microprocesseur CPU qui élabore un bloc de contrôle SCB contenant des paramètres relatifs d'une part à la constitution des trames de type FDDI qui sont destinées à être envoyées sur le réseau RN (caractères de commande) et d'autre part, à la nature des opérations à effectuer par DEA Ces paramètres sont par exemple l'adresse du destinataire des informations, l'adresse de l'expéditeur, la longueur des messages qui sont envoyés, etc Dès que CPU a constitué SCB, ce dernier est envoyé ainsi que les données qui lui correspondent, sur le bus BEH vers l'interface IHA, SCB étant acheminé vers IHAC, alors que les données sont acheminées vers IHAD Le bloc de contrôle SCB est par exemple acheminé sur 16 bits, à savoir HCO à HC 15, accompagné de deux bits de parité HCPO et HCP 1 Quant aux données, elles sont acheminées sur 32 bits, à savoir HDO à HD 31, accompagnées de quatres bits de parité HDPO à HDP 3. Aussi bien les données que le bloc de commande SCB sont stockés provisoirement dans leurs interfaces respectives IHAC et IHAD avant d'être transférés sur les bus BC d'une part et BDF d'autre part, appartenant au dispositif adaptateur DEA. Il convient de préciser que le transfert des blocs de contrôle et des données sur les deux bus séparés BC et BDF s'effectue indépendamment pour l'un et pour l'autre La façon dont sont transférées et stockées, avant leur envoi sur le réseau RN, les informations, par le dispositif adaptateur DEA est décrite en détail dans la demande de brevet français précitée. L'inconvénient du dispositif universel de couplage GPUA est que le microprocesseur n'a à sa disposition qu'un seul et même bus pour effectuer le transfert des données utiles, le transfert des données nécessaires au déroulement de son propre code, et enfin les données nécessaires à la gestion des protocoles utilisés respectivement sur le bus PSB et sur le réseau FDDI On n'utilise donc pas au mieux les performances du microprocesseur qui sont ainsi limitées par l'existence d'un seul bus. La présente invention permet de remédier à ces inconvénients en disposant entre l'interface IHAD et le coprocesseur MPC une mémoire vidéo-RAM double port o sont provisoirement stockées les données utiles des trames FDDI (ou SCSI) avant qu'elles ne soient transférées vers le coprocesseur MPC sous le contrôle d'un contrôleur de type DMA Par ailleurs, le microprocesseur peut utiliser son bus interne spécifiquement pour le déroulement de son code, c'est à dire notamment pour les données nécessaires à son système d'exploitation (Operating system) et enfin pour la gestion des protocoles On peut donc transférer les données tout en travaillant en même temps sur l'adaptation des protocoles, ou encore en effectuant les opérations du système d'exploitation. Selon l'invention, le dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques reliés entre eux par une liaison spécifique à laquelle le contrôleur est relié physiquement, comprenant un microprocesseur associé à au moins une mémoire contenant son propre système d'exploitation, une interface de liaison avec le contrôleur assurant le transfert des données utiles des trames et des blocs de contrôle contenant les caractères de commande relatifs à la constitution de trames transmises soit vers la liaison, soit vers le bus, est caractérisé en ce que, il comprend une mémoire vive tampon à double port connectée par l'intermédiaire d'un premier bus à la dite interface et par l'intermédiaire d'un second bus au bus d'ordinateur via une interface spécifique de ce dernier, le transfert des données entre l'interface de liaison et la mémoire double port d'une part, entre celle-ci et le bus d'ordinateur d'autre part, étant organisé par le microprocesseur, ce dernier transfert étant effectué sous le contrôle d'un contrôleur accès direct mémoire, la transformation des caractères de commande spécifique des protocoles utilisés sur le bus d'ordinateur en ceux utilisés sur la liaison et réciproquement étant effectuée par le microprocesseur qui assure leur transfert sur son bus interne vers ou depuis l'interface de liaison. D'autres caractéristiques et avantages de la présente invention apparaîtront 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 composée des figures la et lb montre comment on relie un ordinateur, soit à un réseau de type FDDI, soit à une liaison de type SCSI, la Figure 2 montre les différents éléments constitutifs essentiels d'un dispositif universel de couplage selon l'art antérieur, tel que décrit dans la demande de brevet français précitée, la Figure 3 montre les différents éléments constitutifs essentiels du dispositif universel de couplage selon l'invention, la Figure 4 montre plus en détail comment est constituée la mémoire vidéo- RAM double port et comment elle est reliée d'une part au dispositif adaptateur et d'autre part au coprocesseur lui-même relié au bus MULTIBUS Il, la Figure 5 montre comment l'on accède aux différentes pages de la mémoire de type RAM associée au microprocesseur du dispositif de couplage selon l'invention, la Figure 6 montre quels sont les différents chemins de données possible entre les différents éléments constitutifs du dispositif universel de couplage selon l'invention. On considère désormais la Figure 3. Le dispositif universel de couplage selon l'invention GPUI comprend les différents éléments constitutifs essentiels suivants: le coprocesseur MPC qui sert d'interface avec le bus de type parallèle PSB, le microcontrôleur MIC supportant la fonction d'interconnexion dite "interconnect', du MULTIBUS II, le microprocesseur CPU, qui est en fait l'unité centrale du dispositif GPUI, muni de son bus interne BI et associé respectivement à une mémoire programmable effaçable EPROM 1, une mémoire vive SRAM, et un gestionnaire d'interruption, à savoir MFP Les éléments EPROM 1, SRAM, MFP sont tous connectés au bus interne BI du microprocesseur CPU, lequel est connecté par ailleurs à l'interface IHAC, 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é au bus B 2 reliant VRAM au coprocesseur MPC, le bus Bl reliant l'interface IHAD à la mémoire VRAM. A la figure 3, l'interface IHA, strictement identique à celle montrée à la figure 2 est symbolisée par un trait en pointillé. Le coprocesseur MPC est de même type que celui décrit en relation avec la figure 2 et est donc conçu spécialement pour répondre à la norme IEEE précitée. Dans l'exemple de réalisation choisi, le microcontrôleur MIC est constitué par un élément de référence 8752 fabriqué par la Société INTEL Cet élément est conçu par cette dernière de manière à travailler en relation étroite avec le coprocesseur MPC auquel il est relié ainsi qu'on peut le voir à la figure 3. Il gère tout ce qui est relatif à l'espace "interconnexion" ("interconnect T 1, en terminologie anglo-saxonne) du MULTIBUS II et tout ce qui est considéré comme servitude MB II, tout cet ensemble (interconnexion + servitudes) étant défini par la norme IEEE 1296 précitée. Il convient de préciser que MIC peut réaliser l'interconnexion sur demande de son propre microprocesseur CPU ou sur demande du microprocesseur d'une autre carte de type GPUI connectée au même PSB. La mémoire EPROM 2 associée au microcontrôleur MIC est une mémoire morte effaçable et contient la référence de la carte qui porte GPUI, c'est à dire son numéro tel qu'il est indiqué en usine lors de sa fabrication, et le numéro de révision de celle-ci, c'est à dire le numéro de la version qu'elle représente: en effet la carte portant GPUI peut subir au cours du temps des modifications en fabrication A chacune de ces modifications correspond une version déterminée dont le numéro est enregistré dans la mémoire EPROM 2 Bien entendu, le microcontrôleur tient compte de ces dernières informations pour mettre en oeuvre son espace d'interconnexion. Le microprocesseur CPU est, dans l'exemple de réalisation préféré décrit ici, de type 68020 fabriqué par la Firme il MOTOROLA C'est un microprocesseur 32 bits et sa fréquence d'horloge est de 25 Mhz Il gère son bus interne BI qui est un bus non multiplexé de 32 bits de données et de 32 bits d'adresse. La mémoire morte effaçable EPROM 1 d'une capacité de 128 ou 256 Kilo-octets contient les programmes d'auto-tests et d'initialisation du dispositif de couplage GPUI. Le système d'exploitation GPOS du microprocesseur CPU est contenu dans la mémoire statique SRAM qui a une capacité pouvant être égale à 512 Kilo-octets ou 1 Méga-octet Un système de protection est associé à cette mémoire pour en réglementer l'accès et sa description sera faite en relation avec la figure 5. Le système d'exploitation GPOS (operating system) organise le fonctionnement -d'ensemble du microprocesseur et par conséquent supervise le transfert des trames depuis le bus PSB jusqu'à l'interface I-A et réciproquement Par ailleurs, le (ou les) programme d'adaptation des protocoles utilisés d'une part entre l'ordinateur ORD et le dispositif de couplage via le bus PSB, et d'autre part sur le réseau RN, (FDDI, SCSI, etc), peut être contenu, soit dans EPROM 1, soit dans SRAM, suivant son (leur) importance et la capacité disponible dans l'une ou l'autre des mémoires. Le microprocesseur CPU est donc le cerveau du dispositif de couplage: il initialise le transfert des données, réalise l'adaptation des protocoles, exécute son code, et transfère les données entre DEA et l'ordinateur ORD et réciproquement tout en dialoguant avec DEA avec lequel il échange des commandes et des status par exemple de la manière indiquée dans la demande de brevet français précitée. L'élément MFP ou périphérique multifonction (Sigle anglo- saxon de Multi function peripheral) est un élément dit "périphérique" du microprocesseur CPU Il est par exemple de type 68901 de la Firme MOTOROLA et est adapté par construction pour ce microprocesseur Il supporte un certain nombre de fonctions nécessaires au fonctionnement de ce dernier Il s'agit par exemple d'une partie de la gestion des interruptions qui lui sont nécessaires Il s'agit également des fréquences d'horloge, par exemple utilisées par le système d'exploitation de ce dernier Par construction, le microprocesseur de type 68020 a sept niveaux d'interruption, ce qui est insuffisant pour effectuer les opérations dont il a la charge L'élément MFP fournit en tout 16 niveaux supplémentaires d'interruption dont 8 pour CPU et les 8 autres pour des dispositifs extérieurs dont 7 pour le dispositif adaptateur DEA. Le contrôleur d'accès direct mémoire DMAC assure les transferts de données entre le coprocesseur MPC et l'une des deux mémoires SRAM ou VRAM Il possède 2 canaux: un canal dit " canal in' assurant le transfert des données depuis le coprocesseur MPC vers la mémoire double accès vidéo-RAM VRAM, (ou vers SRAM), un canal dit "canal out" assurant le transfert des données depuis la mémoire VRAM vers le coprocesseur MPC. Le canal 'Tinl" est prioritaire sur le canal "out" et interrompt ce dernier lorsqu'il reçoit une demande de transfert La vitesse de transfert du contrôleur DMA dépend de la performance recherchée pour le dispositif universel de couplage selon l'invention et peut atteindre 33, 3 Mega Bytes/s, en mode simple cycle (Single cycle mode), ce qui permet de saturer le PSB à 32 Méga bytes/s ( 32 octets) Le transfert des données s'effectue par paquets successifs de 8 x 32 bits, à la demande du coprocesseur MPC (aussi bien pour le canal "in" que pour le canal "out") Pour effectuer un transfert de données, le contrôleur DMAC reçoit de la part du microprocesseur CPU, une adresse de départ (dans la mémoire VRAM, ou dans le coprocesseur MPC), un compte, c'est à dire le nombre d'octets à transférer, et un ordre de départ pour le transfert des données Dès qu'il a reçu ces informations de la part de CPU, le contrôleur DMAC organise ce transfert des données Il est donc esclave du microprocesseur CPU, pour les informations donnant l'adresse et le compte Le contrôleur DMAC ne voit pas les données qui transitent depuis la mémoire vers le coprocesseur et réciproquement Il ne fait que contrôler le cheminement de celles-ci à la demande du coprocesseur MPC. La mémoire vidéo-RAM VRAM est une mémoire dynamique double port dont la capacité est de l'ordre de 1 à 2 Méga-octets sur une largeur de 32 bits L'un des deux ports, à savoir SAM est réservé exclusivement au contrôleur DMAC alors que le second port, à savoir DRAM se trouve partagé entre le microprocesseur CPU et le dispositif adaptateur DEA La vidéo-RAM est protégée par un contrôle de parité avec 1 bit de parité par octet Cette mémoire sert de tampon pour les données qui transitent entre le dispositif universel de couplage GPUI et le dispositif adaptateur DEA Il convient de préciser que le microprocesseur CPU ou le dispositif adaptateur DEA peuvent accéder à VRAM pendant que DMAC effectue un transfert de données entre VRAM et MPC Ceci s'effectue sous certaines conditions: le contrôleur DMAC ne travaille pas directement dans la mémoire vidéo-RAM mais dans un registre qui lui est propre contenant une page de la mémoire, cette dernière étant découpée en plusieurs pages: ainsi, dans l'exemple de réalisation choisi, la mémoire VRAM contient 512 pages de 512 lignes comptant chacune 32 bits En écriture, DMAC recopie d'abord une page de la mémoire VRAM dans son propre registre, il modifie ensuite son registre avec les données qui lui sont transmises par le coprocesseur, et enfin il recopie son registre dans la dite page mémoire, en écrasant les précédentes données qui y étaient enregistrées Ceci implique naturellement une gestion très rigoureuse de la mémoire VRAM afin que le microprocesseur CPU et le dispositif adaptateur DEA ne travaillent pas simultanément sur les mêmes pages que DMAC. Le bus Bl et le bus B 2 sont des bus sur 32 bits ( 32 bits adresse, 32 bits données) On voit que le microprocesseur CPU peut contrôler les 3 bus BI, B 1, B 2 Il accède au coprocesseur MPC et aux contrôleurs DMA, DMAC par l'intermédiaire du bus B 2 Il accède à la mémoire VRAM par l'intermédiaire du bus B 1. Le contrôleur DMAC peut atteindre la mémoire SRAM par l'intermédiaire du bus BI (ceci s'effectuant notamment lors du transfert du code et des données du logiciel GPOS, juste après l'initialisation du dispositif selon l'invention GPUI) Il n'est pas possible d'accéder depuis le dispositif adaptateur DEA, au bus BI depuis le bus B 1 De même, tout transfert de données utiles véhiculées sur le bus B 2 ne peut aller sur BI Ces deux impossibilités sont symbolisées par l'existence des éléments FLI 1 et FLI 2 disposés respectivement entre les bus B 2 et le bus BI et entre le bus Bl et BI Ces éléments sont des éléments d'isolation (ou d'interdiction) logique. Le contrôleur DMAC est toujours prioritaire sur le microprocesseur CPU, alors que sur le bus B 1, les éléments de contrôle du dispositif adaptateur DEA (se reporter à la demande de brevet français précitée) sont également prioritaires Toutefois le microprocesseur CPU peut interrompre un transfert sur Bl ou B 2 lorsque ce transfert est trop long, afin de pouvoir y faire transiter les données qu'il souhaite. En résumé, on voit que le microprocesseur CPU peut travailler sur son bus pendant que les contrôleurs d'accès direct DMAC et les contrôleurs équivalents de DEA sont actifs sur leurs bus respectifs à savoir B 2 et B 1. Autrement dit, le découpage en trois bus distincts BI, B 1, B 2 permet d'effectuer trois tâches simultanément et de manière totalement asynchrone. On se reporte désormais à la figure 4. Les différents éléments constitutifs essentiels de la mémoire double accès VRAM sont: la zone mémoire paginée proprement dite, à savoir PLM, le registre adresse/ligne RAL, le registre adresse/page RAP, le registre série de sortie à savoir R 51, associé au pointeur PNT. Ainsi qu'il a été dit plus haut le premier port DRAM est connecté au bus Bl (bus donnée) alors que le second port SAM est connecté au bus donnée B 2. La zone mémoire paginée PLM est adressée par le registre adresse RAP, en ce qui concerne l'adressage de chacune des 512 pages de PLM, et par le registre d'adresse RAL en ce qui concerne chacune des 512 lignes d'une page déterminée. Par ailleurs, le registre d'adresse ligne RAL est relié au pointeur PNT. Le bus d'adresse Bl et le bus d'adresse B 2 provenant respectivement du dispositif adaptateur DEA et du contrôleur DMAC sont connectés respectivement aux deux registres adresse RAP et RAL par l'intermédiaire d'un circuit de combinaison COMB qui peut être simplement une porte OU. Le registre série RS qui est relié d'une part au bus de données B 2 et d'autre part à la zone PLM est en fait composé de 32 registres série comprenant chacun 512 positions différentes de manière à ce que l'ensemble du registre RS puisse contenir une page entière de la zone PLM, le pointeur PNT permettant de transférer à la suite les unes des autres, chacune des 512 lignes de 32 bits d'une page de cette même zone mémoire. De plus amples détails sur la constitution et le fonctionnement d'une mémoire double port de type vidéo-RAM sont par exemple donnés dans la notice technique du constructeur TOSHIBA relative à la mémoire vidéo-RAM de référence TC 524256 par exemple le boîtier de type Z-10-. On considère désormais la Figure 5, qui montre le système de protection RAMP de la mémoire SRAM, constitué par une mémoire de type RAM SRAM est découpée par exemple en 128 pages de 8 Kilo-octets chacune Par ailleurs, le logiciel d'exploitation GPOS du microprocesseur CPU dispose de 32 numéros d'application (toute application est également appelée JOB) La protection mémoire est contenue dans la mémoire RAMP de 32 x 128 bits, et elle se fait par page et par numéro d'application Elle se définit par un ensemble de deux bits PROT 1, PROT 2 dont la combinaison définit un certain nombre d'opérations possibles sur telle ou telle30 page déterminée de la mémoire SRAM Ainsi, si le bit PROTI est égal à zéro quelle que soit la valeur de PROTO, l'accès à la page ayant un numéro déterminé, par une application déterminée, est impossible Si le bit PROT, est égal à 1 alors que PROTO est égal à 0, on peut lire cette même page. Quand les deux bits PROT, et PRO To sont simultanément égaux à 1, la lecture et l'écriture de la page en question est autorisée. A chaque application de numéro NUMJOB déterminé, et pour celle-ci à chaque page de numéro NUMPAG, correspond donc un couple de valeurs bien déterminé PROT 1 PROTO. L'ensemble de ces couples NUMJOB -NUMPAG est enregistré dans une table et connu d'un circuit logique matériel (non représenté pour simplifier les figures 3 et 5) Lorsque le système d'exploitation désire accéder à une page de SRAM définie par un couple NUMPAG-NUMJOB déterminé, il envoie à ce circuit logique matériel un couple de valeurs SPROT 1 - SPROTO qui est comparé par le dit circuit à PROTE -PROT 0. Ce dernier autorise ou non l'accès à la page ne question en fonction du résultat de cette comparaison. On considère désormais la figure 6, qui résume les différents chemins de données pour chacun des éléments constitutifs essentiels du dispositif universel de couplage selon l'invention. Il est bien entendu qu'à la figure 6, on entend par chemin de données, les voies par lesquelles transitent n'importe quels types de données, que ce soient les données utiles destinées à être transmises sur le réseau RN de la Fig l A, ou encore les blocs de contrôle, ou les données du logiciel d'exploitation GPOS, ou encore les données des programmes d'auto-test. A la figure 6 on a représenté les chemins de données contrôlés par CPU, DMAC, MPC Le trait à damier noir et blanc épais représente le chemin physique réel des données (les bus physiques Bi, BI) alors que les traits plus minces symbolisent les directions empruntées par ces mêmes chemins de données On a représenté en trait alterné oblique noir et blanc ceux contrôlés par le coprocesseur MPC et l'on a représenté en trait à damier noir et blanc, ceux contrôlés par le contrôleur DMAC. On considère les chemins de données contrôlés par CPU: ce sont tout d'abord ceux situés entre ce dernier et sa mémoire SRAM ou sa mémoire EPROM 1 qui transitent par le bus BI et qui concernent soit les blocs de commande SCB, soit les programmes de test AT, soit le système d'exploitation GPOS CPU contrôle le chemin de données allant vers le microcontrôleur MIC par o transitent les résultats des auto-tests et toutes les données nécessaires à la gestion de l'espace interconnexion de PSB. Le microprocesseur CPU contrôle le chemin de données entre le coprocesseur MPC et lui-même, transitant par BI, FLI 1 et B 2, concernant les blocs de commande relatifs aux différentes trames provenant de l'ordinateur ORD Ces blocs de commande désignés ici par SCBO sont différents des blocs de commande SCB C'est précisément le rôle de CPU de transformer les blocs de commande SCBO en blocs de commande SCB, tenant compte des différents protocoles utilisés entre l'ordinateur ORD et GPUI via PSB d'une part, et sur le réseau RN d'autre part. On considère les chemins de données contrôlés par le contrôleur DMAC Il s'agit tout d'abord du chemin de données transportant les données utiles des trames destinées au réseau ou destinées à l'ordinateur ORD, ces données utiles étant désignées par DU et transitant par le bus B 2 (bus données) Par ailleurs, le contrôleur DMAC contrôle un chemin de données transitant d'une part par B 2, puis par FLI 1, et par BI, et allant dans la mémoire SRAM. Il s'agit de celui par o transitent les données constituant GPOS. On considère enfin les chemins de données contrôlés par le coprocesseur MPC Il s'agit tout d'abord du chemin de données véhiculant les trames provenant de l'ordinateur ORD ou d'un autre ordinateur ou dispositif universel de couplage connecté à PSB désignés par FRO et empruntant PSB. Il s'agit encore du chemin de données transmises par l'ordinateur au microcontrôleur MIC via PSB lors des opérations d'interconnexion et de remise à zéro de chacun des éléments de la carte portant GPUI, et ici désigné par RAZ. Le fonctionnement du dispositif selon l'invention GPUI est le suivant Opération O Pl Au départ, le microcontrôleur MIC libère le microprocesseur CPU et le laisse démarrer Ce dernier commence par mettre en oeuvre les programmes d'auto-tests qui sont contenus dans la mémoire EPROM 1 Si les auto-tests se révèlent corrects, le microprocesseur contrôle les opérations d'initialisation de la carte effectuées par le microcontrôleur MIC Les différents éléments constituant GPUI sont alors dans leur bon état de fonctionnement. Opération OP 2: Sous la conduite de DMAC, on charge le système d'exploitation GPOS dans la mémoire SRAM Ceci étant fait, CPU peut le mettre en oeuvre pour contrôler l'ensemble des opérations effectuées par GPUI Un exemple de réalisation de ce système d'exploitation est par exemple décrit dans la demande de brevet français déposée ce jour par la demanderesse sous le titre:'1 Système d'exploitation pour dispositif universel de couplage d'un bus d'ordinateur à au moins une liaison spécifique d'un réseau" On peut alors passer à l'opération suivante. Opération OP 3: Elle concerne l'émission ou la réception de trames allant vers ou provenant du réseau. On considère tout d'abord l'émission, c'est à dire l'envoi d'informations depuis l'ordinateur ORD jusqu'au réseau RN. Dans ce cadre, l'ordinateur est l'initiateur du processus. Il convient de signaler que l'ordinateur possède dans ses mémoires, des zones mémoire, plus communément appelées "Tbuffers", selon la terminologie anglo-saxonne o sont mémorisées avant leur émission les trames destinées à être envoyées sur le réseau RN De manière courante, l'ordinateur ORD possède plusieurs zones mémoire BF 1, BF 2, etc, B Fm Chacune de ces zones ou buffers correspond généralement à des trames destinées à être envoyées sur un réseau utilisant un protocole donné Ces trames peuvent être envoyées selon des protocoles Ethernet, TCP-IP, FDDI, etc On considérera donc ici, par exemple le buffer BF 1 supposé contenir des trames destinées à un réseau par exemple FDDI. Les opérations se déroulent alors dans l'ordre suivant 1: L'ordinateur ORD envoie une interruption IT 1 au microprocesseur CPU, laquelle éveille ce dernier Cette interruption avertit le microprocesseur que l'ordinateur ORD va émettre une pluralité de trames vers le réseau RN, par exemple N trames Le dispositif GPUI travaille alors suivant N itérations comportant chacune les opérations 2 à suivantes 2: Le microprocesseur sous la conduite de son système d'exploitation GPOS, va chercher dans la mémoire de l'ordinateur ORD, l'adresse dans le buffer BF 1 du début de la trame à émettre, et la longueur de celle-ci. 3: Le microprocesseur va alors chercher dans le buffer BF 1 la trame en question, ici dénommée TR 1 Il vient la placer dans la mémoire VRAM, en ce qui concerne les données utiles, et ceci par l'intermédiaire de PSB, du coprocesseur MPC, et grâce au contrôleur DMAC qui organise le transfert de celles-ci depuis le coprocesseur jusqu'à VRAM Quant aux blocs de commande SCBO, ils sont transmis via PSB, MPC, B 2 et BI dans la mémoire vive SRAM. Il convient de préciser qu'en ce qui concerne les opérations 2 et 3 effectuées sous le contrôle de GPOS, les informations sont transmises depuis l'ordinateur vers le microprocesseur dans un protocole de transmission qui est spécifique de l'ordinateur en question Dans l'exemple de réalisation choisie, ce protocole est un protocole dit " 1 PLANET 1 T qui est décrit dans le brevet français n'2 633 414 déposé par la demanderesse ayant pour titre "Système informatique à interconnexion centrale" On passe ensuite à l'opération 4: 4: Le microprocesseur CPU effectue l'adaptation des protocoles entre le protocole PLANET et le protocole de type FDDI utilisé sur le réseau RN Cela revient, à partir des blocs de commande SCBO, à constituer des blocs de commande SCB, tels que décrit dans la demande de brevet français précitée, et à découper la trame TR 1 en une pluralité de trames FDDI, dont la longueur correspond au format du protocole correspondant. : Le microprocesseur CPU charge successivement dans l'interface IHAD, les données utiles et dans IHAC le bloc de commande SCB Un dialogue s'instaure alors entre CPU et le dispositif adaptateur DEA conformément aux organigrammes décrits dans la demande de brevet français précitée, de manière à faire transiter les trames à travers DEA vers le réseau RN. On retourne alors à l'opération 2 pour la trame suivante TR 2 destinée à être transmise depuis BF 1 vers le réseau RN. Lorsque la trame T Rn est chargée par CPU dans les deux interfaces IHAD et IHAC, s'il n'y a plus de trames à émettre depuis BF 1, le microprocesseur CPU se met, soit au repos, pour ce qui concerne l'émission de trames concernant BF 1, soit commence à organiser l'émission de trames depuis un autre buffer BF 2, i B Fm. B Réception de trames Là encore, l'ordinateur ORD est l'initiateur des opérations La réception comporte les opérations suivantes 6 à 11: 6 l'ordinateur ORD émet une interruption IT 2 qui indique au microprocesseur CPU qu'un buffer BF'1 est à la disposition de ce dernier pour y ranger des trames provenant du réseau RN Il est clair, qu'avec une autre interruption, l'ordinateur ORD peut signifier au microprocesseur CPU qu'un buffer BF'2, BF'3, etc est à sa disposition pour y ranger des trames provenant de réseaux différents de RN Dans la pratique courante, les deux buffers BF 1 et BF'1 font partie d'une même zone mémoire qui est en fait divisée en deux, d'une part BF 1 pour l'émission et d'autre part BF'1 pour la réception de trames. 7: Le microprocesseur CPU redémarre et va chercher dans la mémoire de ORD affectée à cet effet, l'adresse et la longueur du buffer BF'1 et se met en position d'attente jusqu'à ce que, il recoive une interruption IT 3 reçue du DEA CPU lit alors le contenu de l'interface IHAC et y constate qu'une trame provenant du réseau RN est disponible pour être reçue par l'ordinateur ORD Cette trame TR'1 se situe dans l'interface IHAD. 8: Le microprocesseur CPU vide l'interface IHAD des données utiles qui s'y trouvent et les transfère dans la mémoire VRAM Il transfère les blocs de commande depuis IHAC vers la mémoire SRAM. 9 a) CPU effectue l'ajustement de protocole en transformant le bloc de commande SCB en bloc de commande SCBO. b) Il analyse le protocole de la trame reçue, tel que défini dans le bloc de commande SCB pour savoir dans quel type de buffer de la mémoire de l'ordinateur ORD, celle-ci doit aller Une fois que ceci est effectué, on passe à l'opération 10. 10: CPU effectue le transfert du bloc de commande SCBO vers l'ordinateur ORD via MPC et PSB, et simultanément lance le contrôleur DMAC afin que ce dernier transfère les données utiles de la trame TR'1 contenues dans la mémoire VRAM vers le buffer BF'1 Une fois que ce transfert est terminé, on retourne alors soit à l'opération 7 s'il s'agit de recevoir une trame TR'2 provenant du réseau RN, soit à l'opération 6 s'il s'agit d'une trame provenant d'un autre type de réseau et destiné à un autre buffer que BF'1. Bien entendu, l'ordinateur ORD reçoit du microprocesseur CPU un signal lui indiquant qu'une trame va lui parvenir. Lorsque le microprocesseur a rempli tout les buffers BF'1, BF'2, mis à sa disposition par l'ordinateur ORD, il envoie une interruption IT 4 à l'ordinateur ORD Ceci constitue l'opération 11. Il convient de préciser que les émissions et réceptions de trames effectuées sous le contrôle du microprocesseur CPU, sont entrelacées dans le temps et que ce dernier peut, dans l'exemple de réalisation préféré décrit ici, gérer 16 canaux logiques entrelacés, c'est à dire 8 canaux logiques pour la réception et 8 canaux logiques pour l'émission, chacun de ces canaux pouvant être affecté à un type de buffer particulier de l'ordinateur ORD. En conclusion, on voit que le dispositif universel de couplage GPUI selon l'invention, peut effectuer 3 opérations simultanées, à savoir, par l'intermédiaire du contrôleur DMAC, une émission et une réception, sur le bus B 2, alors que le microprocesseur CPU travaille pour une troisième opération (émission ou réception sur un autre canal) Ceci assure une grande performance au dispositif selon l'invention. REVENDICATIONS 1 Dispositif universel de couplage (GPUI) d'un bus d'ordinateur (PSB) à un contrôleur d'un groupe de périphériques (DEA) reliés entre eux par une liaison spécifique (FDDI) à laquelle le contrôleur est relié physiquement, comprenant: un microprocesseur (CPU) associé à au moins une mémoire (SRAM) contenant son propre système d'exploitation, une interface de liaison (IHAC, IHAD) avec le contrôleur (DEA) assurant le transfert des données des trames et de blocs de contrôle contenant les caractères de commande relatifs à la constitution de trames transmises soit vers la liaison, soit vers le bus, caractérisé en ce que, il comprend une mémoire vive tampon à double port (VRAM) connectée par l'intermédiaire d'un premier bus (B 1) à la dite interface (IHAD) et par l'intermédiaire d'un second bus (B 2) au bus d'ordinateur via une interface spécifique de ce dernier (MPC), le transfert des données entre l'interface de liaison (IHAC, IHAD) et la mémoire double port d'une part, entre celle-ci (VRAM) et le bus d'ordinateur (PSB) d'autre part, étant organisé par le microprocesseur (CPU), ce dernier transfert étant effectué sous le contrôle d'un circuit accès direct mémoire (DMAC), la transformation des blocs de contrôle spécifiques des protocoles utilisés sur le bus d'ordinateur, en ceux utilisés sur la liaison et réciproquement étant effectuée par le microprocesseur qui assure leur transfert sur son bus interne vers ou depuis l'interface de liaison (IHAC). 2 Dispositif universel de couplage selon la revendication 1 caractérisé en ce que la mémoire à double port (VRAM) comprend une zone mémoire paginée (PLM) comprenant N pages ayant chacune m lignes, un registre adresse/ligne (RAL), un registre adresse/page (RAP), un registre série de sortie (RSA) connecté au second bus, cette connexion constituant le second port, le premier port étant connecté au premier bus, la zone mémoire paginée (PLM) étant adressée par le registre adresse/page (RAP) pour l'adresssage de chacune des N pages et par le registre d'adresse/ligne (RAL) en ce qui concerne chacune des m lignes d'une page déterminée, le premier bus d'adresse (B 1) et le second bus d'adresse (B 2) étant connecté respectivement aux registres adresse/page et adresse/ligne par l'intermédiaire d'un circuit de combinaison (COMB), le pointeur (PNT) du registre série permettant de transférer à la suite les unes des autres, chacune des m lignes d'une page de la zone mémoire paginée. 3 Dispositif universel de couplage selon l'une quelconque des revendications 1,2 caractérisé en ce que le contrôleur accès direct mémoire a une vitesse de transfert légèrement supérieure à celle du bus d'ordinateur de manière à pouvoir saturer celui-ci. 4 Dispositif universel de couplage selon l'une des revendications 1,2,3 caractérisé en ce que des éléments d'isolation logique sont disposés respectivement entre le premier bus (B 1) et le bus interne du microprocesseur (BI) d'une part, et entre le second bus (B 2) et le bus du microprocesseur (BI), de manière à empêcher tout transfert de données utiles véhiculées sur l'un ou l'autre des premier et second bus vers le bus interne du microprocesseur. Dispositif universel de couplage selon la revendication 2, 3, 4 caractérisé en ce que la mémoire double port comprend un système de protection (RAMP) comportant une mémoire de type RAM et s'effectuant par numéro d'application associé au système d'exploitation du microprocesseur, et pour chaque numéro d'application par page de la mémoire associée au microprocesseur, cette protection se définissant par deux bits dont la combinaison définit un certain nombre d'opérations possible sur toute page déterminée de la mémoire associée au microprocesseur. 6 Dispositif selon l'une des revendications 2, 3, 4, 5 caractérisé en ce que la mémoire double port est une mémoire de type Vidéo-RAM. 7 Dispositif universel de couplage selon la revendication 4, 5, 6 caractérisé en ce que le microprocesseur (CPU) contrôle le chemin de données entre l'interface spécifique du bus de l'ordinateur et lui-même, transitant par son propre bus interne, les premiers éléments d'isolation logique (FLI 1) et le second bus B 2, concernant les blocs de commande incluant les caractères de commande relatifs aux différentes trames provenant de l'ordinateur (ORD), le contrôleur accès direct mémoire (DMAC) controlant le chemin de données utiles entre l'interface spécifique du bus d'ordinateur et la mémoire double port d'une part, et contrôlant d'autre part un chemin de donnée provenant de cet interface spécifique et passant par le second bus, les premiers éléments d'isolation logique, et le bus d'ordinateur pour aller dans la mémoire associée au microprocesseur, ce dernier chemin étant celui des données constituant le système d'exploitation du microprocessseur. 8 Procédé de mise en oeuvre du dispositif universel de couplage selon la revendication 1, pour l'émission de trames vers le réseau (RN) comprenant les opérations suivantes: 1: l'ordinateur (ORD) envoie une première interruption IT 1 au microprocesseur CPU, laquelle éveille ce dernier, 2: Le microprocesseur, sous la conduite de son système d'exploitation (GPOS), va chercher dans une zone mémoire dite buffer (BF 1) de l'ordinateur (ORD) l'adresse du début de la trame à émettre, et la longueur de celle-ci. 3: Le microprocesseur (CPU) va chercher dans ce buffer une première trame (TR 1) et vient la placer dans la mémoire à double port (VRAM) pour les données utiles et dans sa propre mémoire associée (SRAM) en ce qui concerne les blocs de commande, 4: Le microprocesseur effectue l'adaptation des protocoles entre le protocole utilisé pour la transmission de la trame depuis l'ordinateur (ORD) jusqu'au microprocesseur via le bus d'ordinateur d'une part, et le protocole utilisé sur le réseau (RN) d'autre part, : Le microprocesseur CPU charge les données utiles et les blocs de contrôle provenant respectivment de la mémoire double port et de sa propre mémoire associée dans l'interface de liaison, Les opérations 2 à 5 étant répétées autant de fois qu'il y de trames à émettre. 9 Procédé de mise en oeuvre du dispositif selon la revendication 1, pour la réception de trames provenant du réseau (RN) caractérisé en ce qu'il comprend les opérations suivantes 6: l'ordinateur (ORD) émet une seconde interruption IT 2 qui indique au microprocesseur (CPU) qu'une zone mémoire dite buffer (BF'1) est à la disposition de ce dernier pour y ranger des trames provenant du réseau (RN). 7: Le microprocesseur redémarre et va chercher l'adresse et la longueur du buffer BF'1 dans une mémoire de l'ordinateur affectée à cet effet, et se met en position d'attente jusqu'à ce que, il reçoive une troisième interruption IT 3 provenant du contrôleur de périphérique, cette interruption signifiant qu'une trame est disponible dans l'interface de liaison, 8: Le microprocesseur (CPU) vide l'interface de liaison des données utiles qui s'y trouvent ainsi que des blocs de commande et les transfère respectivement dans la mémoire double port et dans sa mémoire associée. 9: a) CPU effectue l'ajustement de protocole entre le protocole utilisé sur le réseau (RN) et celui utilisé sur le bus d'ordinateur, b) Il analyse le protocole de la trame reçue, pour déterminer dans quel type de buffer de la mémoire de l'ordinateur (ORD), la trame reçue doit aller, l'ordinateur comportant une pluralité de types de buffer, correspondant chacun à un type de réseau déterminé. : le microprocesseur (CPU) effectue le transfert du bloc de commande de la trame vers l'ordinateur (ORD) via le bus d'ordinateur, et simultanément lance le contrôleur accès direct mémoire de telle façon que celui-ci transfère les données utiles de la trame vers le buffer de l'ordinateur (BF'1). Le transfert de la trame dans ce buffer étant terminé, on retourne alors soit à l'opération 7 s'il s'agit d'une trame provenant du même réseau, soit à l'opération 6 s'il s'agit d'une trame provenant d'un autre type de réseau.