FR 2508201 A1 19821224 FR 8210678 A 19820618 La présente invention concerne un circuit d'inter- face destiné à former l'interface entre, d'une part, un pro- cesseur et sa mémoire associée et d'autre part un canal de transmission qui achemine des messages de données, chacun d'eux contenant une zone d'en-tgte ayant des parties de source, de destination et de commande, tandis que le proces- seur comporte des bus de données d'adresse et de commande. Les circuits d'interface de l'art antérieur qui interconnectent un processeur et un canal de transmission sont utilisés simplement en tampon Ils ont pour fonction d'enregistrer les messages de données qui apparaissent sur le canal de transmission et de générer une interruption cha- que fois qu'un message de données est reçu Le problème qui se pose avec cette configuration consiste en ce que le pro- cesseur consomme une quantité excessive de temps réel pour prendre en charge les interruptions provenant du circuit d'interface Une partie importante de ce temps réel est con- sommée pour décoder l'en-tête du message de données, afin de déterminer si le message de données est destiné au processeur associé et, dans l'affirmative, l'emplacement auquel le mes- sage de données doit 4 tre enregistré dans la mémoire du pro- cesseur Chaque message de données apparaissant sur le canal de transmission dans certains systèmes de transmission com- prend une zone d'en-tête qui contient de façon caractéristi- que 14 multiplets d'information qui doivent tous être décodés. le décodage de cette zone d'en-tgte consomme une quantité importante du temps réel du processeur Les circuits d'inter- face de l'art antérieur ne font rien pour accélérer ce prc- cessus de décodage et, en fait, la plupart des circuits d'in- terface de l'art antérieur ont peu d'intelligence incorporée et remplissent uniquement la fonction d'une simple mémoire tampon, ce qui exige que le processeur accomplisse à la fois les tâches de décodage de l'en-tête et d'enregistrement du message de données Ceci n'a pas constitué un problème im- portant jusqu'à présent, du fait que, généralement, les pro- cesseurs ne sont pas limités en ce qui concerne le temps réel, ou bien travaillent en un mode de traitement par lots. Cependant, dans les systèmes de transmission pour les appli- cations de gestion, ce gaspillage de temps réel constitue un obstacle important à l'obtention des performances nécessai- res pour le système. Le problème est résolu, conformément à l'invention, par le fait que le circuit d'interface comprend un circuit de bus local (DONNEES) destiné à acheminer des messages de données; un dispositif d'interface de canal connecté à la fois au canal de transmission et au circuit de bus local (DONNEES) et réagissant à l'apparition d'un message de don- nées sur le canal de transmission en émettant le message de données, tel qu'il est reçu, morceau par morceau, vers le circuit de bus local (DONNEES); un circuit de détermination de correspondance de configuration, connecté au circuit de bus local (DONNEES) et réagissant à l'émission d'un message de données vers ce dernier, par le dispositif d'interface de canalen décodant la zone d'en-t 8 te du message de données, morceau par morceau, au fur et à mesure de sa réception, et en générant immédiatement une adresse de matériel qui iden- tifie la position dans la mémoire de processeur associée à laquelle le message de données doit être enregistré, à l'achè- vement de la zone d'en-tête, si le processeur est la destina- tion désignée du message de données; et un circuit d'attaque, connecté au bus d'adresse du processeur et au circuit de dé- termination de correspondance de configuration, et réagissant à l'adresse de matériel en plaçant immédiatement l'adresse de matériel surle bus d'adresse du processeur pour activer la position de mémoire identifiée dans la mémoire de processeur associée, ce circuit d'attaque étant également connecté au circuit de bus local (DONNEES) et au bus de données du pro- cesseur, et réagissant à l'adresse de matériel en enregistrant directement, telle qu'elle est reçue, la partie de données du message de données qui est émis par le dispositif d'inter- face de canal sur le circuit de bus local (DONNEES), dans la position de mémoire activée, par l'intermédiaire du bus de données du processeur. le circuit d'interface de canal de l'invention fonctionne à la manière d'un circuit-de traitement de messages qui établit une interface rapide entre une mémoire de proces- seur et un canal de transmission de données Le canal de transmission achemine des messages de données ayant une zone d'en-t 4 te qui spécifie une adresse de source, une adresse de destination et une information de commande Le circuit d'in- terface de canal de l'invention est programmable et il tra- duit dynamiquement la partie d'en-tête du message de données au fur et à mesure qu'e Ue est reçue, et il détermine de cet- te manière si ce message de données doit être enregistré dans la mémoire du processeur Cette détermination est effec- tuée dès que la zone d'en-tête est reçue Si le message de données doit être enregistré, le circuit d'interface de ca- nal de l'invention convertit immédiatement la zone d'en-tète en une adresse de mémoire de matériel qui est utilisée pour activer une position particulière dans la mémoire du proces- seur La partie de données du message de données est ensuite introduite directement (fonction d'accès direct en mémoire ou ADM) dans cette position de mémoire, au fur et à mesure de sa réception, et les pointeurs-de mémoire tampon appro- priés sont restaurés Ce n'est que lorsqu'un message de données complet a été reçu et enregistré dans la mémoire du processeur que le circuit d'interface de canal génère une interruption pour le processeur, afin d'informer ce dernier qu'un message de données complet est maintenant enregistré dans sa-mémoire Ainsi-, le circuit d'interface de canal de l'invention accomplit toutes les taches de réception de don- nées, y compris l'enregistrement et l'enchainement des mes- sages, sans nécessiter l'intervention du processeur associé. Ceci économise le temps réel du processeur et augmente la vitesse du transfert de données effectif entre le canal de transmission et le processeur, du fait de la suppression du retard qui existe lorsque le processeur doit accéder à cha- que message de données, décoder la zone d'en-tête et, si le message de données doit être accepté, enregistrer ce message dans sa mémoire ou bien générer une information d'adresse identifiant l'emplacement auquel le message de données doit 4 tre enregistré De plus, du fait que le circuit d'interface de canal de l'invention est programmable et que les messages de données contiennent une information de source, de destina- tion et de commande, le circuit d'interface de canal de l'in- vention peut sélectionner des messages de données provenant de diverses sources, effectuer un traitement spécial de mes- sages de données et accomplir d'autres tâches, comme on le décrira par la suite. L'invention sera mieux comprise à la lecture de la description qui va suivre d'un mode de réalisation et en se référant aux dessins annexés sur lesquels: Les figures 1 et 2 représentent-le circuit d'inter- face de canal de l'invention; La figure 3 montre la manière selon laquelle les figures 1 et 2 sont associées; La figure 4 montre la structure d'un message de données caractéristique; Les figures 5 à 7 montrent des informations carac- téristiques contenues dans les trois mémoires vives du cir- cuit d'interface de canal de l'invention; et La figure 8 montre l'interconnexion du circuit d'interface de canal avec le processeur et la mémoire du pro- cesseur. Figures 1 et 2 Le circuit d'interface de canal de l'invention, 100, a pour fonction d'établir l'interface entre, d'une part un canal de transmission 101, et d'autre part un processeur uni- versel de type caractéristique 200 et la mémoire de processeur 201, par l'intermédiaire des bus d'adresse, de données et de commande du processeur 200, comme le montre la figure 8 On suppose que le canal de transmission 101 achemine des messa- ges de données ayant une zone d'en-tête qui spécifie l'adres- se de source, l'adresse de destination et une information de commande Le circuit d'interface de canal 100 contrle le ca- nal de transmission 101 pour déterminer si l'un de ces mes- sages de données est destiné à la mémoire de processeur 201. Si c'est le cas, le circuit d'interface de canal 100 enregis- tre directement dans la mémoire de processeur 201 les messa- ges de données qui sont reçus à partir du canal de transmis- sion 101, sans nécessiter l'intervention du processeur 200. Le circuit d'interface de canal 100 de l'invention est connecté au canal de transmission 101 par une interface de canal de transmission 102 qui remplit un certain nombre de fonctions, parmi lesquelles la récupération de l'horloge, la récupération des bits et la synchronisation de trame. L'interface de canal de transmission 202 est conçue d'une manière appropriée pour le type de signaux apparaissant sur le canal de transmission 101 L'interface de canal de trans- mission 102 consiste soit en un circuit du type modem si le canal de transmission 101 doit acheminer des signaux analo- giques, soit en un circuit d'interface numérique d'un type bien connu si le canal de transmission 101 doit acheminer des données numériques On suppose pour les besoins de la description que le canal de transmission 101 est un canal de données série et que les messages qui apparaissent sur ce canal sont reçus bit par bit par l'interface de canal de transmission 102 De ce fait, l'interface de canal de trans- mission 102 élabore un signal d'horloge d'une manière bien connue en contrôlant les bits qui sont émis-sur le canal de transmission 101 L'interface de canal de transmission 102 émet ces signaux d'horloge élaborés, par le conducteur HORIOGE,vers le contrôleur d'état 104 du circuit d'interface de canal 100 le contrôleur d'état 104 est un circuit logi- que qui convertit ce signal d'horloge pour donner les divers signaux de synchronisation et de commande qui sont nécessai- res au fonctionnement cohérent de la partie restante du cir- cuit d'interface de canal 100. lorsque l'interface de canal de transmission 102 reçoit les bits provenant du canal de transmission 101, elle effectue une remise en forme de ces bits et elle convertit la transmission de données de type série en une série de mul- tiplets (ou en groupes ayant une autre largeur appropriée) qui constituent une représentation parallèle des données. Une fois qu'un multiplet complet a été reçu, il est émis en parallèle par l'interface de canal de transmission 102 sur le bus DONNEES, vers la partie restante du circuit d'inter- face de canal 100 L Ia partie de données de chaque message de données qui est reçu est émise sur le bus DONNEES vers l'unir- té de transfert d'accès direct en mémoire (ADM), 108, dans laquelle les données sont enregistrées pour être finalement replacées dans la mémoire de processeur 201. Circuit de contr 8 le d'erreur Simultanément, le circuit de contrdle d'erreur 103 contrôle les bits qui sont transmis sur le bus DONNEES, pour déterminer s'ils contiennent des erreurs de transmission Le circuit de contr 8 le d'erreur 103 comporte un circuit de con- tr 8 le par redondance cyclique ou un autre circuit de détec- tion d'erreur d'un type bien connu, et ce circuit totalise une somme cumulée des bits déjà reçus Cette somme doit con- corder avec le signal de code à redondance cyclique qui ap- paratt à la fin du message de données (comme le montre la figure 4), pour qu'on considère que les données sont valides. Le circuit de contrôle d'erreur 103 émet les résultats de ce contr 8 le, par le conducteur ETAT, vers le contrôleur d'état 104 qui utilise l'indication d'état d'erreur pour valider ou invalider le transfert du message de données reçu vers la mémoire de processeur 201. Génération de l'adresse de matériel le circuit programmable de détermination de corres- pondance de configuration, 105, contr 8 le l'en-tete du message de données qui apparaît sur le bus DONNEES, il détermine si le message de données doit être enregistré dans la mémoire de processeur 201 et il convertit la zone d'en-tête en une adresse de matériel particulière si le message de données doit être enregistré dans la mémoire de processeur 201 Ia sélection d'une adresse de matériel est déterminée par l'adres- se de source, l'adresse de destination et l'information de commande contenues dans la zone d'en-tdte du message de don- nées Ceci est accompli lorsque la zone d'en-tête du message de données est appliquée au bus DONNEES, multiplet par multi- plet, par l'interface de canal de transmission 102 Chaque fois qu'un multiplet de la zone d'en-tête est appliqué au bus DONNEES, le cont 8 leur d'état 104 émet simultanément un code d'identification de multiplet sur le bus BLOC Le multi- plexeur 110 du circuit programmable de détermination de cor- respondance de configuration 105 commute à la fois le code de multiplet et le multiplet de l'en-tgte vers le circuit de détermination de correspondance d'adresse 111, dans lequel la zone d'en-tête est comparée multiplet par multiplet à un certain nombre (m) de configurations d'en-tgte acceptables. Les résultats de ces comparaisons multiplet par multiplet sont émis par le circuit de détermination de correspondance d'adresse 111, par les conducteurs D 1 à Dm, vers les portes ET 120-1 à 120-m En association avec le registre de corres- pondance 112, ces portes ET 120-1 à 120-m indiquent instantané- ment à l'achèvement de la zone d'en-tête si des configura- tions d'en-t 9 te acceptables ont été reçues Le registre de correspondance 112 fournit cette indication de correspondan- ce en établissant une configuration de m bits sur les con- ducteurs TYPE-1 à TYPE-m, pour montrer quelle est celle des m configurations d'en-tête acceptables enregistrées dans le circuit de détermination de correspondance d'adresse 111 qui a correspondu à la zone d'en-tgte reçue Cette configuration de m bits est émise vers le codeur de classe 106 qui conver- tit les m bits en un signal à k bits qui est émis sur les conducteurs'CIASSE-1 à CIASSE-k vers la table de commande d'ADM 107, pour indiquer la classe d'information qui a été reçue parmi les 2 k classes possibles la table de commande d'ADM 107 contient une information de correspondance entre les classes d'information et les positions d'adresse de ma- tériel auxquelles l'information doit 4 tre enregistrée Ainsi, lorsqu'un signal de classe est reçu à partir du codeur de classe 106 sur les conducteurs CLASSE-1 à CIASSE-k, la table de commande d'ADM 107 convertit cette indication de classe en une adresse de matériel qui est émise sur le bus ADMA vers l'unité de transfert d'ADM 108 Du fait qu'une corres- pondance au moins est apparue entre l'information d'en-tête du message de données et les m configurations d'en-tête en- registrées dans le circuit de détermination de correspondan- ce d'adresse 111, la porte OU 113 génère un signal d'indica- tion de correspondancequi est émis vers le contrôleur d'état 104 sur le conducteur CORRESPONDANCE Sous l'effet d'un si- gnal d'erreur prédéterminé sur le conducteur ETAT et du si- gnal de correspondance sur le conducteur CORRESPONDANCE, le contrôleur d'état 104 génère à l'instant approprié un signal de validation, sur le conducteur VALIDATION et sous l'effet de ce signal, l'unité de transfert d'ADM 108 demande au pro- cesseur 200 l'accès aux b'us de données, d'adresse et de com- mande du processeur Lorsque le processeur 200 accorde l'au- torisation d'accès, l'unité de transfert d'ADM 108 émet sur les bus associés du processeur l'adresse de matériel qui a été reçue de la table de commande d'ADM 107, en compagnie de la partie de données de l'information reçue, telle qu'elle est reçue (les quelques premiers bits de ces données ont été enregistrés dans l'unité de transfert d'ADM 108) La mémoire de processeur 201 reçoit cette information d'adresse, de com- mande et de données sur les bus de processeur associés et el- le enregistre le message de données complet dans la position de matériel indiqué Une fois que ceci est effectué, l'unité de transfert d'ADM 108 génère une interruption pour le pro- cesseur et elle applique ce signal au bus de commande du processeur pour informer le processeur 200 du fait que le message de données est enregistré dans la mémoire de proces- seur 201. Dans la description du circuit d'interface de canal de l'invention, on a supposé que les éléments de mémoire du circuit programmable de détermination de correspondance de configuration 105 (circuit de détermination de correspon- dance d'adresse 111, codeur de classe 106 et table de comman- de d'ADM 107) contiennent tous une information de conversion pour reconnattre une correspondance et générer ensuite l'adres- se dans la mémoire de processeur 201 à laquelle le message de données reçu doit être enregistré Ces éléments sont initia- lisés et mis à jour par le processeur 200, par l'intermédiai- re des bus de commande, d'adresse et de données du processeur, comme il est indiqué sur les figures 1 et 2 Comme on l'envi- sagera dans la suite de la description, le processeur 200 charge des configurations de bits dans les éléments de mémoire du circuit programmable de détermination de correspondance de configuration 105 (circuit de détermination de correspon- dance d'adresse 111, codeur de classe 106 et table de comman- de d'ADM 107), pour indiquer les types de messages qui doi- vent être reçus à partir des sources qui présentent un inté- r 4 t au moment considéré, et également pour indiquer les en- droits auxquels ces messages doivent être enregistrés dans la mémoire de processeur 201 O Possibilités de l'interface de canal Le circuit d'interface de canal 100 a pour fonction d'interconnecter le canal de transmission 101 et la mémoire de processeur 201 Comme mentionné ci-dessus, on utilise cet- te interface dans le but de soulager le processeur 200 de la charge constituée par la réception, le décodage et l'enregis- trement des messages de données qui sont transmis sur le ca- nal de transmission 10 vers la mémoire de processeur 201. le circuit d'interface de canal 100 accomplit cette fonction, comme on vient de le décrire de façon générale, en recevant le message de données, en générant une adresse de matériel basée sur l'information d'en-t 6 te contenue dans ce message de données, et en utilisant cette adresse de matériel pour accéder à un segment de mémoire particulier dans la mémoire de processeur 201 et pour y enregistrer le message de données. En accomplissant ces tâches, le circuit d'interface de canal 100 dispose de possibilités supplémentaires qui ne ressortent pas de façon évidente de la description générale précédente. En particulier, on peut dire qu'il y a trois classes de mes- sages qui apparaissent sur le canal de transmission 101 Ces classes sont les suivantes: les messages spécialisés, les messages communs et les messages à diffusion générale les messages spécialisés sont des messages de données qui sont adressés spécialement au processeur 200 et doivent ensuite être enregistrés dans la mémoire de processeur 201 Il y a cependant de nombreux cas dans lesquels le processeur 200 peut désirer "trier" les messages de données provenant de certaines sources, et donc établir une connexion d'écoute sélective avec le canal de transmission 101 Cette possibi- lité est inhérente au circuit d'interface de canal 100, com- me on le décrira ci-après On peut employer la m 9 me possibi- lité d'écoute sélective avec les messages de données des deux classes restantes -Le message commun est un message qui est émis vers une classe ou un sous-groupe de processeurs qui sont tous intéressés au contenu du message de données. Dans ces messages de données, l'adresse de destination peut très bien être une adresse généralisée indiquant un sous- ensemble important des processeurs qui sont connectés au canal de transmission 101 Une extension de cette classe de messages correspond aux messages à diffusion générale qui sont émis vers tous les processeurs ayant accès au canal de transmission 101 Le circuit d'interface de canal 100 a la possibilité d'identifier ces divers types de messages, d'af- fecter une priorité à chacun et de les enregistrer dans di- verses parties de la mémoire de processeur 201 Pour illus- trer ces possib Uités du circuit d'interface de canal 100, il est avantageux de décrire en détail le traitement d'un message de données reçu à partir du canal de transmission 101, et l'enregistrement de ce message dans la mémoire de processeur 201. Chargement des tables Il est logique de commencer cette description par le chargement des diverses tables contenues dans le circuit d'interface de canal 100 Conformément à la structure clas- sique dans le domaine des processeurs, le processeur 200, la mémoire de processeur 201 et le circuit d'interface de canal 100 sont interconnectés par l'ensemble des bus du processeur qui sont représentés sur les figures 1 et 2 (bus d'adresse, bus de données et bus de commande) Le processeur 200, la mémoire de processeur 201 et les bus de processeur associés sont des éléments qui sont bien connus et dont le fonctionnement dans ce système relève de la routine Comme on peut le voir sur les figures 1 et 2, le circuit programma- ble de détermination de correspondance de configuration, 105, du circuit d'interface de canal 100 contient trois disposi- tifs de mémoire: le circuit de détermination de correspon- dance d'adresse 111, le codeur de classe -106 et la table de commande d'ADM 107, et tous trois sont représentés sous la forme d'une mémoire vive dans le mode de réalisation préféré. les dispositifs de mémoire 111, 106 et 107 contiennent les tables qui procurent respectivement les fonctions mention- nées précédemment de détermination de correspondance d'en- t 4 te/écoute sélective, d'identification de classe et de géné- ration d'adresse Ces tables sont générées et mises à jour par le processeur 200 par l'intermédiaire des bus de com- mande d'adresse et de données du processeur qui intercon- nectent ces dispositifs. En particulier, en appliquant les signaux appro- priés a-Lx bus de commande et d'adresse du processeur, le processeur 200 permet au dispositif de mémoire 111 de re- cevoir et d'enregistrer les données qui proviennent du bus de données du processeur le décodeur 114 est connecté aux bus d'adresse et de commande du processeur et il contrtle ces bus du processeur pour détecter des signaux d'adresse identifiant le circuit de détermination de correspondance d'adresse 111 et des signaux de commande qui signifient que le processeur 200 désire écrire des données dans le circuit de détermination de correspondance d'adresse 111 lorsque ces signaux apparaissent simultanément sur les bus respectifs du processeur, le décodeur 114 place les signaux d'activation appropriés sur les conducteurs SEM et W 111 le signal pré- sent sur le conducteur SEM commande le multiplexeur 110 de façon à connecter le bus d'adresse du processeur aux conduc- teurs d'adresse du circuit de commande de détermination d'adresse 111 le signal précité sur le conducteur W 111 pla- ce le circuit de détermination de correspondance d'adresse 111 dans le mode de validation d'écriture le processeur 200 est ainsi directement connecté aux conducteurs d'adresse et de données du circuit de détermination de correspondance d'adresse 111, par l'intermédiaire, respectivement, des bus d'adresse et de données du processeur le processeur 200 peut maintenant charger les informations appropriées dans le circuit de détermination de correspondance d'adresse 111 * d'une manière bien connue lorsque cette opération est ter- minée, le processeur 200 applique les signaux appropriés au bus de commande du processeur, ce qui fait que le décodeur 114 supprime les signaux d'activation qui étaient présents sur les conducteurs SEIA et W 111 Sous l'effet de la suppres- sion de ces signaux d'activation, le multiplexeur 110 connec- te le bus interne DONNEES du circuit d'interface de canal 100 aux conducteurs d'adresse du circuit de détermination de 250820-1 correspondance d'adresse 111, et il interdit l'écriture de toute nouvelle information dans ce circuit de détermination de correspondance d'adresse 111, en invalidant le conduc- teur de validation d'écriture en mémoire, W 111. Cette opération de chargement de mémoire décrite ci-dessus est bien connue, et la figure 5 représente une information caractéristique dans le circuit de détermination de correspondance d'adresse 111 Sur cette figure, la colon- ne de gauche marquée "adresse" indique une position de mé- moire particulière dans le circuit de détermination de cor- respondance d'adresse 111, tandis que la colonne de droite de la figure 5, marquée "contenu de la mémoire vive" indique les données qui sont enregistrées dans le circuit de déter- mination de correspondance d'adresse 111, à l'adresse cor- respondante De façon similaire, le processeur 200 peut ac- céder au décodeur de classe 106 et à la table de commande d'ADM 107, et les charger de façon similaire avec des données dont on peut voir des exemples respectivement sur les figures 6 et 7 L'utilisation de ces données et de ces dispositifs de mémoire apparaîtra clairement au lecteur lorsqu'on consi- dèrera le traitement d'un message de données caractéristique. Interface de canal de transmission L'interface de canal de transmission 102 du circuit d'interface de canal 100 est directement connectée au canal de transmission 101 et reçoit les messages de données qui ap- paraissent sur ce canal Conformément à l'hypothèse faite ci-dessus, le canal de transmission 101 achemine des messages de données numériques sous forme série et, par conséquent, l'interface de canal de transmission 102 consiste en un cir- cuit d'interface numérique approprié d'un type bien connu dans la technique En particulier, un article paru dans la revue Electronic Design Magazine du 7 juin 1979, et intitulé "Data Communications: Part Three" parAlan J Weissberger (pages 98-104), décrit un circuit d'interface de canal de type caractéristique Le circuit émetteur/récepteur décrit dans ce document est un élément de circuit bien connu du ty- pe qu'on utiliserait pour réaliser l'interface de canal de transmission 102 Ce circuit fonctionne d'une manière bien connue de façon à recevoir les signaux de données numériques série qui apparaissent sur le canal de transmission 101, à remettre en forme ces signaux pour l'utilisation dans le cir- cuit d'interface de canal 100, et à extraire un signal d'hor- loge à partir de ces signaux numériques de données Le signal d'horloge qui est élaboré à partir du message de données nu- mériques est appliqué au conducteur HORLOGE par l'interface de canal de transmission 102, et ce signal est utilisé de la manière indiquée cidessus par le contrôleur d'état 104, de -façon à fournir les signaux de synchronisation et de commande pour le circuit d'interface de canal 100. Contrôleur d'état Le contrôleur d'état 104 est un circuit logique qui utilise le signal d'horloge provenant du conducteur HORLOGE et les signaux de réaction sur les conducteurs ETAT et CORRESPONDANCE, pour commander le fonctionnement des di- vers éléments du circuit d'interface de canal 100 Il n'y a aucun intérgt à décrire ici de façon détaillée la réalisation du contrôleur d'état 104, du fait que la conception de ce circuit dépend fortement des éléments de circuit particuliers, de type courant, qu'on sélectionne pour réaliser les diverses parties du circuit d'interface de canal 100 La réalisation de la structure appropriée pour le contrôleur d'état 104 est tout à fait dans les possibilités d'un spécialiste de la con- ception de circuits, de niveau moyen, et on laissera à la personne chargée de la conception le soin de réaliser ce cir- cuit en utilisant les composants courants les plus économi- ques possibles De façon similaire, le circuit de contr Ale d'erreur 103 est un circuit de contrôle d'erreur classique qui contrôle le message de données reçu pour détecter des erreurs de transmission et qui indique le résultat de cette opération de contrôle au contrôleur d'état 104, par l'inter- médiaire du conducteur ETAT. Circuit programmable de détermination de correspondance de configuration Au fur et à mesure de sa réception par l'interface de canal de transmission 102, le message de données série est appliqué au circuit programmable de détermination de correspondance de configuration, 105, par l'intermédiaire du bus DONNEES On a supposé que ce message de données a une structure de message de données du type représenté sur la figure 4 e La partie d'en-tête du message de données contient de façon caractéristique six multiplets de zone d'adresse de source, six multiplets d'adresse de destination et deux mul- tiplets d'information de commande, pour indiquer le type de message C'est cette information d'en-tête qu'utilise le circuit programmable de détermination de correspondance de configuration 105, pour déterminer si le message de données associé est destiné au processeur 200 et, dans l'affirmative, l'endroit auquel il doit être enregistré dans la mémoire de processeur 201 La partie de données du message de données a une certaine longueur arbitraire et elle ne présente aucun intérêt pour le circuit programmable de détermination de cor- respondance de configuration 105 Les données sont donc transmises directement par le bus DONNEES vers l'unité de transfert d'ADM 108, dans laquelle elles sont enregistrées tempoi*irement dans une mémoire tampon L'opération de déco- dage de l'en-tête commence lorsque l'interface de canal de transmission 102 reçoit les premiers bits du premier multi- plet de la zone d'en-tête du message de données, et génère un signal de synchronisation de trame pour indiquer le début d'un message Le contrôleur d'état 104 réagit au signal de synchronisation de trame en activant le conducteur POSITION- NEMNT, ce qui a pour effet de restaurer le registre de cor- respondance 112 du circuit programmable de détermination de correspondance de configuration 105 Le registre de corres- pondance 112 est un registre à m bits qui a pour fonction d'enregistrer les signaux émis par les portes 120-1 à 120-m. Le signal présent sur le conducteur POSITIONNEMENT provoque la restauration du registre de correspondance 112, et un si- gnal de sortie à l'état logique 1 apparaît donc sur tous les conducteurs TYPE-1 à TYPE-m Chacun de ces conducteurs est connecté à une borne d'entrée d'une porte correspondante parmi les portes ET 120-1 à 120-m, et cette configuration fait fonction d'élément de mémoire, du fait qu'un signal à l'état logique O apparaissant sur l'un quelconque des conduc- teurs D 1 à Dm fait changer d'état et passer à l'état logique O la porte ET et la position de bit associées du registre de correspondance 112, et ce signal persiste jusqu'à ce que le contrôleur d'état 104 place à nouveau un signal d'activation sur le conducteur POSITIONNEMENT L'utilité de cette confi- guration de circuit appara tra dans la description qui suit. Détermination de correspondance pour l'en-tête Comme décrit ci-dessus, la zone d'en-tgte du mes- sage de données comprend 14 multiplets d'information, et on suppose que chaque multiplet est constitué par 8 bits de données numériques Le problème qui se pose avec cette con- figuration consiste en ce que 14 est un nombre avec lequel il est difficile de travailler dans le système de numération binaire, ce qui fait que le circuit programmable de détermi- nation de correspondance de configuration 105 qui est décrit travaille avec 16 multiplets ( 14 multiplets de zone d'en-t 9- te et les deux premiers multiplets de données), pour simpli- fier la conception du circuit On peut ignorer les deux mul- tiplets de données, si on le désire, en décodant sim 4 lement les 14 multiplets de la zone d'en-t Ste. Au fur et à mesure de la réception du message de données provenant du canal de transmission 101, l'interface de canal de transmission 102 émet l'en-t 4 te sur le bus DON- NEES, multiplet par multiplet Simultanément, le contrôleur d'état 104 émet une adresse sur le bus BLOC, ce qui définit une adresse à 12 bits: 8 bits ( 1 multiplet) sur le bus DONNEES et 4 bits sur le bus BLOC, qui est dirigée vers le circuit de détermination de correspondance d'adresse 111 par l'intermédiaire du multiplexeur 110 La nécessité de 12 bits d'adresse devient évidente lorsqu'on examine la figure Sur la figure 5, le circuit de détermination de corres- pondance d'adresse 111 est représenté sous la forme d'un dispositif du type mémoire vive de N x m, et on a indiqué cidessus que N est égal à 12 bits On supposera à titre d'exemple que m est égal à 8 Dans ces conditions, le cir- cuit de détermination de correspondance d'adresse 111 est un dispositif du type mémoire vive de 4 K x 8, ou un ensem- ble de dispositiféquivalent (du fait qu'on peut utiliser 12 bits pour adresser 4 K positions de mémoire) La représen- tation de la figure 5 montre deux segments du circuit de dé- termination de correspondance d'adresse 111, l'un désigné par BLOC O et l'autre désigné par BLOC 15 Le numéro de bloc identifie le multiplet particulier de l'en-t Cte du message de données et, comme indiqué cidessus, il y a 16 multiplets qui sont décodés par le circuit programmable de détermination de correspondance de configuration 105 Chaque multiplet de la zone d'en-t 4 te contient 8 bits et ceux-ci sont représentés sur la figure 5 sous la rubrique POSITION et ils spécifient les 256 combinaisons de bits possibles pour les huit bits d'adresse. Au cours du fonctionnement, une adresse à 12 bits est appliquée au circuit de détermination de correspondance d'adresse 111, tandis que le contrôleur d'état 104 identifie le multiplet particulier de l'en-t 4 te au moyen des quatre bits d'information présents sur le bus BLOC Le premier mul- tiplet reçu sera BLOC 0000 et la figure 5 représente des informations en mémoire de type caractéristique pour les positions de mémoire 01101000 01101011 de ce bloc En par- ticulier, pour chaque position d'adresse, il y a m ( 8 dans ce cas) bits enregistrés en mémoire, et ces m bits représen- tent m combinaisons de correspondance possibles Ainsi, pour les positions d'adresse représentées, la colonne DI du bloc O montre un 1 enregistré uniquement dans la position de mémoire 01101011, ce qui indique qu'une correspondance ne se produit que lorsque cette position de mémoire est identifiée dans ce multiplet de l'en-tgte Du fait que les deux premiers multi- plets de la zone d'en-tête constituent l'adresse de destina- tion, cette configuration de bits dans la colonne Dl repré- sente la situation dans laquelle le message de données n'est acceptable que lorsqu'il est destiné au processeur adressé par 01101011 On peut comparer cette situation avec les in- formations qui figurent dans la colonne Dm, dans laquelle il y a une information 1 pour la totalité des quatre positions de mémoire représentées Ceci indique que tout message émis vers un processeur identifié par la désignation 011010 XX sera reçu(dans cette désignation, XX indique les positions de bits indifférents) Ceci est un message commun ou à dif- fusion générale de type caractéristique, pour lequel n'impor- te quel processeur appartenant à une classe ou un groupe de -processeurs peut recevoir le message de données. On supposera à titre d'exemple que le premier mul- tiplet de la zone d'entête est constitué par les bits 01101001 Du fait que c'est le premier multiplet, le contrd- leur d'état 104 émet les bits 0000 sur le bus BLOC et le circuit de détermination de correspondance d'adresse 111 émet sur les conducteurs D 1 Dm les m bits ( 01110001) re- présentés sur la figure 5, pour l'adresse 01101001 En par- ticulier, le conducteur D 1 porte un signal à l'état logique 0, et, sous l'effet de ce signal, la porte ET 120-1 produit un signal de sortie à l'état logique O De façon similaire, le conducteur Dm porte un signal à l'état logique 1 et sous l'effet de ce signal la porte ET 120-m produit un signal de sortie à l'état logique 1 A ce moment, le contrôleur d'état 104 génère un signal d'activation sur le conducteur CHARGE- MENT et sous l'effet de ce signal, le registre de correspon- dance 112 enregistre les signaux qui sont émis par les por- tes ET 120-1 à 120-m Comme décrit ci-dessus, ce circuit fait fonction d'élément de mémoire, et enregistre toutes les indications d'un défaut de correspondance (un état logique O) comme c'est le cas pour la porte 120-1. Détermination de correspondance de configuration: codeur de classe Le contrôleur d'état 104 change séquentiellement les signaux présents sur le bus BLOC, à la réception de cha- que multiplet successif de la zone d'en-tête, jusqu'à la ré- ception du multiplet final (multiplet 16) La figure 5 re- présente une information de table caractéristique pour un multiplet final de la zone d'en-tête (bloc 15), constitué par les bits d'adresse 01111010 Comme décrit ci-dessus, il y a eu un défaut de correspondance pour la combinaison de correspondance Dl dans le multiplet 0, ce qui fait qu'une correspondance pour ce multiplet dans le bloc 16 est insuf- fisante pour changer l'état logique O qui est enregistré dans le registre de correspondance 112 Cependant, la com- binaison de correspondance m dans la colonne Dm montre une correspondance et, en supposant qu'aucun défaut de corres- pondance n'est apparu dans les autres multiplets reçus, le registre de correspondance 112 enregistrera un état logique l pour cette position, indiquant ainsi une correspondance effective pour la combinaison de correspondance m Une in- dication d'une correspondance est émise vers le contrôleur d'état 104 par la porte OU 113 et le signal logique appro- prié sur le conducteur CORRESPONDANCE Le contrôleur d'état 104 réagit à l'indication de correspondance positive sur le conducteur CORRESPONDANCE en validant le conducteur LECTURE, ce qui a pour effet d'introduire dans le codeur de classe 106 le signal de sortie du registre de correspondance 112, qui est appliqué aux conducteurs d'adresse du codeur de classe 106 par l'intermédiaire des conducteurs TYPE-1 à TYPE-m Ces données émises par le registre de correspondance 112 indiquent combien de correspondances sont apparues, et également quelles étaient les combinaisons de correspondance. On supposera à titre d'exemple que la seule correspondance qui soit apparue se trouvait dans la position m, ce qui fait que le signal suivant: 00000001 est apparu sur les conduc- teurs TYPE-1 à TYPE-m La figure 6 montre le contenu de la table du codeur de classe 106 pour diverses adresses Le co- deur de classe 106 fonctionne à la manière d'un codeur à priorité et il traduit le nombre et le type des correspondan- ces en une indication de classe, ce qui identifie l'une des e régions de mémoire ou classes d'information enregistrées en mémoire, à laquelle le message de données reçu est associé. Le codeur de classe 106 est réalisé sous la forme d'une mé- moire vive de m x k et, à titre d'exemple, on a choisi k égal à 5, ce qui donne 52 classes distinctes de messages, c'est-à-dire 25 Sous l'effet du signal d'activation mention- né ci-dessus, sur le conducteur LECTURE, le codeur de classe 106 émet les données enregistrées dans la position de mémoire 00000001, qui sont dans ce cas: 10101 Cette configuration de bits est émise sur les conducteurs CLASSE-1 à CLASSE-k vers les conducteurs de la table de commande d'ADM 107. Adresse de matériel: table de commande d'ADM La figure 7 montre certaines informations caracté- ristiques contenues dans la table de commande d'ADM 107, qui constitue un circuit faisant fonction de générateur d'adres- se de matériel qui réagit à une indication de classe appli- quée sur ses conducteurs d'adresse en émettant une adresse à 1 bits Dans l'exemple considéré, 1 = 8 et une indication de classe de 10101 fait émettre à la table de commande d'ADM 107 l'adresse à 8 bits 11011100, sur le bus ADJA, vers l'uni- té de transfert d'ADN 108 Le contrôleur d'état 104 active le conducteur VALIDATION soit à la réception du signal de correspondance, soit à l'achèvement du message de données et à la réception d'un signal approprié provenant du circuit de contrôle d'erreur 103 sur le conducteur ETAT, ce qui indique la réception d'un message exempt d'erreur Il y a ici deux opérations d'ADM possibles: l'enregistrement du message de données au fur et à mesure de sa réception, du fait que le circuit programmable de détermination de correspondance de configuration 105 achève le décodage de la zone d'en-tête et la génération d'adresse dès la réception de la zone d'en-tt- te, ou l'accomplissement d'un transfert vers la mémoire de processeur 201 uniquement après la réception du message de données complet Pour les besoins de la description, on sup- posera que le message de données est enregistré au fur et à mesure de sa réception L'unité de transfert d'ADM 108 est alors pr 9 te à enregistrer directement le message de données dans la mémoire de processeur 201, dès que la zone d'en-tgte est décodée L'unité de transfert d'ADM 108 a déjà enregistré la partie initiale (en-tête) du message de données dans une mémoire tampon interne et elle a reçu une adresse de matériel par l'intermédiaire du bus ADMA Ainsi, l'unité de transfert d'ADM 108 demande l'accès aux bus de commande, d'adresse et de données du processeur, et lorsque le processeur 200 accor- de l'accès, d'une manière;bien connue, l'unité de transfert d'ADM 108 sélectionne la partie identifiée de la mémoire de processeur 201 (adresse 11011100) et elle enregistre dans cette partie le message de données au fur et à mesure de sa réception A l'achèvement de ce transfert de données, les adresses enregistrées dans la table de commande d'ADM 107 et éventuellement l'information de table enregistrée dans le circuit de détermination de correspondance d'adresse 111 et le codeur de classe 106 doivent 4 tre mises à jour Ceci est effectué par le processeur 200, comme décrit ci-dessus. Un autre procédé de mise à jour consiste à faire en sorte que l'unité de transfert d'ADM 108 mette à jour les données contenues dans la table de commande &'ADM 107, pour représen- ter la nouvelle adresse de départ pour l'enregistrement des données, sur la base du message de données qui vient d'être enregistré dans la mémoire de processeur 201 On a supposé dans cette description que l'unité de transfert d'ADM 108 possédait un certain nombre de possibilités et celles-ci sont bien connues dans la techniques De nombreuses unités de transfert d'ADM existent dans le commerce. Ainsi, chacun des trois dispositifs de mémoire, à savoir le circuit de détermination de correspondance d'adres- se 111, le codeur de classe 106 et la table de commande d'ADM 107 donne au circuit programmable de détermination de cor- respondance de configuration des possibilités dont on ne disposait pas jusqu'à présent dans la technique En particu- lier, le circuit de détermination de correspondance d'adres- se 111 décode instantanément l'en-tgte et détermine si le message qui est émis sur le canal de transmission 101 est dirigé vers le processeur 200, et si le processeur 200 dési- re recevoir ce type de transmission à partir de la source émettrice de ce message de données Le codeur de classe 106 affecte une priorité ou une classe au message de données re- çu et, enfin, la table de commande d'ADM 107 génère une adresse de matériel qui est représentative à la fois du type de message reçu et de la source de l'information Tout ce traitement est effectué multiplet par multiplet, ce qui fait qu'à l'achèvement de la zone d'en-tgte, l'adresse de matériel est immédiatement disponible pour être utilisée pour l'enre- gistrement des données dans la mémoire de processeur 201. Le processeur 200 peut poursuivre son fonctionnement sans 9 tre interrompu pendant toute la durée de ce processus de réception de message de données. Il va de soi que de nombreuses modifications peu- vent 4 tre apportées au dispositif décrit et représenté, sans sortir du cadre de l'invention. REVENDICATIONS 1 Circuit d'interface destiné à assurer l'inter- face entre d'une part un processeur et sa mémoire associée et d'autre part un canal de transmission qui achemine des messages de données, chacun d'eux contenant une zone d'en- t 8 te ayant des parties de source, de destination et de com- mande, tandis que le processeur comporte des bus de données, d'adresse et de commande; caractérisé en ce qu'il comprend: un circuit de bus local (DONNEES) destiné à acheminerdes messages de données; un dispositif d'interface de canal ( 102) connecté à la fois au canal de transmission ( 101) et au circuit de bus local (DONNEES) et réagissant à l'appari- tion d'un message de données sur le canal de transmission ( 101) en émettant le message de données au fur et à mesure de sa réception, morceau par morceau, vers le circuit de bus local (DONNEES); un circuit de détermination de correspon- dance de configuration ( 105) qui est connecté au circuit de bus local (DONNEES) et qui réagit à l'émission d'un message de données sur le circuit de bus local, par le dispositif d'interface de canal ( 102) en décodant la zone d'en-t 4 te du message de données, morceau par morceau, au fur et à mesu- re qu'elle est reçue, et en générant immédiatement une adres- se de matériel qui identifie la position dans la mémoire de processeur associée ( 201) à laquelle le message de données doit être enregistré, à l'achèvement de la zone d'en-tête, si le processeur ( 200) est la destination designée du messa- ge de données; et un circuit d'attaque ( 108) qui est con- necté au bus d'adresse du processeur et au circuit de déter- mination de correspondance de configuration ( 105), et qui réagit à l'adresse de matériel en plaçant immédiatement l'adresse de matériel sur le bus d'adresse du processeur pour activer la position de mémoire identifiée dans la mémoi- re de processeur associée ( 201); et en ce que le circuit d'attaque ( 108) est également connecté au circuit de bus lo- cal (DONNEES) et au bus de données du processeur, et il réa- git à l'adresse de matériel en enregistrant directement dans la position de mémoire activée et par l'intermédiaire du bus de données du processeur, au fur et à mesure de sa réception, la partie de données du message de données qui est émise par le dispositif d'interface de canal ( 102) sur le circuit de bus local (DONNEES). 2 Circuit d'interface selon la revendication 1, caractérisé en ce que le circuit de détermination de corres- pondance de configuration ( 105) comprend un circuit de dé- termination de correspondance d'adresse ( 111) qui est con- necté au dispositif d'interface de canal ( 102) et qui réagit à la zone d'en-tête du message de données en comparant si- multanément la zone d'en-ttte au fur et à mesure de sa ré- ception, morceau par morceau, à m configurations de corres- pondance qui sont enregistrées dans le circuit de détermina- tion de correspondance d'adresse ( 111), en désignant par m un nombre entier, et en générant immédiatement un signal d'indication de correspondance par morceaux qui représente la correspondance par morceaux entre la zone d'en-t 4 te et les m configurations de correspondance. 3 Circuit d'interface selon la revendication 2, caractérisé en ce que le circuit de détermination de corres- pondance de configuration ( 105) comprend en outre un circuit de registre de correspondance ( 120-1 à 120-m, 112) qui est connecté au circuit de détermination de correspondance d' adresse ( 111) et qui réagit à l'indication de correspondance par morceaux en générant un signal de somme de correspondance à m bits (TYPE-1 à TYPE-m), représentatif de l'état cumulé des comparaisons avec les m configurations de correspondance. 4 Circuit d'interface selon la revendication 3, caractérisé en ce que le circuit de détermination de corres- pondance de configuration ( 105) comprend en outre un circuit codeur de classe ( 106) qui est connecté au circuit de regis- tre de correspondance ( 120-1 à 120-m, 112) et qui réagit au signal de somme de correspondance à m bits (TYPE-1 à TYPE-m) en générant un signal de classe à k bits (CLASSE-1 à CLASSE-k) qui classe le message de données dans une classe d'information parmi 2 classes possibles. Circuit d'interface selon la revendication 4, caractérisé en ce que le circuit de détermination de corres- pondance de configuration ( 105) comprend en outre un circuit de table d'ADM ( 107) qui est connecté au circuit codeur de classe ( 106) et qui réagit au signal de classe à k bits (CLASSE-1 à CLASSE-k) en générant l'adresse de matériel. 6 Circuit d'interface selon la revendication 2, caractérisé en ce que le circuit de détermination de corres- pondance d'adresse ( 1 ll) est connecté aux bus de données, d'adresse et de commande du processeur et il réagit aux - signaux qui apparaissent sur ces bus en enregistrant des configurations de correspondance, de la manière déterminée par le processeur ( 200). 7 Circuit d'interface selon la revendication 4, caractérisé en ce que le circuit codeur de classe ( 106) est connecté aux bus de données, d'adresse et de commande du processeur et il réagit aux signaux qui apparaissent sur ces bus en enregistrant une information de traduction de classe, de la manière déterminée par le processeur ( 200). 8 Circuit d'interface selon la revendication 5, caractérisé en ce que le circuit de table d'ADM ( 107) est connecté aux bus de données, d'adresse et de commande du processeur et il réagit à des signaux qui apparaissent sur ces bus en enregistrant une information d'adresse de matériel, de la manière déterminée par le processeur ( 200). 9 Circuit d'interface selon la revendication 1, caractérisé en ce que le dispositif d'interface de canal ( 102) traite le message de données multiplet par multiplet. Circuit d'interface selon la revendication 9, caractérisé en ce que le circuit d'interface de canal ( 100) comprend en outre: un contrôleur d'état ( 104) qui est con- necté au canal, au dispositif d'interface ( 102) et au circuit de détermination de correspondance de configuration ( 105) et qui réagit au dispositif d'interface ( 102) en générant un signal d'adresse de bloc (BLOC) qui indique quel est le mul- tiplet de l'en-tgte qui a été reçu en dernier par le disposi- tif d'interface de canal ( 102). 11 Circuit d'interface selon les revendications 2 et 10, caractérisé en ce que le circuit de détermination de correspondance de configuration ( 105) réagit au signal d'adresse de bloc (BLOC) en comparant simultanément le dernier multiplet reçu de l'en-t 9 te avec un multiplet correspondant de chacune des m configurations de correspondance qui sont enregistrées dans le circuit de détermination de correspon- dance d'adresse ( 111).