Brevet FR2645989A1 — publié le 19901019

COUPLEUR MULTIFONCTIONS ENTRE UNE UNITE CENTRALE D'ORDINATEUR ET LES DIFFERENTS ORGANES PERIPHERIQUES DE CE DERNIER. La présente invention concerne un coupleur multifonctions entre une unité centrale d'ordinateur et les différents organes périphériques de ce dernier. Elle est plus particulièrement destinée à organiser le transfert des informations entre chaque organe périphérique et l'unité centrale, quel que soit le type d'application que l'on cherche à mettre en oeuvre. De façon générale, un système informatique permet à des usagers humains de définir des traitements exécutables au moyen d'organes de mémorisation, d'exécution et d'échange avec son environnement extérieur. Des équipements variés peuvent ainsi servir de support à des systèmes informatiques: ce sont les grands ordinateurs, ou bien les miniordinateurs ou encore les ordinateurs à usage individuel. Quel que soit le type de système informatique, il existe des fonctions de base communes, sous diverses formes, à tous ces systèmes. Ces fonctions de base sont effectuées par les différents éléments structurels, matériels et logiciels, du système informatique. Pour simplifier, on supposera que ce système informatique est un ordinateur classique constitué d'une unité centrale (Central Processor Unit, en anglais, en abrégé CPU) et de différents périphériques, que ce soient des périphériques magnétiques, tels que mémoires à disque ou dérouleurs de bandes ou des périphériques dits d'entrée-sortie permettant l'échange de données avec l'extérieur (imprimantes et différents terminaux tels que minitel, etc...). - L'unité centrale est formée par un processeur central et une mémoire principale à laquelle ce processeur est relié et d'un processeur d'entréesortie assurant le contrôle de l'échange des données entre la mémoire et les différents organes périphériques. Le transfert physique des données entre 1 'unité centrale et le périphérique s'effectue par l'intermédiaire d'un coupleur qui est relié d'une part au bus de sortie de 1 'unité centrale et d'autre part à l'organe périphérique que l'on cherche à mettre en oeuvre. Les traitements d'information ou encore travaux que 1 'on cherche à faire exécuter par l'ordinateur sont extrêmement variés, par exemple établissement de fiches de paye, recherche de correspondants dans un annuaire téléphonique, réservation de place d'avion ou de chemin de fer, etc.... Chaque type de traitement ou encore chaque travail à effectuer définit une application. La mise en oeuvre de cette application au moyen de 1 'ordinateur est effectuée grâce à un programme d'application. Ce programme d'application est mis en oeuvre dans le processeur central de l'unité centrale de l'ordinateur qui contient les circuits nécessaires à l'exécution du jeu d'instructions qui définissent ce programme. Ces instructions ainsi que les données sur lesquelles elles opèrent sont o10 contenues généralement dans la mémoire principale. La réalisation de chacune des instructions du programme est effectuée par le processeur. Afin de mieux comprendre ce qu'est une application, on considère l'exemple suivant, à savoir la réservation automatique de place d'avion. Chaque fois qu'un voyageur s'adresse à un guichet, l'employé de la compagnie ou de l'agence de voyages utilise un terminal à clavier et écran relié à un ordinateur. Il interroge l'ordinateur pour proposer un vol déterminé et pour ce vol une place au voyageur. Après accord de 1 'ordinateur, qui lui est transmis de manière visuelle par l'écran du terminal, l'employé effectue la réservation. La liste des vols des différentes compagnies aériennes, ainsi que la liste des places disponibles et la liste des places occupées pour un vol donné d'une compagnie déterminée, sont rangées généralement dans une mémoire secondaire de l 'ordinateur, par exemple, une mémoire à disque, avec leurs différentes caractéristiques. Le programme qui réalise physiquement dans l'ordinateur la consultation et la mise à jour des listes pour le compte des différents voyageurs est appelé programme utilisateur ou programme d'application (voir plus haut). La zone de mémoire o sont stockées dans l'ordinateur les caractéristiques d'une liste de vols ou d'une liste de places s'appelle un fichier. Il est clair qu'à partir d'un même terminal, on peut chercher à mettre en oeuvre différentes applications, par exemple recherche d'un correspondant dans un annuaire téléphonique, recherche de places pour un spectacle, consultation d'une banque de données, etc.... Par ailleurs, d'un terminal à l'autre, les applications qu'on cherche à mettre en oeuvre peuvent être- di fférentes. -3- L'exemple de réservation de place d'avion ou de recherche d'un abonné au téléphone dans un annuaire téléphonique peut être considéré comme une application de gestion. Mais il existe également des applications scientifiques ou encore des applications industrielles de contrôle automatique de processus de production. Entre les différents terminaux et l'unité centrale de l'ordinateur, on trouve un ou plusieurs coupleurs qui assurent la transmission des informations entre chaque terminal et l'unité centrale. Au cours de cette transmission, on vérifie la cohérence des informations et des formats des différentes trames d'information transmises, c'est-a-dire, on vérifie si le format de ces trames est cohérent avec le mode de transmission utilisé propre à chaque terminal. On rappelle qu'une trame d'information est le bloc élémentaire d'information émis par un terminal, qu'elle est structurée, comporte un message de début et de fin, des signaux de synchronisation pour en déduire l'horloge, l'adresse du terminal émetteur, la longueur des données, les données utiles, etc..... Le coupleur doit donc vérifier si chaque trame d'information est bien transmise avec le format approprié, ce format devant être conforme au protocole de transmission qui régit le dialogue entre la station et l'unité centrale. Ce protocole définit pour chaque station les règles d'accès à celles-ci. Par ailleurs, le coupleur doit transmettre ces informations sans erreur et régénérer des signaux dont l'amplitude se trouve affaiblie au cours du processus de transmission entre la station et l'unité centrale. On connait deux types principaux de coupleurs utilisés dans la pratique courante, par exemple, dans l'ordinateur DPS 6 de la Société BULL S.A. Le premier, à savoir C01, est représenté par exemple à la figure 1. Ce coupleur CO1 comprend d'une part une carte-mère CM1 et une carte-fille CF1. La carte-mère est reliée physiquement à l'unité centrale CPU de 1 'ordinateur ORD par l'intermédiaire d'un bus BUS1 o les bits d'information sont transmis en parallèle. -4 - L'unité centrale CPU comprend le programme d'application qu'elle met en oeuvre en association avec l'organe périphérique OPER (non représenté à la figure 1 pour simplifier). On a représenté à la figure 1, l'interface entre le programme d'application contenu dans la mémoire centrale de l'unité centrale CPU et le coupleur CO1, à savoir DR1, qui est en fait un module logiciel, plus communément appelé driver, selon la terminologie anglo-saxonne et qui est décrit dans les manuels techniques relatifs à l'ordinateur DPS 6. La carte-mère CM1 est également reliée physiquement par l'intermédiaire du bus parallèle BUS1 à d'autres coupleurs, de structure identique à CO1, à savoir COi, COi + 1, etc... La carte-mère CM1 comporte une interface physique I1 et la carte-fille CF1 comporte une interface physique I2, lesquelles assurent la continuité physique des signaux qui transitent entre la carte CM1 et la carte CF1. De même la carte-fille CF1 comporte une interface physique I3 qui assure la continuité physique des signaux qui transitent entre la carte-fille CF1 et 1 'organe périphérique OPER par l'intermédiaire d'un bus parallèle LB1. Ce bus parallèle est par exemple un bus pouvant faire transiter 8 bits en parallèle. Les interfaces Il, 12 sont de simples connecteurs assurant la connexion physique entre les conducteurs de la carte-mère et ceux de la carte-fille. L'interface I3 est par exemple constituée par des coupleurs optoélectroniques de type HP2602 HCL dont la bande passante est de 10 MHz. Ces coupleurs optoélectroniques réalisent l'adaptation électrique des signaux et permettent 1 'isolation électrique entre les différents éléments constituant 1 'ordinateur et l'organe périphérique OPER. La carte-mère CM1 est une carte non intelligente, et est vendue sous la désignation commerciale GPI (General Purpose Interface) avec 1 'ordinateur DPS 6. Elle comprend essentiellement un séquenceur SEQ d'accès direct mémoire DMA, cette procédure d'accès direct étant parfaitement connue de 1 'homme du métier et étant par ailleurs décrite dans les manuels d'utilisation technique de l'ordinateur DPS 6. --5- La carte-fille CF1 comporte un microprocesseur MP1, par exemple de type 68010 de la firme MOTOROLA. Dans cette solution, le micrologiciel comprenant l'ensemble des microinstructions permettant d'assurer le transfert des informations de l'organe périphérique OPER vers l'unité centrale CPU ou vice-versa, de façon cohérente, et sans altération des différents signaux représentant les bits d'information est contenu dans le microprocesseur MP1. Dans la suite du texte, ce micrologiciel sera désigné sous l'appellation micrologiciel d'application. Par ailleurs, en cas d'interruption des échanges d'informations entre l'unité centrale CPU et le périphérique OPER (dû par exemple au fait que l'unité centrale traite plusieurs programmes d'application en association avec différents organes périphériques simultanément, ces programmes d'application pouvant donc être interrompu à un moment ou à un autre pour permettre le traitement d'autres programmes d'application), c'est le logiciel de l'unité centrale qui gère ces interruptions. Dans ce premier type de coupleur, on voit qu'à chaque nouvelle application il faut changer d'une part la carte- fille CF1 mais également le logiciel qui est contenu dans l'unité centrale. Cette solution n'est pas suffisamment souple et est relativement compliquée. On considère maintenant le deuxième type de coupleur, à savoir C02 qui est représenté à la figure 2 et qui a la désignation commerciale MDC (Multi Device Controller) pour l'ordinateur DPS 6, déjà mentionné. Sur cette même figure 2, on a représenté l'unité centrale CPU analogue à celle de la figure 1, avec son interface logiciel DR2, analogue à l'interface DR1, et le coupleur C02 composé de la carte-mère CM2 et de la carte-fille CF2. La carte-mère CM2 est reliée physiquement à l'unité centrale CPU par l'intermédiaire du bus parallèle BUS2 identique au BUS1. Cette unité centrale CPU est reliée par l'intermédiaire de ce bus BUS2 à d'autres coupleurs, de structure identique au coupleur C02, à savoir COj, CoJ + 1, etc... - 6 - La carte-mère CM2 comporte une interface physique 14, analogue à l'interface 1.1 de la carte-mère CM1 de la figure 1, alors que la carte- fille CF2 comporte deux interfaces 15 et 16 analogues aux interfaces 12 et 13 de la carte-fille CF1 de la figure-1. Le rôle des interfaces 14, I5, 16 est analogue au rôle des interfaces I1, I2, 13 montrées à la figure 1. La carte-fille CF2 est reliée par l'intermédiaire du bus parallèle LB2 analogue à LB1 à l'organe périphérique OPER. La carte-fille CF2 est une carte non intelligente et ne comporte que des circuits de connexion physique et des outils d'interface, par exemple du type HP2602 HCL précité. La carte-mère CM2 comporte un microprocesseur MP2, et une mémoire morte de type PROM, à savoir PROM2, le microprocesseur MP2 et la mémoire morte PROM2 étant reliés au même bus interne BI du microprocesseur MP2, lui-même relié au bus BUS2. Pour une application donnée, le micrologiciel relatif à cette application permettant le transfert des informations entre l'organe périphérique OPER et l'unité centrale CPU réside entièrement dans la carte-mère, à l'intérieur de la mémoire morte PROM2. Il est mis en oeuvre par le microprocesseur MP2. L'inconvénient de ce deuxième type de coupleur C02 réside en ce que, pour chaque nouvelle application, il faut réaliser une nouvelle version de la carte-mère, puisque le micrologiciel relatif à l'application est contenu dans une mémoire PROM non effaçable. Par ailleurs, le micrologiciel étant contenu et exécutable en mémoire de type PROM, o le temps d'accès est relativement élevé (de 150 à 20U nanosecondes), ce micropresseur MP2, se trouve ralenti du fait du temps d'accès relativement long de la mémoire PROM (le temps d'accès des microprocesseurs est de l'ordre de 100 nanosecondes). En conséquence, la puissance disponible du microprocesseur est diminuée d'autant. En conclusion, les inconvénients majeurs des deux solutions de coupleurs existantes sont - soit la limitation de puissance disponible des cartesmères due au micrologiciel contenu et exécutable en mémoire PROM, -7- soit la nécessité de changer les cartes-mères ou 1 'ensemble carte-mère plus carte-fille pour chaque nouvelle application spécifique. La présente invention permet de remédier à ces inconvénients en rendant la carte-mère indépendante de l'application tant du point de vue matériel que logiciel, et en mémorisant la partie du micrologiciel propre à une application donnée dans une mémoire de type EPROM contenue dans la carte- fille. Lors de 1 'exécution de l'application, le micrologiciel contenu dans la carte-fille est transféré dans une mémoire vive de type SRAM contenue dans la carte-mère, le micrologiciel dans son ensemble étant exécuté à la vitesse maximum du microprocesseur dans cette mémoire de type SRAM. Ainsi, dans cette solution propre à l'invention, seule la partie du micrologiciel spécifique à l'application donnée sera à développer. On réalise donc une carte-mère universelle commune à toutes les applications. Seules les cartes-filles sont changées d'une application à une autre. Selon l'invention, le coupleur multifonctions entre l'unité centrale d'ordinateur et les différents organes périphériques de ce dernier contenant au moins un micrologiciel d'application commandant le transfert des informations entre, d'une part l'organe périphérique mettant en oeuvre au moins un programme d'application contenu dans l'unité centrale et d'autre part, 1 'unité centrale proprement dite, comprenant une cartemère associée à au moins une carte-fille, la carte-mère comportant une première interface de connexion vers le bus de sortie de 1 'unité centrale et une seconde interface de connexion vers la carte-fille, - un microprocesseur de contrôle et de commande disposé entre la première et la seconde interface, la carte-fille comprenant une interface de connexion vers 1 'organe périphérique et une interface de connexion vers la carte-mère, est caractérisé en ce que la carte-mère comprend une mémoire vive et une première mémoire morte reliées au bus de sortie du microprocesseur et la carte-fille une seconde mémoire morte, le micrologiciel d'application comprenant une première partie contenue dans la première mémoire morte de la carte-mère commune pour tous les micrologiciels d'application et une seconde partie contenue dans la seconde mémoire morte de la carte-fille - 8- spécifique à l'application mise en oeuvre par l'organe périphérique associé à la carte-fille, cette seconde partie n'étant rendue exécutable qu'après son transfert dans la mémoire vive de la carte-mère. 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 annexes. Sur ces dessins: La figure 1 rappelle comment est constitué un premier type de coupleur selon 1 'art antérieur, La figure 2 rappelle comment est constitué un second type de coupleur selon 1 'art antérieur, La figure 3 montre le schéma constitutif du coupleur selon l 'invention, La figure 4 montre les différents ensembles constituant le micrologiciel relatif à une application spécifique, La figure 5 illustre le fonctionnement du coupleur selon l'invention, montrant plus particulièrement comment est transférée la partie du micrologiciel contenue dans la carte-fille vers la carte-mère, À La figure 6 est un organigramme montrant comment est chargé l'ensemble du micrologiciel relatif à chaque application dans la carte-mère avant son exécution. On considèr.e la figure 3 qui représente le coupleur COI selon l'invention. Ce dernier comprend une carte-mère CMI1 et une pluralité de cartes-filles associées, dont seulement deux sont représentées pour simplifier, à la figure 3, à savoir les cartes-filles CFI1 et CFI2. La carte-mère CMI1 est reliée à l'unité centrale CPU (non représentée pour simplifier à la figure 3) par l'intermédiaire du mégabus BUSI, identique au bus BUS1 et BUS2 montrés aux figures 1 et 2. - g 9- La carte-mère CMI1 comprend un microprocesseur MIPI, une mémoire vive MVI de type SRAM, et une mémoire morte reprogrammable de type EPROM, à savoir MPMI. Par ailleurs, la carte-mère CMI1 comporte deux interfaces INI1 et IN12 qui assurent respectivement le couplage avec les cartes-filles CFI1 et CFI2. Les interfaces INI1 et INI2 sont analogues aux interfaces I1 et 14 montrés aux figures i et 2. Le microprocesseur MIPI et les mémoires vives MVI et programmables MPMI sont connectés au même bus interne du microprocesseur MIPI, à savoir BUSMI, ce bus étant lui-même connecté au mégabus BUSI d'une part, et aux deux interfaces INI1 et INI2 d'autre part. Le microprocesseur MIPI est par exemple du type 68020, de la firme MOTOROLA SEMI-CONDUCTORS, par exemple, sise à Colvilles Road, Kelvin Estate - East Kilbride à Glasgow en Ecosse. Ce microprocesseur est donc décrit dans les notices techniques qui lui sont consacrées par ce constructeur. On rappelle qu'un tel processeur est rythmé par une horloge de 16,6 MHz. Le bus interne BUSMI du microprocesseur MIPI est un bus parallèle sur 32 bits et les transferts d'informations avec le mégabus BUSI et avec les cartes-filles CFI1 et CFI2 sont réalisés en mode accès direct mémoire DMA. La mémoire vive MVI de type SRAM a une capacité mémoire de 256 kilooctets et est organisée en 64 kilomots de 32 bits. La mémoire morte MPMI de type EPROM contient un micrologiciel propre à la carte-mère, qui est désigné par PMR, un programme moniteur de mise au point, à savoir PMO, et le noyau central NY du micrologiciel dont la fonction sera détaillée plus loin. Les deux cartes-filles CFI1 et CFI2 ont une structure identique. La carte- fille CFI1 comporte un circuit d'application API1 et une mémoire morte reprogrammable de type EPROM, à savoir MPFI1, alors que la carte-fille CFI2 comporte un circuit d'application API2 identique au circuit API1 et une mémoire morte reprogrammable MPFI2 identique à MPFI1. Par ailleurs, la carte-fille CFI1 comporte une interface INI3 de connexion avec la carte-mère CMI1 et une interface vers le périphérique INI5, alors - 10 - que la carte-fille CFI2 comporte une interface INI4 de connexion avec la carte-mère CMI1 et une interface INI6 vers l'organe périphérique qui met en oeuvre l'application A2. Elle est reliée à l'organe périphérique par exemple par un bus LB3 (LB4 pour CFI2) identique à LB1 ou LB2, parallèle sur huit bits, mais il est clair que cette liaison peut être réalisée différemment par exemple être de type série. Les interfaces INI3 et INI5 d'une part, et INI4, INI6 d'autre part sont identiques par exemple aux interfaces I2, 13 et 16 montrées respectivement aux figures 1 et 2. Les mémoires mortes MPFI1 et MPFI2 contiennent chacune un micrologiciel qui est spécifique à l'application A1 ou A2 mise en oeuvre par l'organe périphérique OPER1 ou OPER2. Aucun des micrologiciels résidant dans les mémoires MPFI1 et MPFI2 n'est exécutable. De ce fait, peu importe la structure physique qui va permettre de stocker chacun de ceux-ci. On peut donc les stocker soit sur un support à 8, à 16 ou à 32 bits. Ceci permet une grande souplesse d'utilisation pour les cartes-filles. Ces programmes résidant dans les mémoires mortes de type EPROM, à savoir MPFI1 et MPFI2 sont rendus exécutables en étant chargés dans la mémoire vive MVI de type SRAM de la carte-mère CMI1. Le chargement de ces micrologiciels contenus dans les mémoires mortes des cartes-filles a lieu sous la conduite du noyau NY du micrologiciel. Dans les différentes mémoires mortes MPFI1, MPFI2, etc..., des cartes-filles CFI1, CFI2, etc..., la suite des microinstructions constituant les micrologiciels sont chargées aux mêmes adresses physiques. De ce fait, il est impossible de les différencier lorsqu'ils sont contenus dans les cartes-filles. C'est la raison pour laquelle ils ne peuvent être rendus exécutables à l'intérieur de cellesci. C'est le noyau du système NY qui, lors du chargement de ces micrologiciels à l'intérieur de la mémoire MVI, les différencie. Le noyau NY charge les microinstructions du micrologiciel contenu dans la carte- fille à des adresses physiques en mémoire vive MVI qui sont différentes de celles auxquelles sont chargées ces mêmes microinstructions en carte- fille (CFI1 ou CFI2). Ainsi, si, par exemple les microinstructions du micrologiciel de la carte CFI1 sont chargées dans MPFI1 aux adresses 1 à , le noyau NY charge celles-ci par exemple, aux adresses 1000 à 1100 en mémoire vive MVI. Il est par ailleurs évident que les microinstructions du - 11 - micrologiciel de la carte CFI2 sont chargées par NY dans MVI à des adresses autres que les adresses 1000 à 1100 et qu'il en est de même pour les microinstructions des micrologiciels contenus dans les cartes-filles autres que CFI1 et CFI2. Ainsi, chacun des micrologiciels contenu dans les cartes- filles, qui constitue une tache spécifique exécutée par le noyau du système, ne pourra être exécuté que lorsqu'il aura été chargé et mis en place dans la mémoire vive MVI. En conclusion, on peut dire que le micrologiciel d'application PMAS qui va organiser le transfert des informations entre l'unité centrale CPU et l'organe périphérique OPER1 ou OPER2 pour la mise en oeuvre du programme d'application contenu dans la mémoire centrale de l'unité centrale CPU est constitué de la manière indiquée à la figure 4. !5Ce micrologiciel PMAS est donc constitué du noyau central NY et d'un certain nombre de -modules micrologiciels. Ces différents modules micrologiciels sont les micrologiciels PMF1 et PMF2 contenus dans les mémoires mortes MPFII et MPFI2 des cartes-filles CFI1 et CFI2 (voir également figure 5) et le micrologiciel PMM qui est contenu dans la mémoire morte MPMI de la carte-mère CMI1, et enfin le moniteur PMO, également contenu dans celle-ci. Ainsi le noyau NY est-il la partie centrale du micrologiciel PMAS, qui gère les différents modules PMF1, PMF2, PMO, PMM et organise les différentes taches correspondant à ces micrologiciels. On rappelle qu'une tache est un traitement correspondant à l'exécution d'un micrologiciel déterminé. Il est clair que le micrologiciel PMAS chargé dans la mémoire vive MVI est mis en oeuvre dans le microprocesseur MIPI qui contient les circuits nécessaires à l'exécution du jeu de microinstructions qui définissent ce microprogramme. Dans une forme de réalisation préférée de 1 'invention, ce microprogramme est écrit en langage C. Pour résumer ce qui a été décrit plus haut, le noyau NY et les modules PMO et PMM sont écrits dans la mémoire morte MPMI de la carte-mère CMI1, alors que les modules PMF1, PMF2 sont écrits dans les mémoires mortes MPFI1 et MiPFI2. - 12 - Le rôle du module micrologiciel PMF1 (le rôle du micrologiciel PMF2 est évidemment identique) est d'organiser la transmission des informations de l'organe périphérique OPER1 vers la carte-mère, à travers le circuit d'application API1 (ainsi, si le bus LB3 est un bus parallèle sur huit bits, le circuit API1 effectue la transformation de la liaison sur huit bits en une liaison 32 bits pour le bus BUSMI et vice-versa, ce qui est effectué, de manière connue, par un ensemble de registres associés à un dispositif multiplexeur), et ensuite d'en vérifier la cohérence, en regardant quelles sont les erreurs de parité, de vérifier les formats des trames transmises et si ces dernières sont cohérentes avec le mode de transmission spécifique à l'organe périphérique OPER1, c'est-a-dire avec le protocole de transmission. Le module micrologiciel PMM de la carte-mère CMI1 ne s'occupe pas de vérifier une quelconque cohérence entre les trames transmises et le protocole et le format utilisé. Ceci est du ressort exclusif du module micrologiciel PMF1. Par contre, il a pour rôle de transmettre les informations provenant des cartes-filles dont on a' vérifié la cohérence et les formats, vers l'unité centrale CPU. Il est clair.que les modules micrologiciels PMF1, PMF2 etc, varient suivant le type de périphériques et pour un même périphérique varient suivant l'application que l'on met en oeuvre avec ce dernier. On voit donc que le rôle de la carte-mère CMI est d'une part de transmettre les informations vers 1 'unité centrale CPU et d'autre part, de charger les modules logiciels des cartes-filles dans la mémoire vive MVI et ensuite d'exécuter ceux-ci sous la surveillance du noyau NY. Lorsque l'on veut exécuter un programme d'application contenu dans une unité centrale CPU et mis en oeuvre par l'intermédiaire d'un organe périphérique OPER1, on procède alors de la manière suivante, en se référant à l'organigramme montré à la figure 6 qui représente les différentes étapes du chargement du micrologiciel PMAS dans la mémoire vive MVI. Ce chargement comprend d'une part une phase d'initialisation et d'autre part une séquence de six phases successives qui permettent de charger les modules micrologiciels tels que PMF1, PMF2, etc... - 13 - A/ INITIALISATION: On initialise d'abord la carte-mère grâce au microprocesseur MIPI et ensuite, après avoir exécuté les tests habituels de bon fonctionnement des différents éléments constituant la carte-mère, on commence par charger dans la mémoire vive MVI le noyau NY du système puis on lance ce noyau. Ce dernier va alors chercher le module PMM contenu dans la mémoire morte MPMI de la carte-mère CMI1, et le transférer dans MVI. De préférence, il va chercher également le moniteur PMO et le transférer dans MVI. On rappelle que le moniteur est un micrologiciel d'aide à la mise au point des autres programmes permettant de visualiser, de modifier la mémoire SRAM et les registres du microprocesseur, d'arrêter l'exécution d'un programme a une adresse choisie et de le relancer. Au cours de l'exécution du micrologiciel PMAS, il n'y a pratiquement pas d'intervention du programme moniteur. En fait, le moniteur n'organise donc pas le travail en cours d'application mais il se contente d'un rôle de surveillant de l'exécution des différentes tâches du programme PMAS, à savoir NY, PMM et PMF1. B/ CHARGEMENT DU MICROLOGICIEL PMF1 DANS LA MEMOIRE VIVE MVI: Ce chargement comporte donc six phases successives qui sont les suivantes: Phase P1: cette phase est celle de la préparation de la structured'accueil pour recevoir le micrologiciel PMF1: elle consiste essentiellement à préparer la zone de mémoire vive MVI qui va recevoir le micrologiciel PMF1; ce qui revient à remettre à zéro l'emplacement mémoire qui va recevoir le micrologiciel PMF1 et à indiquer les adresses qui seront affectées à ce programme. Phase P2: il s'agit du test de la présence et du bon fonctionnement de la carte-fille CFI1. Par ce test, on s'assure que la carte-fille CFI1 est physiquement connectée à la carte-mère et que la carte-fille fonctionne correctement. Ceci est assuré par un bit spécial qui est présent au niveau de l'interface INI1 et dont la valeur indique si la carte-fille fonctionne correctement. Il peut y avoir également un autre signal qui indique que le périphérique OPER1 est réellement connecté et qu'il peut mettre en oeuvre - 14- l'application spécifique. Ce bit envoyé au microprocesseur MIPI est interprété par ce dernier. Si sa valeur est correcte, on passe à l'opération P3 suivante. Si au contraire sa valeur est non correcte on passe directement au chargement du micrologiciel de la carte CFI2. Phase P3: il s'agit de la vérification du contenu de la mémoire MPFI1 de la carte-fille CFI1. Au cours de cette vérification, on vient analyser les premiers bits de la zone mémoire o sont inscrites les microinstructions du micrologiciel contenues dans la carte-fille CFI1. Ces premiers bits indiquent par exemple le nom du module micrologiciel PMF1, ce qui permet d'identifier de quel type de programme d'application il s'agit de mettre en oeuvre, les dates d'écriture du micrologiciel et de sa dernière mise a jour, la taille du module PMF1, le nombre de paramètres de translation de celui-ci. Par ailleurs, il convient de vérifier si ceux-ci sont bien 1S présents. On rappelle que les paramètres de translation (relocating parameters, en anglais) sont des paramètres qui permettent de déplacer en bloc, dans la mémoire vive MVI, le micrologiciel contenu dans la carte- fille vers cette mémoire vive, en modifiant en conséquence les adresses numériques qui sont contenues dans les instructions. Cela signifie que si les différentes microinstructions contenues dans le micrologiciel de la carte-fille CFI1 sont écrites à des adresses, par exemple, 1, 2, 3,..., j, etc, ces mêmes microinstructions seront contenues dans des zones mémoires de la carte vive MVI ayant les adresses j + k. Les paramètres de translation sont donc constitués par une étiquette indiquant un nom, qui est celui de la microinstruction et d'une adresse qui est l'adresse j o cette microinstruction est contenue dans la mémoire MPFI1 de la cartefille CFI1. Ces paramètres de translation disent: à telle adresse j de la mémoire MPFI1, il faudra changer la valeur de 1 'adresse j en une valeur j + k dans la mémoire vive MVI. La valeur à ajouter à k est indiquée par une microinstruction contenue dans le noyau NY. En résumé, la vérification du contenu de la mémoire MPFI1 consiste à lire au début de la zone mémoire o est inscrite le programme PMF1 une série de bits qui indiquent que la mémoire MPFI1 est déjà écrite. Si cette 3 vérification s'avère positive, on passe ensuite à la phase suivante P4, sinon, on passe directement au chargement du micrologiciel de la carte CFI2. - 15 - Phase P4: Cette phase consiste à transférer le micrologiciel PMF1 dans la mémoire vive MVI aux adresses prévues dans la phase P1. On passe ensuite à la phase suivante P5. Phase P5: Cette phase consiste à adapter les adresses des branchements du micrologiciel carte-fille et celles des variables qui sont contenues dans ce micrologiciel aux nouvelles adresses de chargement en mémoire vive MVI. Dans cette opération, le microprocesseur MIPI vient lire les paramètres de translation et pour chacun d'entre eux ajoute à l'adresse j qui est indiquée la quantité k qui est la valeur à ajouter à l'adresse j pour avoir la nouvelle adresse j + k o la microinstruction correspondante va se trouver en mémoire vive MVI. L'opération P5 permet donc de rendre exécutable en mémoire vive MVI le micrologiciel qui a été transféré de la mémoire morte MPFI1 à la mémoire vive MVI de la carte-mère CMI1. Dès que l'opération P5 est terminée, on passe à l'opération suivante P6. Phase P6: Le micrologiciel PMAS est prêt à être exécuté. Cette exécution a lieu au moment choisi par l'unité centrale CPU de l'ordinateur lorsque cette dernière est prête à exécuter le programme d'application mis en oeuvre par l 'organe périphérique OPER1. Dès que le micrologiciel a été exécuté, on passe ensuite au chargement en mémoire vive MVI du micrologiciel PMF2 de la carte-fille CFI2, ou de toute autre carte-fille analogue. Revendications: 1. Coupleur multifonctions entre une unité centrale d'ordinateur (CPU) et les différents organes périphériques de ce dernier (OPER1, OPER2), contenant au moins un micrologiciel d'application (PMAS) commandant le transfert des informations entre d'une part, l'organe périphérique (OPER1) mettant en oeuvre au moins un programme d'application contenu dans 1 'unité centrale, et d'autre part l'unité centrale proprement dite, comprenant une carte-mare (CMI1) associée à au moins une carte-fille (CFI1, CFI2), la carte-mère (CMII) comportant: - une première interface de connexion vers le bus de sortie (BUSI) de 1 'unité centrale (CPU) et une seconde interface de connexion vers la carte- fille (INI1, INI2), - un microprocesseur de contrôle et de commande (MIPI) disposé entre la première et la seconde interface, - la carte-fille (CFI1, CFI2) comprenant une interface de connexion vers l'organe périphérique (INI5, INI6), et une interface de connexion avec la carte- mère (INI3, INI4), caractérisé en ce que la carte-mère (CMI!) comprend une mémoire vive (MVI) et une première mémoire morte (MPMI) reliées au bus de sortie du microprocesseur (BUSMI) et la carte-fille, une seconde mémoire morte (MPFI1, MPFI2), le micrologiciel d'application (PMAS) comprenant une première partie (PMM) contenue dans la première mémoire morte (MPMI) de la carte-mère (CMI1), commune pour tous les micrologiciels d'application (PMAS) et une seconde partie (PMF1) contenue dans la seconde mémoire morte (MPFI1) de la carte-fille (CFI1) spécifique à l'application mise en oeuvre par l'organe périphérique associé à la carte-fille (OPER1), cette seconde partie n'étant rendue exécutable qu'après son transfert dans la mémoire vive (MVI) de la carte-mère (CMI1). 2. Coupleur selon la revendication 1, caractérisé en ce que la première et la seconde mémoire morte sont de type EPROM reprogrammable. 3. Coupleur selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que la carte-fille comprend disposée entre les interfaces de connexion avec la carte-mère et l'organe périphérique, un circuit d'application (API1, API2) pour assurer la transmission des informations de l'organe périphérique (OPER1, OPER2) vers la carte-mère (CMI). 4. Coupleur selon l'une des revendications 1, 2, 3 caractérisé en ce que le noyau du micrologiciel d'application est contenu dans la première mémoire morte (MPMI). 5. Procédé de mise en oeuvre du coupleur selon la revendication 4 caractérisé en ce qu'il comprend successivement: A/ Une phase d'initialisation o le noyau (NY) du micrologiciel d'application (PMAS) est chargé en mémoire vive (MVI), sa première partie (PMM) étant ensuite chargée sous la conduite du noyau, dans cette même mémoire vive. B/ Une séquence de chargement de la seconde partie (PMF1) comprenant six phases distinctes successives: P1) préparation de la structure d'accueil (mémoire vive MVI) qui reçoit la seconde partie (PMF1, PMF2) du micrologiciel d'application, P2) test de la présence et de bon fonctionnement de la carte-fille (CFI1), P3) vérification du contenu de la seconde mémoire morte (MPFI1) et des paramètres de translation qu'elle contient, P4) transfert du contenu de la seconde mémoire morte dans la mémoire vive, P5) adaptation des adresses de branchements et celles des variables aux adresses de chargement en mémoire vive (MVI), P6) exécution du micrologiciel d'application PMAS au moment choisi par l'unité centrale (CPU) de l'ordinateur. 6. Procédé selon la revendication 5 caractérisé en ce que la phase P1 consiste à remettre à zéro l'emplacement de mémoire vive (MVI) qui reçoit la seconde partie (PMF1) du micrologiciel d'application (PMAS) et à indiquer les adresses correspondantes qui sont affectées à cette seconde partie. 7. Procédé selon la revendication 6 caractérisé en ce que le transfert du contenu de la seconde mémoire morte (MPFI1) dans la mémoire vive (MVI) a lieu aux dites adresses correspondantes.