FR 2508200 A1 19821224 FR 8210677 A 19820618 La présente invention concerne un circuit d'inter- face destiné à constituer l'interface 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, conte- nant chacun une zone d'en-tête ayant une adresse de destination et un numéro de canal virtuel, tandis que le processeur com- porte 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 chaque fois qu'un message de données est reçu Le problème qui se pose avec cette configuration consiste en ce que le proces- seur consomme une quantité excessive de temps réel pour pren- dre en charge les interruptions provenant du circuit d'inter- face, afin d'enregistrer simplement les données dans sa mé- moire associée Une partie importante de ce temps réel est consommée pour décoder l'en-t 4 te-du message de données, afin de déterminer si le message de données est destiné au proces- seur associé et, dans l'affirmative, l'emplacement dans la mémoire du processeur auquel le message doit être enregistré. Les circuits d'interface de l'art antérieur ne font rien pour accélérer ce processus de décodage et, en fait, ils ont peu d'intelligence incorporée et remplissent uniquement la fonc- tion d'une simple mémoire tampon, ce qui exige que le proces- seur associé accomplisse les taches de décodage et d'enregis- trement des messages. Ceci n'a pas constitué un problème important jusqu' à présent, du fait que les processeurs 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 applications de gestion, ce gaspillage de temps réel constitue un obstacle important à l'obtention de bonne performances du système. Le problème est résolu conformément à l'invention, dans laquelle le circuit d'interface comprend un élément de circuit d'interface qui est connecté au canal de transmission et qui réagit à l'apparition d'un message de données dans ce canal en décodant l'adresse de destination et en émettant le numéro de canal virtuel si le processeur est la destination désignée du message de données; un multiplexeur et une mémoi- re de commande de canal connectés à l'élément de circuit d'in- terface et réagissant à l'émission par ce dernier du numéro de canal virtuel en traduisant le numéro de canal virtuel en une adresse de matériel qui identifie une position de mémoire dans la mémoire du processeur; un circuit tampon connecté à la fois au multiplexeur et à la mémoire de commande de canal, et au bus d'adresse de processeur, et réagissant à l'adresse de matériel en plaçant cette dernière sur le bus d'adresse du processeur, pour activer la position de mémoire identifiée dans la mémoire du processeur; et dans laquelle l'élément de circuit d'interface est également connecté au bus de données du processeur et réagit à la réception du message de données en enregistrant directement la partie de données du message de données, telle qu'elle est reçue, dans la position de mé- moire activée, par l'intermédiaire du bus de données du pro- cesseur. Le circuit d'interface de canal de l'invention fait fonction de dispositif de gestion de messages établissant une interface rapide entre une mémoire de processeur 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 virtuelle Le circuit d'interface de canal de l'invention est programmable et il traduit dynamiquement la partie d'en-tête du message de données, telle qu'elle est re- çue,pour coniertirune adresse virtuelle en une adresse de mé- moire de matériel qui est utilisée pour activer une position particulière dans la mémoire du processeur La partie de don- nées du message de données est ensuite introduite directement dans cette position de mémoire (accès direct en mémoire), et les pointeurs de mémoire tampon approprié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'in- terface 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 tâ- ches de réception de données, y compris l'enregistrement et l'enchafnement des messages, sans nécessiter l'intervention du processeur associé Ceci économise le temps réel du pro- cesseur et augmente la vitesse du transfert effectif des don- nées entre le canal de transmission et le processeur, du fait qu'il n'y a aucun retard lorsque le processeur doit accéder à chaque message de données et enregistrer ce dernier dans sa mémoire, ou fournir une information d'adresse concernant I' emplacement auquel le message doit 4 tre enregistré. 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 liaison de l'invention; la figure 3 montre la structure d'une file d'atten- te de lecture/écriture qui est utilisée dans l'invention; La figure 4 montre la manière selon laquelle les figures-1 et 2 doivent être associées; et Ia figure 5 montre l'interconnexion du circuit d' interface de canal avec le processeur et la mémoire de proces- seur. Figures 1 et 2 Le circuit d'interface de canal 100 de l'invention a pour fonction d'interconnecter un canal de transmission 120 avec un processeur 101 et une mémoire de processeur 102, par l'intermédiaire des bus d'adresse de données et de commande du processeur 101, comme le montre la figure 5 On suppose que le canal de transmission 120 achemine des messages de données ayant une zone d'en-tgte qui spécifie l'adresse du processeur destinataire et un numéro de canal virtuel Le circuit d'interface de canal 100 contrôle le canal de trans- mission 120 pour déterminer si l'un de ces messages de données est destiné à la mémoire de processeur 102 Si c'est le cas, le circuit d'interface 100 enregistre directement dans la mé- moire de processeur 102 les messages de données qui sont reçus à partir du canal de transmission 120, sans nécessitarl'inter- vention du processeur 101 De façon similaire, les messages quiproviennent du processeur 101 et qui doivent être émis sur le canal de transmission 120 sont enregistrés dans la mé- moire de processeur 102 et le circuit d'interface de canal 5100 accède directement à ces messages de données dans la mé- moire de processeur 102 et il les émet sur le canal de trans- mission 120, sans nécessiter l'intervention du processeur 1 VI. Files d'attente de lecture/écriture Ia file d'attente de lecture/écriture dont un échan- tillon est représenté sur la figure 3, constitue une structure de transmission de données importante utilisée dans cette cn- figuration Cette file d'attente consiste simplement en un segment de la mémoire de processeur 102 qui a été désigné par le processeur 101 comme étant un emplacement d'enregistrement pour les messages de données qui doivent être reçus ou émis. Dans le mode de réalisation considéré, il y aura des files d'attente de lecture/écriture établies pour les messages de données reçus à partir du canal de transmission 120, ainsi que des files d'attente de lecture/écriture pour les messages de données à émettre sur le canal de transmission 120 la structure fondamentale de ces files d'attente, représentée sur la figure 3, sera uniforme pour ces applications, et il est avantageux de décrire maintenant la structure des files d'attente de lecture/écriture La file d'attente de lecture/ écriture de base est décrite par un ensemble de données de file d'attente en mémoire qui comprend quatre pointeurs et un sémaphore Deux de ces pointeurs définissent les limites de la file et ce sont le pointeur de base qui indique la po- sition d'adresse de mémoire à laquelle la file commence, et le pointeur de limite qui indique la position d'adresse de mémoire à laquelle la file se termine Les deux pointeurs res- tants sont les pointeurs d'écriture et de lecture, et ceux-ci indiquent respectivement les endroits auxquels des messages doivent ttre écrits dans cette file ou lus dans la file Pour les besoins de la description, le pointeur de lecture désigne- ra la position d'adresse de mémoire à laquelle est enregistré le premier multiplet du message suivant à émettre, soit vers le processeur 101, soit vers le canal de transmission 120 Ie pointeur d'écriture indique la position d'adresse de mémoire à laquelle le premier multiplet du message de données reçu suivant doit être écrit, par le processeur 101 ou par le cir- cuit d'interface de canal 100. En considérant la figure 3, il apparatt de façon évidente que ces pointeurs sont changés chaque fois qu'un circuit accède à la file d'attente particulière Par consé- quent, avant l'accès à une file d'attente par le processeur 101 ou par le circuit d'interface de canal 100, le circuit demandeur lit tous les pointeurs appropriés, de façon à dis- poser de l'information de pointeur mise à jour Pour éviter tout problème de conflit concernant les files d'attente, on utilise le sémaphore qui consiste de façon générale en une configuration de bits particulière qui est enregistrée à la position d'adresse de mémoire qui suit immédiatement la posi- tion de mémoire identifiée par le pointeur de limite le sé- maphore est essentiellement un indicateur qui indique à un circuit cherchant à accéder à la file d'attente si la file est au repos ou est en cours d'accès par un autre circuit. De cette manière, le sémaphore empoche un accès simultané à une file d'attente et la confusion associée, due à la nature transitoire des pointeurs de lecture et d'écriture pendant les opérations de lecture et d'écriture simultanées. Un autre problème qui se pose dans l'utilisation de files d'attente de lecture/écriture consiste dans l'écriture dans une file d'attente en état de dépassement de capacité, ce qui fait que de nouvelles données sont écrites dans une file d'attente entièrement pleine, avant que des messages de données enregistrés précédemment aient été lus -Pour éviter de telles situations, on peut utiliser le sémaphore de façon à positionner un indicateur qui indique le moment auquel la file d'attente est pleine, afin que des messages de données nouvellement arrivés ne soient pas écrits dans cette file. Un autre mécanisme de protection consiste à laisser une po- sition de mémoire ou une-cellule de données inoccupéeentre les pointeurs de lecture et d'écriture si la file d'attente est pleine, et à donner la même valeur aux pointeurs de lec- ture et d'écriture si la file d'attente est vide Cette tech- nique permet à un circuit demandeur de déterminer si la file d'attente est pleine ou si elle est complètement vide Une troisième technique couramment utilisée consiste à faire en sorte que le circuit qui effectue l'accès prenne la commande des bus du processeur lorsque la file d'attente devient plei- ne, afin qu'un autre circuit ne puisse pas accéder à la mémoi- re pour y écrire des messages de données supplémentaires. Sélection d'un numéro de canal virtuel Pour faciliter la compréhension de ce circuit, on décrira l'émission d'un message de données caractéristique. Comme mentionné précédemment, les messages de données qui sont transmis sur le canal de transmission 120 ont une zone d'en- tete qui spécifie à la fois l'adresse du processeur et un nu- méro de canal virtuel La question évidente qui se pose à ce moment est: "Comment les numéros de canal virtuel sont-ils affectés aux messages de données transmis entre deux proces- seurs ?" Ia réponse à cette question est qu'il existe une configuration initiale de communication inter-processeur, de type classique, pour définir des numéros de canal virtuel. L Ie processeur 101 communique avec un autre processeur (non représenté) connecté au canal de transmission 120, en accé- dant à cet autre processeur et en sélectionnant un numéro de canal virtuel qui sera utilisé pour cette intercommunication. Pour effectuer cet accès, le processeur 101 émet sur le canal de transmission 120 un message de données qui contient l'adres- se du processeur de destination et un numéro de canal virtuel égal à zéro, ce qui indique au processeur de destination qu'il s'agit d'un message initial d'établissement de communication destiné au processeur de destination Le processeur de desti- nation répond d'une manière similaire au message initial pro- venant du processeur 101, en émettant sur le canal de trans- mission 120 un message de données qui comporte une zone d'en- tete contenant l'adresse du processeur 101 et un numéro de canal virtuel égal à zéro En échangeant de tels messages, le processeur 101 et le processeur de destination accomplissent la procédure d'établissement de liaison nécessaire pour iden- tifier un numéro de canal virtuel acceptable pour tous les deux, et pour identifier, dans leurs systèmes respectifs, les programmes réels qui demandent cette interconnexion. Ainsi, une fois qu'un numéro de canal virtuel a été sélectionné pour une intercommunication processeur-processeur particulière, cette information est incluse dans l'en-tgte du message de données, et le message de données complet est en- registré dans la mémoire de processeur 102, dans la file d'at- tente de lecture/écriture qui est utilisée pour les messages de données sortants Du fait que tous les messages de données sortants ont une destination commune, c'est-à-dire le canal de transmission 120, il existe une seule file d'attente de lecture/écriture pour les messages de données sortants, et tous les messages de données sortants sont enregistrés dans cette file d'attente. Emetteur: figure 1 La figure 1 représente la partie d'émetteur ou de sortie du circuit d'interface de canal 100, et cette partie est commandéepar le contrôleur d'état de sortie 103 le con- trôleur d'état de sortie 103 peut être réalisé de diverses manières et le circuit de l'invention utilise un microproces- seur pour cette fonction O e microprocesseur serait programmé de façon appropriée, d'une manière bien connue, pour fournir les signaux de commande et d'horloge nécessaires au fonction- nement cohérent du circuit d'interface de canal 100. La partie d'émetteur du circuit d'interface de ca- nal 100 contient un certain nombre de registres qui sont char- gés avec les divers pointeurs associés à la file d'attente de lecture/écriture de sortie O e chargement des registres est accompli par le contrôleur d'état de sortie 103, qui de- mande l'accès à la file d'attente de lecture/écriture de sor- tie, dans la mémoire de processeur 102, par l'intermédiaire des bus de commande, d'adresse et de données du processeur. Iorsque le processeur 101 accorde l'accès, le contrôleur d'état de sortie 103 effectue séquentiellement les actions suivantes, par l'intermédiaire du conducteur VALIDATION (non représenté): 1) ilcharge le pointeur de base dans le regis- tre de pointeur de base 111; 2) il charge le pointeur de lec- ture dans le registre de pointeur de lecture 110, par l'in- termédiaire du sélecteur 112, 3) il charge le pointeur de limite dans le registre de pointeur de limite 108 et 4) il charge le pointeur d'écriture dans le registre de pointeur d'écriture 106. Le contrôleur d'état de sortie 103 réagit à une opération de comparaison accomplie par le circuit de compa- raison 107 en émettant un message de donnée sur le canal de transmission 120 si un tel message de données est enregistré dans la file d'attente de lecture/écriture de sortie Cette détermination est accomplie par le circuit de comparaison 107 qui effectue l'opération consistant à comparer le conte- nu du registre de pointeur de lecture 110 et le contenu du registre de pointeur d'écriture 106 Si ces deux contenus diffèrent, le circuit de comparaison 107 émet sur le conduc- teur RWO un signal logique qui est dirigé vers le contrôleur d'état de sortie 103, pour indiquer que les deux pointeurs ne sont pas les mêmes, et que, par conséquent, la file d'at- tente de lecture/écriture de sortie contient un message à émettre Le contrôleur d'état de sortie 103 réagit à ce si- gnal logique présent sur le conducteur RWC en activant le conducteur DEMANDE ADM (ADM = Accès Direct en Mémoire), et ce signal est appliqué au bus de commande du processeur pour demander l'accès auzbus du processeur, afin que le circuit d'interface de canal 100 puisse accèder à la mémoire de pro- cesseur 102. Accès en mémoire Le processeur 101 a indiqué au circuit d'interface de canal 100 que les bus du processeurs sont disponibles, en placant le signal logique approprié sur le conducteur AUTORI- SATION ADM Sous l'effet de ce signal, le contrôleur d'état de sortie 103 valide, par l'intermédiaire des conducteurs VALIDATION et IECTURE, le registre de pointeur de lecture , de façon qu'il émette son contenu vers la mémoire tampon d'adresse d'ADM 104, qui applique à son tour cette adresse au bus d'adresse du processeur Cette opération accède à la po- sition d'adresse de mémoire dans la mémoire de processeur 102 qui contient le premier multiplet du message de données sui- vant à émettre On suppose dans ce système que tous les mes- sages de données ont une longueur fixe, ce qui fait que le compteur de mots 105 est alors restauré par le contrôleur d'état de sortie 103, qui place un signal de validation sur le conducteur CHARGM Dans ce mode de réalisation, le compteur de mots 105 est un compteur câblé en sens descendant ayant une plage de comptage fixe qui est égale à la longueur du message de données standard Ainsi, lorsque le contrôleur d'état de sortie 103 place un signal de comptage sur le con- ducteur CD qui est dirigé vers le compteur de mots 105, ceci commande le compteur de mots 105 de façon qu'il décrémente le compte d'une unité et ce processus se poursuit jusqu'à ce qu'un compte de zéro soit obtenu, ce qui indique qu'un mes- sage de données complet a été émis Chaque fois que le compte contenu dans le compteur de mots 105 est décrémenté, le con- trôleur d'état de sortie 103 place un signal d'incrément d'adresse sur le conducteur AVANCE qui est dirigé vers le re- gistre de pointeur de lecture 110 De cette manière, l'adres- se enregistrée dans le registre de pointeur de lecture 110 et transmise sur le bus d'adresse du processeur par la mé- moire tampon d'adresse d'ADM, 104, est incrémentée d'une po- sition de mémoire à la fois, jusqu'à ce qu'un message de don- nées complet ait été émis, ce qui est indiqué par le fait que le compteur de mots 105 émet un signal d'indication de zéro vers le contrôleur d'état de sortie 103, par le conducteur ZERO. Au fur et à mesure que chaque adresse de matériel est placée sur le bus d'adresse de processeur, le contenu de cette position de mémoire dans la mémoire de processeur 102 est lu au moyen de cette mémoire et est placé sur le bus de données du processeur Ces données sont chargées dans l'in- terface de liaison de données 119 lorsque le contrôleur d'état de sortie 103 place un signal de validation sur le conducteur CHARGMT Ces données sont émises d'une manière classique par l'interface de liaison de données 119 vers le canal de transmission 120, ici encore sous la commande du contrôleur d'état de sortie 103, par l'intermédiaire du con- ducteur EMISSION Lorsque le message de données complet est émis, le contrôleur d'état 103 se restaure et il lit à nou- veau les divers pointeurs dans la file d'attente de lecture/ écriture de sortie, pour déterminer si un autre message est enregistré dans la file d'attente de lecture/écriture de sor- tie, pour ttre émis par le canal de transmission 120. La structure et le fonctionnement de l'interface de liaison de données 119 sont bien connus En particulier, on trouve dans la revue Electronic Design Magazine du 7 juin 1979 un article intitulé "Data Communications: Part Three", par Alan J Weissberger (pages 98-104), dans lequel est décrit un circuit d'interface de canal de type caractéristique Le circuit émetteur/récepteur décrit dans ce document est un cir- cuit bien connu qui est du type à utiliser pour réaliser l'in- terface de liaison de données 119 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 les utiliser dans le circuit d'interface de canal 100, et à extraire un signal d'horloge de ces signaux de données numériques De façon si- milaire, les signaux destinés à 4 tre émis sur le canal de transmission 120 sont placés sous un format approprié et la synchronisation est assurée par l'interface de liaison de don- nées 119. File d'attente bouclée Dans ce système, lorsque le pointeur de lecture atteint la fin de la file d'attente, il doit être réinitialisé au début de la file, du fait qu'il s'agit d'une file d'attente bouclée dans laquelle les messages sont traités dans l'ordre premier entré, premier sorti Cette réinitialisation est ac- complie par le circuit de comparaison 1 C 9 qui contrôle le contenu du registre de pointeur de limite 108 et du registre de pointeur de lecture 110 Lorsque les contenus de ces deux registres sont identiques, le circuit de comparaison 109 émet un signal sur le conducteur LECTURE = LIMITE vers le contrd- leur d'état de sortie 103 Ce signal agit sur le contrôleur d'état de sortie 103 de façon qu'il commande le sélecteur 112, par l'intermédiaire du conducteur SELÈCTION, pour qu'il ai- guille le contenu du registre de pointeur de base 111 vers le registre de pointeur de lecture 110, qui a été validé par le conducteur CHARGMP, ce qui amène à nouveau le pointeur de lec- 1 1 ture au début de la file d'attente. Circuit de messages de données entrants figure 2 La partie d'entrée du circuit d'interface de canal de transmission 100 est représentée sur la figure 2 et fonc- tionne de façon à recevoir les messages de données provenant du canal de transmission 120, à interpréter la partie d'en- tete du message de données et à enregistrer dans la mémoire de processeur 102 les messages de données qui sont destinés au processeur 101 Cette partie du circuit d'interface de canal 100 est commandée par le contrôleur d'état d'entrée 201 qui, comme le contrôleur d'état de sortie 103, peut etre un microprocesseur En fait, les contrôleurs d'état d'entrée 201 et de sortie 103 peuvent être constitués par le meme cir- cuit équipé de deux programmes résidents, l'un pour la comman- de des messages de données entrants et l'autre pour la comman- de des messages de données sortants. Comme il a été envisagé ci-dessus, le format de mes- sage de données comprend un en-t 4 te contenant l'adresse du processeur de destination et une information de canal virtuel, ainsi que les données elles-mêmes Une intercommunication ca- ractéristique de processeur à processeur est établie de la manière envisagée précédemment et on suppose pour la descrip- tion de la figure 2 que les numéros de canal virtuel pour un certain nombre d'intercommunications de processeur à proces- seur ont déjà été déterminés et que des messages de données ont été émis sur le canal de transmission 120 vers le proces- seur 101 Lorsqu'une communication de processeur à processeur est initialisée, le processeur 101 écrit l'information appro- priée concernant cette communication dans une mémoire de com- mande de canal 212 En particulier, une file d'attente de lec- ture/écriture telle que celle représentée sur la figure 3 est établie pour chaque communication de processeur à processeur qui doit avoir lieu Ainsi, pour une configuration de commu- nication à 32 canaux, la mémoire de commande de canal 212 pourrait 4 tre constituée par unemémoire vive de 52 par n, en désignant par N le nombre de bits nécessaire pour identifier toutes les caractéristiques de cette intercommunication. Comme on l'a envisagé précédemment, une file d'at- tente de lecture/écriture de type caractéristique contient un pointeur de lecture, un pointeur d'écriture, un pointeur de base et un pointeur de limite De plus, chaque intercom- munication est accompagnée d'une information supplémentaire nécessaire, comme une information de vecteur d'interruption, comprenant l'adresse d'un sous-programme de service dans le processeur 101 qui doit 4 tre appelé lorsqu'un message de don- nées d'une serie de N messages de données a été reçu par le circuit d'interface de canal 100 et enregistré dans la mémoi- re de processeur 102 Une information supplémentaire concer- nant les caractéristiques du canal est présentée sous l'ap- pellation "état", qui est un terme général pour désigner n'importe quelle information de maintenance ou d'identifica- tion que le processeur 101 désire associer à l'intercommuni- cation particulière de processeur à processeur qui utilise ce canal virtuel particulier Une information d'état carac- téristique peut 4 tre un compte du nombre d'erreurs dans la transmission, une identification du type de communication (transfert par bloc, message simple, etc), et l'état du canal, c'est-à-dire ouvert ou fermé pour la transmission Ainsi, dans un système à 32 canaux, le processeur 101 établirait 32 files d'attente de lecture/écriture dans la mémoire de pro- cesseur 102 et il écrirait l'information décrite ci-dessus, concernant chacune de ces files d'attente de lecture/écriture, dans chaque mémoire de commande de canal 212, par l'intermé- * diaire d'un multiplexeur d'accès en mémoire 213 Le processeur 101 accède à l'information enregistrée dans la mémoire de com- mande de canal 212 par l'intermédiaire de la mémoire tampon de.données 211, et cet accès est évidemment réglé par le con- tr 8 leur d'état d'entrée 201. Pour poursuivre la description de la partie d'entrée du circuit d'interface de canal 100, il est avantageux de dé- crire la réception d'un message de données caractéristique pro- venant du canal de transmission 120 Lorsqu'un message de données apparatt sur le canal de transmission 120, l'interface de liaison de données 119 reçoit les bits qui sont transmis et elle décode la partie d'en-tête du message de données, dans la mesure o elle détermine que le processeur de destination désigné dans l'en-tgte est le processeur 101 Si le message de données est destiné au processeur 101, l'interface de liaison de données 119 indique cette situation au contrôleur d'état d'entrée 201 par l'intermédiaire du conducteur PAA, et le contrôleur d'état d'entrée 201 enregistre dans le registre de canal virtuel 204, par l'intermédiaire d'un signal de va- lidation sur le conducteur CHARGMR, le numéro de canal virtuel contenu dans l'en-tête le contrôleur d'état d'entrée 201 ac- tive la mémoire de commande de canal 212 par l'intermédiaire du bus VALIDATION et l'adresse enregistrée dans le registre de canal virtuel 204 est appliquée par les conducteurs ADRESSE et le multiplexeur d'accès en mémoire 213 B auxconducteurs d'adresse de la mémoire de canal de transmission 212 Sous l'effet de l'application du numéro de canal virtuel à ces conducteurs d'adresse, toute l'information pertinente concer- nant ce canal virtuel est enregistrée dans la mémoire de com- mande de canal 212 pour être émise sur le BUS DE Ml EMOIRE re- présenté sur la figure 2, qui interconnecte la mémoire tampon de données 211, les multiplexeurs 209 et 210 et la mémoire de commande de canal 212. le contr 6 leur d'état d'entrée 201 accomplit séquen- tiellement une série d'opérations dans le processus consis- tant à prélever le message de données dans l'interface de liaison de données 119 et à enregistrer ce message dans la mé- moire de processeur 102 L'une des premières étapes de cette opération consiste à comparer les pointeurs de lecture et d'écriture, comme indiqué ci-dessous, pour déterminer si la file d'attente de lecture/écriture associée est pleine Le contrôleur d'état d'entrée 201 accomplit ceci en aiguillant l'information de pointeur de lecture et l'information de poin- teur d'écriture provenant de la mémoire de commande de canal 212 vers l'unité arithmétique etbogique 208, par l'intermé- diaire respectivement du multiplexeur A 210 et du multiplexeur B 209 L'unité arithmétique et logique 208 effectue une opé- ration de comparaison classique pour déterminer si les poin- teurs de lecture et d'écriture sont égaux S'ils ne sont pas égaux, il y a de la place pour l'enregistrement de messages de données supplémentaires dans la file d'attente, et cette situation est indiquée par le signal logique approprié sur le conducteur COMPARAISON Le contrôleur d'état d'entrée 201 réagit au signal sur le conducteur COMPARAISON en plaçant un' signal de demande d'accès direct en mémoire sur le conducteur DEMANDE ADM du bus de commande du processeur, pour demander l'accès aux bus du processeur Le processeur 101 indique l'ac- ceptation de la demande par un signal logique sur le conduc- teur AUTORISATION ADM, ce qui fait que le contrôleur d'état d'entrée 201 active la mémoire tampon d'adresse 206, par ltin- termédiaire du bus VALIDATION, ce qui aiguille vers le bus d'adresse du processeur l'information de pointeur de lecture qui est émise par la mémoire de commande de canal 212, par l'intermédiaire de l'unité arithmétique et logique 208 et de la mémoire tampon d'adresse 206 Pendant ce temps, les données qui sont reçues par l'interface de liaison de données 119 sont enregistrées dans la mémoire tampon de données 205 et elles sont émises multiplet par multiplet vers le bus de données du processeur, pendant que le contrôleur d'état d'entrée 201 com- mande le circuit de comptage de mots 207 de façon à incrémen- ter l'adresse de matériel qui est enregistrée dans la mémoire tampon d'adresse 206 Ainsi, les données sont enregistrées dans la file d'attente de lecture/écriture associée au canal virtuel, et le pointeur d'écriture est incrémenté jusqu'à ce que le message de données complet soit enregistré dans la file d'attente, ce qui est indiqué par le fait que le circuit de comptage de mots 207 renvoie une indication de zéro vers le contrôleur d'état d'entrée 201, par l'intermédiaire du con- ducteur ZER 02 A ce point, le contrôleur d'état d'entrée 201 retourne à sa condition initiale et attend la réception d'un autre message de données sur le canal de transmission 120 Du fait que le contrôleur d'état d'entrée 201 est un microproces- seur, il peut également mettre en oeuvre divers programmes de maintenance et/ou des interruptions programmées, pour utiliser les données enregistrées dans la partie d'état de la mémoire de commande de canal 212, comme décrit ci-dessus De cette manière, le circuit d'interface de canal 100 assure la comman- de complète de la réception et de l'émission de messages de données par le canal de transmission 120. Il va de soi que de nombreuses modifications peu- vent ê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'interfa- ce entre, d'une part, un processeur et sa mémoire associée, et d'autre part un canal de transmission qui achemine des mes- sages de données, chacun d'eux contenant une zone d'en-tête ayant une adresse de destination et un numéro de canal virtuel, tandis que le processeur comporte des bus de données d'adresse et de commande; caractérisé en ce qu'il comprend: un élément de circuit d'interface ( 119, 204, 205) connecté au canal de transmission ( 120) et réagissant à un message de données qui apparaît sur ce canal en décodant l'adresse de destination et en émettant le numéro de canal virtuel si le processeur ( 101) est la destination désignée du message de données; un multi- plexeur/mémoire de commande de données ( 212, 213) connecté à l'élément de circuit d'interface ( 119, 204, 205) et réagissant au fait que l'élément de circuit d'interface ( 119, 204, 205) émet le numéro de canal virtuel, en traduisant le numéro de canal virtuel en une adresse de matériel identifiant une po- sition de mémoire dans la mémoire de processeur ( 102); un circuit tampon ( 206) connecté à la fois au multiplexeur/mé- moire de commande de canal ( 212, 213) et au bus d'adresse du processeur, et réagissant à l'adresse de matériel en placant cette dernière sur le bus d'adresse du processeur pour activer la position de mémoire identifiée dans la mémoire de proces- seur; et en ce que l'élément de circuit d'interface ( 119, 204, 205) est également connecté au bus de données du processeur et réagit à la réception du message de données en enregistrant directement la partie de données du message de données, telle qu'elle est reçue, dans la position de mémoire activée, par l'intermédiaire du bus de données du processeur. 2 Circuit d'interface selon la revendication 1, caractérisé en ce que le multiplexeur/mémoire de commande de canal ( 212, 213) réagit en outre au numéro de canal virtuel en émettant des données de file d'attente de mémoire qu'il contient; et le circuit d'interface de canal ( 100) comprend en outre un circuit de comparaison ( 208-210) qui interconnecte le multiplexeur/mémoire de commande de canal ( 212, 213) et le circuit tampon ( 206) et qui réagit aux données de la file d'attente de mémoire en appliquant l'adresse de matériel au circuit tampon ( 206) si les données de file d'attente de mé- moire indiquent l'existence dans la mémoire de processeur ( 102) d'un espace disponible suffisant pour enregistrer le message de données. 3 Circuit d'interface selon l'une quelconque des revendications 1 ou 2, caractérisé en ce que le circuit d'in- terface de canal ( 100) comprend un circuit de commande d'en- trée ( 201, 207) qui est connecté au circuit tampon ( 206) et à l'élément de circuit d'interface ( 119, 204, 205) et qui réagit à la réception du message de données en incrémentant l'adresse de matériel qui est enregistrée dans le circuit tampon ( 206), en synchronisme avec la réception du message de données. 4 Circuit d'interface selon la revendication 3, caractérisé en ce que le circuit de commande d'entrée ( 201, 207) comprend un registre de comptage de mots d'entrée ( 207) qui réagit à la réception du message de données en générant une indication de fin de mots lorsque l'élément de circuit d'interface ( 119, 204, 205) a reçu tout le message de données. Circuit d'interface selon la revendication 4, caractérisé en ce que le multiplexeur/mémoire de commande de canal ( 212, 213) est également connecté aux bus de données, d'adresse et de commande du processeur; et le circuit de commande d'entrée ( 201, 207) réagit à l'indication de fin de mots en mettant à jour l'information qui est enregistrée dans le multiplexeur/mémoire-de commande de canal ( 212, 213) par l'intermédiaire des bus de données, d'adresse et de com- mande du processeur. 6 Circuit d'interface selon la revendication 1, caractérisé en ce que l'élément de circuit d'interface ( 119, 204, 205) comprend une mémoire tampon de données ( 205) qui est connectée au circuit de commande d'entrée ( 201, 207) et qui réagit à ce dernier en enregistrant le- message de données tel qu'il est reçu, et en émettant le message de données, tel qu'il est reçu, multiplet par multiplet, sur le bus de données du processeur.