Brevet FR2549621A1 — publié le 19850125

$ 49621 1. La présente invention concerne un système multiprocesseur pour communication de processeurs entre eux, comprenant un microprocesseur, de préférence l'un des microprocesseurs déterminé, appelé microprocesseur central, et des microprocesseurs, par conséquent les autres microprocesseurs, appelés microprocesseurs périphériques. Il faut tout de suite souligner que l'ouverture selon laquelle le microprocesseur qualifié de central pourrait ne pas être toujours le même, correspond à un système dans lequel tous les microprocesseurs sont identiques et peuvent indifféremment, et par exemple à tour de rôle, devenir ce microprocesseur central. La présentation de l'invention n'est toutefois pas liée à cette ouverture qui n'altère pas les caractéristiques essentielles de l'invention. On rencontre de tels systèmes multiprocesseurs en téléphonie, et notamment en téléphonie privée. Ainsi, et pour considérer un système téléphonique construit autour d'un autocommutateur, cet autocommutateur comprend un réseau de connexion par lequel il peut être relié aux différentes lignes d'un réseau téléphonique, d'une part, et aux différents postes d'abonnés, d'autre part L'autocommutateur comprend un microprocesseur d'unité centrale, pouvant et devant être relié aux microprocesseurs d'unités périphériques, appelées cartes joncteurs; ces cartes supportent, chacune, un certain nombre de joncteurs postes ou de joncteurs réseau. Pour mieux comprendre la communication des microprocesseurs dont il est question à propos de la présente invention, considérons l'autocommutateur évoqué ci-dessus et les messages qui doivent par exemple être échangés entre lui et les joncteurs d'abonnés en liaison avec la fermeture des relais de boucle Considérons un central sonnant qui envoit un courant d'appel cadencé sur un joncteur réseau de l'autocommutateur La détection de ce courant est saisie par le microprocesseur de la carte supportant le joncteur de la ligne concernée, qui doit ensuite la répercuter au microprocesseur de l'unité centrale qui à son tour doit déclencher l'or- dre de fermeture du relais de boucle de la ligne, par l'intermédiaire du microprocesseur de la carte. De façon plus générale, les processeurs périphériques doivent exécuter les ordres émanant du processeur central ainsi que mettre en forme les informations à transmettre au processeur central. Cela peut être effectué en temps réel et par échantillonnage. Mais plus il y a de lignes "réseau", ou plus il y a de postes d'abonnés, plus la communication de tels messages devient longue et lourde au plan de la mise en oeuvre. On a déjà proposé alors d'utiliser la mémoire dont est pourvu le microprocesseur de l'unité centrale en "accès direct". Dans ce cas, et sur autorisation du microprocesseur de l'unité centrale, les microprocesseurs périphériques peuvent accéder directement à une partie de la mémoire de l'unité centrale Mais il s'agit d'une solution onéreuse, car un contrôleur est alors nécessaire pour inscrire les données dans la mémoire du microprocesseur de l'unité centrale qui, pendant ce temps, se trouve arrêté, même si cet arrêt n'est que de courte durée. La présente invention vise donc à pallier cet inconvénient. A cet effet, la présente invention concerne un système multiprocesseur comprenant un microprocesseur central et des microprocesseurs périphériques destinés à communiquer entre eux, caractérisé par le fait qu'il comporte une mémoire d'échange comportant des zones distinctes prédéterminées respectivement allouées aux microprocesseurs périphériques, les microprocesseurs central et périphériques étant agences pour pouvoir être maîtres, chacun, de la mémoire d'échange. Ainsi, pendant les communications entre la mémoire d'échange et les processeurs périphériques, le processeur central n'a pas à être arrêté, et il pourra continuer son propre traitement sous Bése pendant qu'un processeur périphérique est maître de la mémoire d'échange, le processeur central s'en interdit l'accès Outre ce premier avantage, l'invention en présente un second. Les zones de la mémoire d'échange affectées aux divers processeurs périphériques étant physiquement séparées, il n'y a pas de risque qu'un microprocesseur efface ou écrase dans la mémoire d'échange les données d'un autre microprocesseur. Il s'agit là d'un facteur de sécurité. Dans une forme de réalisation préférée du système de l'invention, le microprocesseur central est agencé pour pouvoir rendre chacun des microprocesseurs périphériques maître de la mémoire d'échange et adresser l'ensemble de la zone correspondante de la mémoire d'échange, et chaque microprocesseur périphérique est agencé pour adresser directement les éléments unitairesen l'occurence des octets, de sa zone associée. Dans ce cas, il est avantageux que les moyens d'adressage des éléments unitaires de la mémoire d'échange du microprocesseur central, quand il est maître de la mémoire d'échange, comprennent les moyens d'adressage des zones associées aux microprocesseurs périphériques du microprocesseur central quand ceux-là sont maître de la mémoire d'échange. L'invention sera mieux comprise à l'aide de la description suivante d'une forme de réalisation préférée du système de l'invention, en référence à la figure unique qui représente un schéma-bloc fonctionnel du système. Le système décrit ci-dessous, en l'occurence un système à traitement numérique, comprend un microprocesseur d'un autocommutateur privé, appelé unité centrale, et des microprocesseurs de cartes de lignes ou d'abonnés, appelés microprocesseurs périphériques Le système comprend en outre une mémoire d'échange. A titre d'exemple seulement, on considère une mémoire d'échange d'une capacité de 2048 cases ou éléments unitaires, soit 2 il cases. t 549621. D'ores et déjà, il faut noter que l'adressage des cases de la mémoire d'échange s'effectuera au moyen de onze liaisons filaires. L'élément unitaire des messages sera, dans le cas-considéré, l'octet, dont l'écoulement, dans un sens ou dans l'autre, entre la mémoire d'échange et l'un des microprocesseurs central ou périphériques s'effectuera donc au moyen de huit liaisons filaires. Par ailleurs, on considérera, mais toujours de façon non limitative, un système à seize cartes de lignes ou d'abonnés au maximum, donc à seize microprocesseurs périphériques. En conséquence, des zones distinctes et prédéterminées de 128 ( 27) octets sont respectivement allouées aux différents microprocesseurs périphériques Il en résulte que l'adressage des cases de leurs zones respectives s'effectuera au moyen de sept liaisons filaires. Enfin, l'adressage des seize zones de la mémoire d'échange et des seize microprocesseurs périphériques s'effectuera par quatre liaisons filaires, soit quatre bits d'adressage en association avec un bit de validation d'adressage. Sur la figure, le microprocesseur Idel'unité centrale est relié à la mémoire d'échange 2 par l'intermédiaire d'un bus de données (do -d 7), d'un multiplexeur 3, par l'une de ses deux entrées, et d'un bus de données multiplexées (DO O D 7) Les microprocesseurs périphériques, dont deux seulement, 4 et 5, sont représentés sur la figure pour raison de clarté sont reliés à la deuxième entrée du multiplexeur 3, respectivement par des bus de données ( O % C) et 6, d'une part, et ( 226) t 6, d'autre part. Le microprocesseur central 1 est également relié à la mémoire d'échange 2 par l'intermédiaire, d'une part, d'un premier bus d'adressage (a O a 6) de poids faible, d'un multiplexeur 7 parl'une de ses deux entrées, et d'un bus d'adressage multiplexé (AO A 6), et, d'autre part, d'un secondbus d'adressage (a 7-a 10 O) de poids fort, d'un multiplexeur 83 par l'une de ses deux entrées, et d'un bus d'adressage multplexé (A 7A 10). Les microprocesseurs périphériques ( 4,5) sont également reliés à la deuxième entrée du multp lexeur 7, et donc à la mémoire d'échange 2, par des bus d'adressage o-c 16) 2 2 et 9, d'une part, et des bus d'adressage (o Par ailleurs, le microprocesseur central 1 est encore relié à la deuxième entrée du multiplexeur 8 par un bus d'adressage des microprocesseurs périphériques (Ado-Ad 3), qui se ramifie lui-même vers les microprocesseurs ( 4,5), en deux bus d'adressage B 4, B 5. Enfin, des liaisons de validation d'adressage V 3,V 7, V 8 relient le microprocesseur central 1 aux multiplexeurs 3, 7, 8, respectivement; des liaisons relient les microprocesseurs à un multiplexeur 10 de contrôle d'écriture-lecture de la mémoire d'échange 2. Le fonctionnement du système est le suivant. Les microprocesseurs périphériques 4,5 exécutent les ordres émanant du microprocesseur central 1 et mettent en forme les informations à transmettre au microprocesseur central Quant au microprocesseur central, il traite ses informations à un niveau plus élevé, tout en étant déchargé des opérations en temps réel attribuées aux microprocesseurs périphériques compte-tenu de leur structure. Les échanges, dans les deux sens, entre les microprocesseurs périphériques et le microprocesseur central s'effectuent à l'initiative de ce dernier qui peut donc en contrôler le débit Pendant ces échanges, le microprocesseur central 1 n'est pas arrêté et peut, sans beaucoup de restrictions, poursuivre son propre traitement, dans la mesure o il n'a pas à utiliser la mémoire d'échange 2. Les informations sont donc échangées, aussi bien dans le sens montant que descendant, par l'intermédiaire de la mémoire d'échange 2 à accès multiple fonctionnant en temps partagé sous le contrôle du microprocesseur central 1. Celui-ci peut avoir accès à toutes les cases de la 2549621. mémoire 2 par l'intermédiaire des bus (a -a 6) et (a 7-a 10). Il peut également donner l'accès de la mémoire à l'un des microprocesseurs périphériques, et plus précisemment à sa zone associée de la mémoire, et s'en interdire l'accès Cet accès ne s'effectue que par le bus multiplexé (Ao-A 6), si bien que, par l'intermédiaire du multiplexeur 8, le bus multiplexé (A 7-A 1 O), de poids fort, est relié au bus d'adressage de zones (Ado-Ad 3) du microprocesseur central 1 A ce propos, on peut donc dire que les moyens d'adressage des cases de la mémoire d'échange 2 du microprocesseur central (Ao-A 6) et (A 7-A 10 o), quand il est maître de la mémoire d'échange 2, comprennent les moyens d'adressage des zones associées aux microprocesseurs périphériques du microprocesseur central (A 7-A 1 o), quand ces microprocesseurs périphériques sont maîtres de la mémoire d'échange 2. Les microprocesseurs périphériques sont donc adressés par quatre bits, par l'intermédiaire des bus B 4, B 5, associés à un bit de validation Ces quatre bits d'adressage s'écoulent par les bornes d'adressage A 7-A 10 de poids fort de la mémoire d'échange 2. Il faut rappeler ici que, pour les microprocesseurs périphériques, la mémoire d'échange 2 est divisée en zones distinctes égales, dans le cas considéré 16, qui font partie du champ de mémoire vive accessible aux microprocesseurs. Lorsque le microprocesseur central 1 veut avoir accès à la mémoire d'échange 2, il inhibe le bit de validation d'adressage des microprocesseurs périphériques, ce qui commute les bus de données et d'adressage et les signaux de contrôle d'écriture-lecture de la mémoire 2 sur le microprocesseur central 1. Le microprocesseur central 1 a alors accès à la mémoire d'échange 2 et il peut lire les données écrites par les microprocesseurs périphériques lors de leurs accès précédents, et écrire des données à destination des microprocesseurs périphériques dans leurs zones réservées respectives. Pour l'accès des microprocesseurs périphériques à la mémoire d'échange 2, le microprocesseur central 1 positionne les bits d'adressage du microprocesseur sélectionné ainsi que le bit de validation d'adressage. Le décodage de la combinaison des bits d'adressage des microprocesseurs périphériques s'effectue)au niveau de chaque carte, par un dispositif logique classique, le décodage est pris en compte par un microprocesseur périphérique et à partir de ce moment, celui-ci peut accéder à la mémoire d'échange 2 pour y lire ou y écrire des données. Deux exploitations sont possibles: 1) les microprocesseurs périphériques n'ont accès à la mémoire d'échange que pendant un temps prédéterminé et ne peuvent donc effectuer qu'un nombre de lectures-écritures également prédéterminé; 2) les microprocesseurs périphériques testent régulièrement la combinaison des bits d'adressage Quand cette combinaison change d'état, par exemple passe de O à 1, les microprocesseurs périphériques terminent leur cycle en cours, dans un laps de temps déterminé, et cessent d'accéder à la mémoire d'échange 2. A titre d'exemple, dans la forme de l'invention effectivement réalisée par la demanderesse, les microprocesseurs périphériques sont des microprocesseurs "monochips" 8051 du constructeur INTEL. Bien entendu, les multiplexeurs dont il a été question plus haut sont des multiplexeurs bidirectionnels. En outre, le bus d'adressage (Ado-Ad 3) pourrait être remplacé par un simple compteur, dans le cas o il serait choisi de donner aux microprocesseurs périphériques l'accès à la mémoire d'échange dans un ordre déterminé et immuable. Le fonctionnement du système qui vient d'être décrit peut être résumé par le tableau ci-dessous, qui représente les numéros des éléments unitaires, ou des cases, de la mémoire d'échange adressés au niveau de cette mémoire selon que le microprocesseur central ou Ies microprocesseurs périphériques en sont maîtres, ainsi que le numéro des zones ? 549621 associées aux microprocesseurs périphériques. Microprocesseurs périphériques Microprocesseurs maîtres central maitre Zones Cases Cases 0 0 0 s 127 127 1 O 128 :: 127 255 * * O 1 920 127 2047 On a décrit le système de l'invention en référence à un autocommutateur de téléphone prive associé à des postes d'abonnés périphériques, mais il est clair que l'invention s'applique à d'autres secteurs que la téléphonie Elle s'applique à tout système comprenant des microprocesseurs, ou même des processeurs, devant communiquer entre eux. Revendications 1 Système multiprocesseur comprenant un processeur central ( 1) et des processeurs périphériques ( 4,5) destinés à communiquer entre eux, caractérisé par le fait qu'il comporte une mémoire d'échange ( 2) comportant des zones dis-r tinctes prédéterminées respectivement allouées aux processeurs périphériques ( 4 5), les processeurs central ( 1) et etant périphériques ( 4,5)/agencés pour pouvoir être maîtres, chacun, de la mémoire d'échange ( 2). 2 Système selon la revendication 1, dans lequel le processeur central ( 1) est agencé pour pouvoir rendre chacun des processeurs périphériques ( 4,5) maître de la mémoire d'échange ( 2) et adresser l'ensemble de la zone correspondante de la mémoire d'échange ( 2) , et chaque processeur périphérique ( 4,5) est agencé pour adresser directement les éléments unitaires de sa zone associée. 3 Système selon la revendication 2, dans lequel les moyens d'adressage (Ao-Ao 10) des éléments unitaires de la mémoire d'échange ( 2) du processeur central ( 1), quand il est maître de la mémoire d'échange ( 2), comprennent les moyens d'adressage (A 7-Ao 10) des zones associées aux processeurs périphériques ( 4,5) du processeur central ( 1) quand ceux-. là ( 4,5) sont maîtres de la mémoire d'échange ( 2). 4 Système selon la revendication 3, dans lequel le processeur central 1 est relié à deux b us d'adressage des éléments unitaires de la mémoire d'échange (ao-a 6) et (a 7-a 10 o), le bus d'adressage (a 7-a 10) est relié à la mémoire d'échange ( 2) par un multiplexeur ( 8), et le processeur central ( 1) relié à un bus d'adressage des zones des processeurs (Ado-Ad 3) relié lui-même au multiplexeur ( 8). Système selon la revendication 4, dans lequel le bus d'adressage (ao-a 6) est relié à la mémoire d'échange ( 2) par un multiplexeur ( 7). 6 Système selon la revendication 5, dans lequel les processeurs périphériques ( 4, 5) sont reliés à des bus d'adressage (Ml -14), ( 2 _% 2) ( 9) eux-mêmes reliés au o 6 ' O 6 ' o 10 multiplexeur ( 7). 7 Système selon l'une des revendications i à 6, dans leauel la mémoire d'échange a une capacité de 2 048 octets et elle est divisée en 16 zones de 128 octets.