FR 2608805 A1 19880624 FR 8617930 A 19861222 -- i -- La présente invention concerne les systèmes d'échanges d'informations entre une mémoire centrale et des organes périphériques lorsque la cadence des échanges est très éle- vée et lorsque la mémoire est une mémoire DMA (Direct Memo- ry Access). De tels problèmes se rencontrent en informatique, dans toutes les techniques de traitement du signal, de l'image, de données et en particulier dans le domaine de la téléma- tique et des télécommunications. En effet, le développement des services conduit à élargir la fonction assurée par l'uni- té centrale d'un autocommutateur et accroit la quantité d'in- formations véhiculées par celui-ci. Les centraux téléphoni- ques peuvent en effet recevoir non seulement de la parole, mais des données, des signaux d'image ou toute autre infor- mation numérique codée de façon appropriée. Ceci impose une gestion des échanges d'informations entre un très grand nom- bre de circuits périphériques par un processeur central as- socié à une mémoire vive commune. L'invention vise à gérer ces échanges entre un très grand nombre de périphériques et une mémoire DMA, ces infor- mations étant disponibles sur un bus de données associé à un bus d'adresses et ceci en interrompant le moins possible le processeur central. Il est bien connu que les unités de traitement sont formées d'un processeur central associé à une mémoire vive qui est accessible au moyen d'un bus d'adresses associé à un bus de données; ces bus, en combinaison avec le bus de commande, sont habituellement appelés système de bus. Le traitement effectué par le processeur est limité par le temps requis pour transférer les instructions et le temps pour inscrire ou lire les données dans la mémoire. La technique DMA par laquelle les données sont transférées directement dans la mémoire vive sans même nécessiter d'instructions du processeur central est déjà connue. Tout échange avec la mé- moire DMA est effectué au moyen du bus et le processeur cen- tral ne peut, pendant ce transfert, utiliser le bus. Lors- que une grande pluralité de périphériques est raccordée au système de bus, il est utile, d'une part, de régler les con- flits d'accès au système bus et à la mémoire DMA et, d'autre -2- part, interrompre le moins possible le processeur central. Or, habituellement, le volume de travail lié aux initialisa- tions et aux fins de transferts de messages ainsi qu'au trai- tement des interruptions impose une charge de travail impor- tante à l'unité de traitement et un temps de réponse bref. L'invention se propose également de régler les conflits d'accès à la mémoire DMA sans surcharger le processeur cen- tral. En effet, lorsque la cadence des échanges et le nom- bre de périphériques est élevé, on aboutirait vite à une surcharge du processeur central. La présente invention vise donc à résoudre ce double problème de surcharge du processeur central et de pluralité de périphériques ayant accès au bus. Une solution déjà connue consiste à utiliser des orga- nes dits contrôleurs de canaux. Cette solution est extrême- ment lourde en circuits supplémentaires, rigide, et elle im- plique l'insertion de registres intermédiaires de stockage d'adresses. En outre, elle ne décharge pas l'unité de trai- tement des tâches d'initialisation et de fin de traitement des informations à échanger entre l'unité centrale et les périphériques, ni du traitement des interruptions avec temps de réponse bref. Le système d'échanges de messages entre des organes pé- riphériques et une mémoire 3 commune DMA, selon l'invention, comporte une mémoire 3 reliée à un processeur 1 central par l'intermédiaire d'un système bus 4, ce système bus 4 com- prenant un bus de données 41, un bus de commande 43, un bus d'adresses 42, tout échange entre l'un quelconque des orga- nes périphériques et ladite mémoire 3 ou réciproquement étant effectué en deux transferts élémentaires au moyen du- dit système bus 4, un premier transfert correspondant à une inscription du message dans des moyens 8 de stockage, un second transfert correspondant à un transfert dudit message des moyens 8 de stockage dans ladite mémoire 3 commune, cha- que transfert élémentaire étant effectué en mode DMA. Le système d'échanges de l'invention comporte en particulier des moyens (6, 7) auxiliaires de gestion des opérations de transferts effectuées entre l'un des contrôleurs Cpi de pé- riphériques et la mémoire 3 DMA, ainsi que des interruptions, -3- lesdits moyens auxiliaires (6, 7) de gestion coopérant avec lesdits moyens de stockage 8. Les moyens auxiliaires (6, 7) de gestion selon l'inven- tion sont essentiellement formés d'un processeur 7 auxili- aire recevant les informations représentatives du traitement à effectuer (transfert, interruption ou autre) au moyen d'un circuit 6, ledit processeur 7 contenant en mémoire un des- cripteur analysant et identifiant chaque message contenu dans le registre 8. Le processeur 7 auxiliaire de l'invention comporte des moyens (10, 11, 12) pour échanger les signaux de demande d'occupation, de libération, et d'acquittement d'un bus 4 avec le processeur 1 principal et pour appliquer des adres- ses et des commandes sur ledit bus, lesdits moyens (10, 11, 12) une fois initialisés agissant de façon autonome et laissant le processeur 7 libre de poursuivre son travail. Le circuit 6 de l'invention comprend des moyens pour appliquer audit processeur 7 auxiliaire un mot d'état repré- sentatif d'une demande d'échange ou de transfert à effectuer ou encore d'interruption émanant de l'un quelconque des pé- riphériques raccordé audit système bus 4, ledit mot d'état étant reçu sur le bus de données dudit processeur 7 auxili- aire et étant lu à la suite de l'application d'un signal TIRQ audit processeur 7. Le processeur auxiliaire 7 de l'invention comprend des moyens pour échanger avec le processeur 1 principal les pa- ramètres caractéristiques des messages échangés entre la mé- moire 3 DMA et lesdits contrôleurs de périphériques Cpi, préalablement ou postérieurement à un échange, ledit échange de paramètres étant également effectué en mode DMA. Les moyens 6 pour générer un mot d'état à destination du micro-processeur 7 auxiliaire sont essentiellement formés d'un circuit 61 pour recevoir et coder les demandes desdits contrôleurs de périphériques Cpi en établissant une priorité entre lesdites demandes, d'un circuit logique 62 de confir- mation et de lecture et d'un circuit 63 pour formuler une demande d'interruption TIRQ audit processeur auxiliaire 7. Le processeur 7 auxiliaire de l'invention comporte en outre des moyens pour générer une trame, par exemple de rem- plissage, vers l'un quelconque desdits organes périphériques. - 4 - Les messages émis par les organes périphériques sont reçus selon l'invention, soit en mode synchrone, soit en mo- de asynchrone par les contrôleurs de périphériques Cpi. D'autres avantages et caractéristiques apparaitront à la lecture de la description suivante illustrée par des des- sins. La figure 1 représente un schéma d'une unité centrale de traitement. La figure 2 représente un schéma du système d'échanges selon l'invention. En se référant à la figure 1, le processeur central 1 associé à sa mémoire morte 2 a accès à sa mémoire vive 3 au moyen d'un système de bus 4 bi-directionnel formé d'un bus de données 41 associé à un bus d'adresses 42 et un bus de commande 43. Les périphériques peuvent être raccordés au sys- tème de bus 4 ainsi représenté, soit par une liaison de type synchrone, par exemple en mode HDLC, au moyen de n disposi- tifs contrôleurs de périphériques Cpl... Cpn, soit par une liaison asynchrone au moyen de dispositifs appelés UART, non représentés. La présente description s'attachera à décrire un sys- tème d'échange d'informations issues de périphériques reliés de façon synchrone, mais il est bien évident que l'invention s'appliquerait de la même façon à une gestion d'informations accédant au système de bus 4 au moyen de liaisons asynchro- nes. En général, la transmission des données sur le bus 41 est organisée en une succession de transferts de mots-, ces mots étant transmis en parallèle sur ce bus. Dans la pré- sente application, les messages échangés sur le bus de don- nées 41 sont des octets, mais il est bien évident que les mots pourraient se présenter avec des longueurs différentes. En se référant à la figure 2, les n contrôleurs de pé- riphériques Cpi sont reliés au bus 41 de données par l'in- termédiaire d'un multiplexeur 5 bi-directionnel à 16 élé- ments binaires côté bus 41 et 8 éléments binaires côté Cpi dans la présente application. La mémoire morte 2 de l'unité centrale est reliée au bus d'adresses 42 et au bus de données 41 et des données sont échangées entre le processeur 1 et sa mémoire morte 2 au - 5 - au moyen du bus 41 de données. Ce processeur 1 fournit des adresses à sa mémoire 2 au moyen du bus d'adresses 42. Le processeur 1 peut par exemple être un microprocesseur Motorola MC68010 ayant la possibilité de travailler en mode asynchrone, car tous les organes dialoguant avec ce micro- processeur ne présentent pas la même vitesse de réponse; les cycles de travail de ce microprocesseur ne sont alors pas de durée prédéterminée. Lorsque l'un des contrôleurs de périphériques Cpi souhaite écrire des données dans la mémoi- re 3 en mode DMA, un signal de demande de libération du bus doit être appliqué au processeur 1 au moyen du bus de com- mande 43. Lorsque les données arrivent sur les contrôleurs de périphériques Cpi (i = l,n) au moyen de liaisons synchro- nes, les contrôleurs Cpi ont essentiellement pour fonction d'effectuer une transformation série parallèle des données. Ils fournissent donc les données en sortie en parallèle sur 8 éléments binaires, à l'entrée d'un multiplexeur 5 qui lui-même les aiguille sur les poids fort ou faible des 16 bits du bus 41 de données en fonction d'un signal fourni par le décodeur 13. La présente invention se propose de gérer les échanges avec la mémoire 3 en mode DMA au moyen d'un second processeur 7 formé de son unité de traitement 70, de sa mémoire morte 71 et de sa mémoire vive 72. Cn microprocesseur 7 a alors pour fonction de traiter, d'une part, les demandes d'inter- ruption issues de l'un des organes périphériques (via les Cpi) ou du processeur central 1 lui-même, ou encore les de- mandes DMA. Ce microprocesseur 7 permet une gestion entiè- rement programmée selon un programme contenu dans sa mémoi- re 71. Deux types d'échanges interviennent habituellement, sur le système bus 4 entre les contrôleurs de périphériques Cpi et la mémoire commune DMA: les écritures DMAE et lec- tures DMAL. Les divers types d'échanges sont effectués selon l'invention au moyen de deux transferts élémentaires, un premier transfert dans un registre 8 et un second transfert DMA prc 'ament dit de ce registre 8 dans la mémoire 3 DMA ou inverbement, chaque transfert élémentaire nécessitant une occupation minimale du système bus 4. Les divers échanges seront explicités ultérieurement à l'aide de l'illustration de plusieurs modes de réalisation. La description suivante s'attachera tout d'abord à dé- crire le matériel mis en oeuvre. - Le processeur 7 est par exemple un microprocesseur de type Texas 32010 présentant un temps de cycle de 200 ns. Ce processeur 7 est relié à sa mémoire morte 71 au moyen d'un bus de données 91. Ce bus de données 91 est en outre relié, d'une part, au circuit 6 dit d'état, d'autre part, au circuit 8 de stockage et à deux registres 10 et 11. La mémoire vive 72 du processeur 7 est adressée par le processeur 7 lui-même par l'intermédiaire de son bus d'adresses 92. Le système bus 9 de ce processeur 7 annexe comprend en outre un bus 93 de commande qui fournit des signaux d'ordre, d'une part, à l'entrée d'un circuit de décodage 73, d'autre part, à l'en- trée d'un circuit 74 logique. Ces deux derniers circuits 73 et 74 reçoivent en outre des informations d'adresse four- nies par le bus 92. La mémoire vive 72 de ce microprocesseur 7 contient un descripteur de toutes les opérations élémentaires qui seront traitées, ainsi qu'il apparaîtra ultérieurement. Un circuit 12 sert d'interface avec le processeur 1 principal pour échanger les divers ordres d'occupation, ou de libération du système bus 4, propres au mode DMA. Ce circuit 12 est un séquenceur fonctionnant au rythme d'une horloge 16 Mhz par exemple, ces divers ordres sont bien con- nus, il s'agit de "Bus Request" ou "BR" de demande d'occu- pation du système bus 4 de BG ou "Bus Grant" d'accord du processeur principal 1 et enfin de BGACK émis à nouveau par le séquenceur pour signifier qu'il prend effectivement le système bus 4. Ce dernier ordre BGACK libère BR et BG et valide l'émission du contenu du registre 10 d'adresse et 11 de commande par l'application du signal Va sur des portes bis et 11 bis respectivement. La sortie de ces portes 10 bis et 11 bis est connectée aux 42 et 43 respectivement d'adresse et de commande. Ce bus d'adresses 42 est également relié,à un circuit 13 de décodage qui reçoit également les ordres du bus 43 de commande. Ce circuit de décodage 13 fournit un signal à -7- l'entrée d'un circuit 14 logique d'interruption qui fournit un signal de demande d'interruption ITTVM à l'entrée du pro- cesseur principal 1 ainsi qu'un signal de validation d'in- terruption ITMVT, ce dernier étant appliqué à l'entrée du circuit 6 d'état. Ce circuit d'état 6 est un circuit logique qui sert essentiellement d'interface entre les n contrôleurs de péri- phériques Cpi et le processeur 7 annexe. Il sert à recevoir les demandes d'écriture DMAE ou de lecture DMAL et d'inter- ruption issues des contrôleurs Cpi de périphériques. Un exemple de réalisation de ce circuit 6 est représenté sur la figure 2 et sera explicité lors du fonctionnement du systè- me d'échanges de l'invention. Ce circuit 6 se compose essen- tiellement d'un circuit encodeur 61, d'un circuit 62 logi- que et d'un autre circuit logique 63. Le circuit encodeur 61 reçoit en parallèle les signaux fournis par les n contrô- leurs Cpi, ces derniers signaux étant représentatifs d'une demande DMAE d'écriture ou DMAL de lecture et leur affectant une priorité ou encore un signal ITCpi de demande d'interrup- tion émanant d'un de ces contrôleurs Cpi. Cet encodeur 61 fournit en sortie un mot d'état résultant du codage appro- prié de ces différentes demandes ITCpi, DMAE, DMAL en fonc- tion du caractère prioritaire d'un des contrôleurs Cpj ou tout autre choix prédéterminé. Ce mot d'état est appliqué à l'entrée d'un circuit logique de confirmation 62 qui reçoit également le signal Bus RQ "Bus Request" émis par le séquen- ceur 12 ainsi que le signal ITTVM émis par le circuit 14. Le circuit 62 reçoit encore un signal d'horloge h fourni par l'horloge rythmant le processeur 7 permettant de figer la logique de confirmation du circuit 62 ainsi qu'un signal c fourni par le décodeur 73 de ce processeur 7 autorisant la lecture du mot d'état. Ce mot d'état peut encore être com- plété de façon appropriée selon l'application souhaitée. Le circuit 62 reçoit en outre le signal issu du cir- cuit 63. Ce circuit 63 est une porte OU recevant, d'une part, les demandes DMAE, DMAL, ITCpj issues des n contrôleurs de périphériques Cpj, ainsi que les demandes d'interruption ITMVT fournies par le circuit 14 d'interruption. Ce circuit 63 fournit son signal en sortie, d'une part, - 8 - au circuit 62, d'autre part, au processeur 7 annexe. Ce dernier signal est appliqué au processeur 7 sous forme d'une demande d'interruption TIRQ. Pour connaître en détail la nature de la demande à traiter, le processeur 7 lit le mot d'état. La logique 62 permet essentiellement de ne prendre en compte que des états confirmés. Il serait encore possible, sans changer de façon essentielle le circuit 6, de ne pas utiliser les signaux DMAE, DMAL des contrôleurs Cpj et de n'utiliser que les demandes d'interruption ITCpi pour chaque transfert d'octet, ceci réduirait la taille du circuit 61 encodeur mais occasionnerait une légère surcharge du pro- cesseur 7 annexe, donc du système bus du processeur 1 prin- cipal, ainsi qu'on le comprendra ultérieurement. Au lieu d'utiliser un circuit 62 logique de confirma- tion, il est également possible d'effectuer suffisamment de lectures du mot d'état formé en sortie du circuit 61 en- codeur pour avoir deux fois la même valeur du mot d'état, mais ceci occasionne à nouveau une légère surcharge du pro- cesseur 7 annexe. Un mot d'état peut présenter la structure suivante: il peut être formé de 16 bis car le bus de données 91 du proces- seur 7 annexe est formé de 16 bits, en parallèle: - le bit 8 indique un cycle DMA, demandé par le proces- seur 7 et non encore effectué, - le bit 7 peut être programmé par le processeur 7 et permet de masquer les interruptions en provenance des contrô- leurs Cpi, - le bit 9 indique le positionnement d'une demande d'in- terruption du processeur principal 1, - les bits 6 et 10 à 15 sont ainsi inutilisés, - les bits O à 5 indiquent le type de la demande et le numéro du contrôleur de périphérique associé, une demande d'interruption ITMVT en provenance du processeur 1 ou une absence de demande. Le codage de ces bits correctement complétés par un co- de correspondant à une constante fournissent au processeur 7 l'adresse du sous-programme associé, ceci confère au systè- - 9 - me de l'invention une économie en traitement car toute de- mande émanant d'un périphérique ou du processeur principal 1 permet de passer aussitôt au sous-programme approprié. Le signal k est actif chaque fois que le processeur 7 effectue une lecture du mot d'état fourni par ce circuit 6. La présence d'un circuit 74 logique d'acquittement des interruptions pour générer des signaux IACKj affectés à chacun des n contrôleurs de périphériques Cpj fait gagner un peu de temps et de charge par rapport à un acquittement fait uniquement par écriture dans des registres internes des contrôleurs Cpj de périphériques. Le transfert élémentaire d'un paquet d'un contrôleur Cpj vers la mémoire 3 DMA s'effectue pour chaque octet essen- tiellement en deux opérations élémentaires: après réception d'une interruption et lecture d'un mot d'état sur le bus 91, le processeur 7 auxiliaire écrit dans le registre d'ordres ainsi que dans le registre 11 de commande. Une demande BUSRQ est appliquée au séquenceur 12 qui formule une demande BR d'interruption du système bus 4 vers le processeur principal 1. Cette demande formulée par le circuit 11 indique par exemple qu'il s'agit d'un cycle DMA d'écriture et que les données sont des bits de poids faible ou poids fort. Le pro- cesseur 1 envoie un BG "Bus Grant" vers le séquenceur 12 qui en retour lui renvoie BG ACK pour signifier qu'il prend le bus, ceci libère BR et BG. Simultanément, le processeur annexe 7 possède un compteur qui est incrémenté et qui peut suivre toutes les opérations effectuées sur son bus 91 et en particulier sur les données traitées des contrôleurs de périphériques Cpi. Le descripteur de la mémoire vive 72 permet de garder en mémoires toutes les opérations qui seront effectuées. Ainsi, le processeur 7 écrit dans le registre 10 l'adresse du contrôleur de périphérique Cpi qui est sélec- tionné en le lisant sur le mot d'état présent sur le bus 91. L'émission du signal BG ACK par le séquenceur 12 vali- de l'émission des registres d'adresse 10 et de commande 11 sur le bus 4. L'adresse est lue par le décodeur 13 qui in- dique au contrôleur de périphérique sélectionné j par exem- ple que l'opération en cours est un transfert de l'octet con- cerné vers le registre 81 au moyen du bus 41 de données. - 10 - Dès que l'opération est terminée, le séquenceur 12 libère le bus 4, fait retomber le signal BUS RQ à son état repos et le bus 4 redevient disponible pour le processeur 1 prin- cipal. Le processeur 7 annexe peut alors lire le contenu du registre 81 et provoquer sa recopie dans le registre 83. Le second transfert élémentaire du registre 83 vers la mémoire 3 commune intervient alors. Le processeur 7 écrit dans le registre 10 l'adresse dans la mémoire 3 commune o il va écrire l'octet ou le groupe d'oCtets en question, tandis qu'il inscrit dans le registre 11 s'il s'agit d'une écriture de poids fort ou faible et que l'inscription va être faite dans la mémoire 3. Le bus 43 de commande ainsi que le décodeur 13 suivent l'opération en cours. Lorsque le transfert est terminé, c'est la mémoire 3 qui indique que le cycle est terminé. C'est le processeur principal 1 qui indique au pro- cesseur 7 annexe par une écriture dans sa mémoire 72 dans quelle zone de la mémoire DMA 3 l'octet va être inscrit. Pour chaque octet supplémentaire reçu par le contrôleur Cpj de périphérique, ce contrôleur Cpj formule une demande DMA en écriture et le transfert aura lieu octet par octet du Cp vers le registre 8 et du registre 8 vers la mémoire 3 com- mune. Le contrôleur Cpj détecte la fin du paquet et le signa- le au processeur 7 annexe par l'envoi d'un signal ITCpi représentatif d'une interruption(reconnue au moyen du mot d'état lu sur le bus 91). Le processeur 7 réagit rapidement à cette interruption pour vérifier que tout s'est bien dé- roulé, puis si cela a été prévu, il associe un nouveau des- cripteur au futur paquet à recevoir sur la même voie. Le processeur 7 annexe envoie ensuite au processeur principal 1 un message précisant la longueur du message reçu, ainsi qu'il sera explicité ultérieurement. Le processeur princi- pal n'est pas tenu de réagir rapidement à ce message puis- qu'il n'y a pas risque de perte d'information. Une opération inverse peut intervenir: supposons que le processeur principal 1 ait à transmettre un message cons- * titué d'une suite d'octets rangés dans la mémoire 3 vers un organe périphérique. Pour cela, il crée une trame HDLC à l'aide d'un contrôleur de périphérique Cpk par exemple. Il - il - prépare alors une liste de paramètres à destination du pro- cesseur 7 annexe dans une zone convenue de la mémoire DMA 3. Puis le processeur 1 principal envoie une demande d'inter- ruption ITMVT sur le circuit 14 qui est lu par le circuit 6. Le processeur 7 annexe lit le mot d'état et effectue le transfert en mode DMA entre la mémoire 3 et sa mémoire 72 propre. Le processeur 7 analyse les paramètres qui compren- nent la longueur du message, l'adresse de ce message dans la mémoire 3 commune et le numéro k du contrôleur de péri- phérique sélectionné. Le processeur 7 annexe initialise le contrôleur Cpk par une séquence de lectures et d'écritures de registres internes de Cpk en utilisant une suite de trans- ferts élémentaires en mode DMA entre le processeur 7 annexe et le contrôleur Cpk sélectionné. Dès que le contrôleur Cpk est prêt à commencer le transfert, il positionne le signal DMAE, une demande de DMA en écriture pour le premier octet ainsi que pour tous ceux formant le message. Ce signal DMAE provoque une interruption du processeur 7 annexe qui recon- naît l'origine de cette interruption par lecture du mot d'état sur son bus 91. Le processeur 7 Provoque un échange élémentaire DMA d'un octet entre la zone message de la mémoi- re 3 commune et le registre 8, puis un échange élémentai- re DMA du même octet entre le registre 8 et le contrôleur de périphérique Cpk sélectionné du même octet. Ceci provoque l'acquittement de la demande DMAE écriture. Le même échange est réitéré pour l'octet suivant jusqu'à la fin du message. Le processeur 7 tient à jour un pointeur pour connaître l'em- placement de l'octet à aller chercher. Le processeur 7 compte aussi le nombre d'octets envoyés afin de provoquer la fin du message. Pour cela, il lui suffit de ne plus en- voyer d'octet en réponse à la demande DMAE. Le contrôleur de périphérique Cpk envoie ensuite un signal ITCpk au proces- seur 7 toujours grâce au circuit 6 et au mot d'état, pour lui signaler la fin d'émission de la trame HDLC. Le proces- seur 7 peut alors informer le processeur 1 central en trans- férant quelques paramètres dans une zone de la mémoire 3 commune, toujours en mode DMA, par interruption du bus 4, puis en appliquant un signal ITT VM par l'intermédiaire du circuit logique 14. - 12 - De la même façon, un transfert élémentaire de la mémoi- re 3 commune vers le processeur 7 se déroule de la façon suivante: le processeur 7 inscrit dans le registre 10 l'adres- se du mot à lire dans la mémoire 3. Cette adresse est four- nie par sa mémoire 72 propre. Le processeur 7 écrit ensuite dans le registre 11 de commande qu'il s'adresse à la mémoi- re 3 en lecture et qu'il veut- lire l'octet de poids fort ou de poids faible ou les deux à la fois. L'écriture dans le registre 11 de commande active le signal BUS RQ de demande de bus qui est transmis au séquen- ceur 12. Celui-ci positionne à son tour le signal BR de demande de bus 4 à destination du processeur 1 principal. Le processeur 1 indique son acceptation de libérer le bus 4 dès que son cycle sera terminé en positionnant le signal BG. Lorsque le processeur 1 a libéré le bus 4, celui-ci pas- se sous le contrôle du séquenceur 12 qui générera des signaux analogues à ceux habituellement générés par le processeur 1 à l'aide de l'horloge. L'adresse sera fournie par le re- gistre 10, une partie des signaux de commande par le regis- tre de commande 11. Le signal fourni par la mémoire 3 commu- ne indiquant la fin du cycle mémoire est utilisé pour provo- quer la mémorisation de l'information présente sur le bus 41 de données dans le registre 81, la retombée du signal BUS RQ et la libération du bus 4 qui redevient disponible pour le processeur 1. Par une lecture du mot d'état, le processeur 7 qui a pendant ce temps continué à travailler sait que le cycle DMA qu'il avait demandé est terminé, il peut donc lire le contenu du registre 81, à l'aide des portes 82, et provoquer sa recopie éventuelle dans le registre 83. Le système de gestion des échanges selon l'invention présente de très nombreux avantages. Il permet de délester le processeur 1 d'un grand nombre de tâches, et de n'inter- rompre son bus 4 que le temps strictement requis pour le transfert des octets. Comme le processeur 7 annexe traite à la fois des demandes d'interruptions et les demandes d'écri- ture/lecture des périphériques, il peut être informé des erreurs éventuelles et peut dans certains cas prendre des initiatives correctives comme par exemple ignorer une trame - 13 - entachée d'erreurs. Le processeur 7 annexe peut encore, com- me cela est demandé dans certains protocoles, générer de lui-même des trames de remplissage, reconnaître et vérifier ce type de trame en réception et n'échanger avec le proces- seur principal 1 que les trames utiles. Le séquenceur 12 peut être partagé avec un autre pro- cesseur principal, non représenté sur les dessins, cet autre processeur principal ayant également accès au bus 4 du pro- cesseur 1 principal. Dans cette structure dite VME, les deux processeurs principaux deviennent alternativement maitre/ esclave, le second processeur principal étant lui-même relié à un grand nombre de périphériques. Une limitation de cette extension résiderait dans la charge du bus 4 du processeur principal 1 mais permettrait l'échange de messages avec un plus grand nombre de périphé- riques. Le circuit 6 logique est un exemple de réalisation mais il serait également possible de remplacer la logique de mot d'état par une "daisy chain" sans changer le système de l'in- vention. Le contenu des paramètres échangés entre le processeur 1 principal et le processeur 7 auxiliaire est libre, ce qui confère une grande souplesse dans le découpage des fonctions à effectuer par chacun de ces organes. On choisit avantageusement comme processeur 7 auxili- aire un microprocesseur rapide, du genre microprocesseur pour traitement du signal, par exemple de temps de cycle 200 ns. Ainsi, chaque transfert d'octet provoque une interruption du bus 4 inférieure à 5 s environ ce qui optimise le sys- tème de l'invention. En outre, le volume de matériel est minimisé par le fait que toutes les fonctions n'existent qu'en un exemplai- re. Ainsi, par exemple, la fonction séquenceur peut même être partagée avec d'autres organes ayant besoin d'accéder à la mémoire DMA 3. - 14 - REVENDICATIONS 1 - Système d'échanges de messages entre des organes périphériques et une mémoire (3) commune DMA, ladite mémoi- re étant reliée à un processeur (1) central par l'intermé- diaire d'un système bus (4), ledit système bus (4) compre- nant un bus de données (41), un bus de commande (43), un bus d'adresses (42), tout échange entre l'un quelconque des organes périphériques et ladite mémoire (3); ou réciproque- ment, étant effectué en deux transferts élémentaires au moyen dudit système bus (4), un premier transfert correspondant à O10 une inscription du message dans des moyens (8) de stockage, un second transfert correspondant à un transfert dudit mes- sage des moyens (8) de stockage dans ladite mémoire (3) commune ou réciproquement, chaque transfert élémentaire étant effectué en mode DMA, système caractérisé par le fait qu'il comporte des moyens auxiliaires (6, 7) de gestion, des opérations de transferts effectuées entre l'un des contrôleurs CPi de périphériques et la mémoire (3) DMA ainsi que des in- terruptions, lesdits moyens auxiliaires (6, 7) de gestion coopérant avec lesdits moyens de stockage (8). 2 - Système selon la revendication 1 caractérisé par le fait que lesdits moyens auxiliaires (6, 7) de gestion sont essentiellement formés d'un processeur (7) auxiliaire rece- vant les informations représentatives du traitement à effec- tuer (transfert, interruption ou autre) au moyen d'un cir- cuit (6), ledit processeur (7) contenant en mémoire un des- cripteur analysant et identifiant chaque message contenu dans ledit registre (8). 3 - Système selon l'une des revendications 1, 2 ca- ractérisé par le fait que le processeur (7) auxiliaire com- porte des moyens (10, 11, 12) pour échanger les signaux de demande d'occupation, de libération et d'acquittement d'un bus (4) avec le processeur (1) principal et pour appliquer des adresses et des commandes sur ledit bus, lesdits moyens (10, 11, 12) une fois initialisés agissant de façon autonome et laissant le processeur (7) libre de poursuivre son travail. 4 - Système selon l'une des revendications 1 à 3 carac- térisé par le fait que ledit circuit (6) comprend des moyens pour appliquer audit processeur (7) auxiliaire un mot d'état - 15 - représentatif d'une demande d'échange ou de transfert à ef- fectuer ou encore d'interruption émanant de l'un quelconque des périphériques raccordés audit système bus (4), ledit mot d'état étant reçu sur le bus de données dudit processeur (7) auxiliaire et étant lu à la suite de l'application d'un si- gnal TIRQ audit processeur (7). - Système selon l'une des revendications 1 à 5 carac- térisé par le fait que ledit processeur auxiliaire (7) com- prend des moyens pour échanger avec le processeur (1) prin- cipal les paramètres caractéristiques des messages échangés entre la mémoire (3) DMA et lesdits contrôleurs de périphé- riques Cpi préalablement ou postérieurement à un échange, ledit échange de paramètres étant également effectué en mode DMA. 6 - Système selon l'une des revendications 4, 5 carac- térisé par le fait que lesdits moyens (6) pour générer un mot d'état à destination du microprocesseur (7) auxiliaire sont essentiellement formés d'un circuit (61) pour recevoir et coder les demandes desdits contrôleurs de périphériques Cpi en établissant une priorité entre lesdites demandes, d'un circuit logique de confirmation et de lecture (62) et d'un circuit (63) pour formuler une demande d'interrup- tion TIRQ audit processeur (7) auxiliaire. 7 - Système selon l'une des revendications 1 à 6 carac- térisé par le fait que ledit processeur auxiliaire (7) com- porte des moyens pour générer une trame, par exemple de rem- plissage, vers l'un quelconque desdits organes périphériques. 8 - Système selon l'une des revendications 1 à 7 ca- ractérisé par le fait que les messages émis par les organes périphériques sont reçus en mode synchrone par les contrô- leurs de périphériques Cpi. 9 - Système selon l'une des revendications 1 à 7 carac- térisé par le fait que les messages émis par les organes pé- riphériques sont reçus en mode asynchrone par les contrô- leurs de périphériques Cpi.