Brevet FR2568035A1 — publié le 19860124

La présente invention concerne un procédé d'interconnexion de microprocesseurs raccordés à un bus de données série, dans lequel un microprocesseur maître émet sur le bus des caractères un à un à l'attention d'au moins un microprocesseur esclave associé à un registre agencé pour recevoir un carac- tère. La présente invention concerne donc un pro- cédé d'interconnexion de microprocesseurs dont un est un microprocesseur maître et les autres des micropro- cesseurs esclaves, le microprocesseur maître pouvant être, à un moment donné, l'un quelconque des micropro- cesseurs. L'interconnexion de microprocesseurs est un problème qui se pose notamment dans l'exploitation des téléimprimeurs, qui en comportent plusieurs. Plus particulièrement, le problème ici posé est celui de l'interconnexion d'un microprocesseur maître et de microprocesseurs esclaves raccordés, tous, à un bus sur lequel des informations doivent circuler de l'un à l'autre sous forme série et selon un débit relativement lent. Cette interconnexion s'effectuait jusqu'ici de la manière suivante. Chaque information ou caractère émis par un microprocesseur maître à l'attention d'un microprocesseur esclave comprend généralement une adresse et le texte de l'information proprement dite. Chaque microprocesseur, étant associé à un registre de désérialisation et de sérialisation égale- ment raccordé au bus, quand un maître émet un caractère, tous les registres des esclaves reçoivent ce caractère. Chaque microprocesseur étant aussi associé à une interface de reconnaissance, qui lui est raccordée ainsi qu'à son registre de désérialisation, l'interface, si elle reconnaît son adresse dans le caractère reçu par le registre de désérialisation associé, provoque l'extraction du caractère du registre et son rangement dans un registre tampon, c'est-à-dire une mémoire, partagée entre l'inter- face et le microprocesseur. Sinon, le caractère est rejeté du registre de désérialisation. Si on procédait jusqu'ici de cette manière, c'était pour éviter que la réception d'un caractère dans un micro- o processeur esclave entraîne l'interruption de son traitement alors en cours, destiné à lui faire assurer une fonction propre, comme par exemple le contr8le d'une imprimante, pour que cet esclave reconnaisse et donc accepte et range ce ca- ractère dans sa mémoire. En effet, accepter un caractère et le ranger requiert en temps réel une durée relativement longue, de l'ordre de 100 Ps, et un microprocesseur n'en dispose pas toujours au moment o lui parvient le caractère, précisément si un traitement ne pouvant pasie-interrompu y est en cours. Ce procédé permettait donc, grace à l'inter- face de reconnaissance, de ne pas subir de contrainte en temps réel supplémentaire et de décharger ainsi les micro- processeurs esclaves de la réception des données. Toutefois, les interfaces de reconnaissance, ou d'acceptation, de caractères, sont coûteuses. Selon une autre solution, un microprocesseur maître pourrait être agencé pour n'émettre à nouveau un caractère après un précédent qu'au bout d'un temps prédéterminé, suffisant pour qu'un microprocesseur esclave puisse termi- ner son traitement en cours avant de ranger le caractère dans sa mémoire. Cette solution est toutefois peu pratique, car le temps prédéterminé en question devrait être plus long que le plus long des temps de traitement ne pouvant pas être interrompus de l'ensemble des microprocesseurs esclaves. La présente invention vise donc à éliminer ces interfaces de reconnaissance. A cet effet, la présente invention concerne un procédé d'interconnexion de microprocesseurs raccor- dés à un bus de données série, dans lequel un micro- processeur maître émet sur le bus des caractères un à un à l'attention d'au moins un microprocesseur esclave associé à un registre agencé pour recevoir un caractère, procédé caractérisé par le fait qu'un caractère reçu dans le registre du microprocessuer esclave n'est reconnu et extrait du registre qu'à l'achèvement du traitement qui s'y déroule au moment de la réception du caractère, que c'est le microprocesseur esclave qui le reconnaît et l'extrait du registre, que le bus reste vide jusqu'à ce que le caractère soit reconnu et extrait du registre, et que, après avoir reconnu et extrait le caractère du registre, le microprocesseur z: esclave émet sur le bus un écho, permettant au micro- processeur maître d'émettre à nouveau un autre caractère. Grâce au procédé de l'invention, qui élimine donc tout recours à des interfaces de reconnaissance, le ou les microprocesseurs esclaves peuvent continuer leur traitement en cours après la réception d'un carac- tère dans leur registre. En outre, ce n'est plus au bout d'un temps prédéterminé que le microprocesseur maitre émet un nouveau caractère mais seulement dès qu'il y a été invité par la réception de l'écho émis par l'esclave concerné par le caractère considéré. Tous les micro- processeurs sont ainsi synchronisés, en ce sens que le microprocesseur maître ne peut pas émettre de nouveau caractère tant qu'il n'a pas reçu l'écho du précédent. On notera ici que cet écho est avantageusement le même caractère que le caractère incident. L'invention est remarquable par le fait que, bien qu'elle visait à éliminer les interfaces de reconnaissance du procédé connu, qui, ellesmêmes, visaient à éviter aux microprocesseurs d'avoir à reconnaître euxmêmes les caractères incidents pour pouvoir continuer leur traitement en cours, elle pro- cède néanmoins d'une reconnaissance des caractères par les microprocesseurs. Mais si ce sont bien les microprocesseurs qui reconnaissent les caractères inci- dents, ils ne le font qu'après l'exécution d'un traite- ment en cours. L'invention sera mieux comprise à l'aide de la description suivante de la mise en oeuvre préférée du procédé de l'invention, en référence aux dessins annexés, sur lesquels: 15. la figure 1 représente schématiquement un microprocesseur mattre et un microprocesseur esclave interconnectés conformément à l'invention; et la figure 2 représente schématiquement le récepteur- émetteur asynchrone des microprocesseurs et ses éléments de raccordement au bus série. La description qui va suivre concerne le pro- cédé d'interconnexion d'un microprocesseur maitre et d'un microprocesseur esclave. Mais il doit bien être entendu ici que l'invention s'applique à l'intercon- nexion d'un nombre non limité de microprocesseurs, dont l'un quelconque peut être à n'importe quel moment le microprocesseur maître. Il en résulte que tous les microprocesseurs possèdent au moins tous les équipe- ments qui vont être également décrits, qu'ils le soient en liaison avec le seul microprocesseur maître ou en liaison avec le seul microprocesseur esclave décrits. Soit donc un premier microprocesseur 1, maître à l'instant considéré, et un second micropro- cesseur 2, esclave au même instant. Ils sont intercon- nectés par un bus série 3, auquel ils sont raccordés. Chacun des microprocesseurs comporte un récepteur- émetteur asynchrone 4, le registre de désérialisation dont il a été question plus haut, raccordé au bus 3. Le registre 4 est bien sûr utilisé aussi comme registre de sérialisation, pour, à l'inverse, transformer sous forme série un caractère sous forme parallèle. Les microprocesseurs comportent en outre une mémoire 5, un dispositif 6 de reconnaissance d'échos, un mécanisme d'interruption 7, un registre d'adresses 8, un mécanisme d'autorisation 9, tous ces éléments étant raccordés à un bus de données interne 10. Le registre 4 est relié à la mémoire 5 et au dispositif de reconnaissance d'échos 6 par le bus 10, mais pour la facilité de la compréhension, ces liaisons fonctionnelles ont été représentées sur la figure 1. De même, le mécanisme d'interruption 7 est relié au registre 4, au registre d'adresses 8 et au mécanisme d'autorisation 9 par le bus 10, mais ces liaisons ont également été illustrées sur la figure 1. Le mécanisme d'interruption 7 est en réalité une partie du séquenceur des microprocesseurs, assurant la fonction d'une porte ET. Quant au mécanisme d'auto- risation, il s'agit d'une bascule. Abordons maintenant le procédé d'intercon- nexion. Quand le registre 4 du microprocesseur maitre 1 émet sous forme série sur le bus 3 un caractère tiré de sa mémoire 5, ce caractère est reçu dans le registre 4 du microprocesseur esclave 2, ainsi d'ailleurs que dans tous les registres 4 de tous les autres microprocesseurs esclaves non représentés. Supposons que ce soit bien le microprocesseur 2 à qui ce caractère est destiné, et qu'un traitement s'y déroule au moment de la réception de ce caractère. Quand le mécanisme d'interruption 7 est ini- tialisé, tout traitement en cours est interrompu pour traiter le caractère reçu dans le registre 4. Le signal d'initialisation, ou d'autorisation, est reçu sur la ligne 11, reliant le mécanisme 7 au mécanisme 9 et il est combiné, à l'entrée du mécanisme 7, au signal "registre 4 plein", reçu sur la ligne 12, reliant le mécanisme 7 au registre 4. S'agissant fonctionnellement d'une porte ET, le mécanisme 7, quand les deux signaux sont présents sur ses entrées 11 et 12, vide le registre 8 de l'adresse alors présente pour y substituer une nouvelle qui va provoquer la lecture du registre 4 et la récep- tion du caractère y contenu dans la mémoire 5, par l'intermédiaire du bus 10. Conformément à l'invention, le signal d'auto- risation est émis par l'achèvement du traitement en cours au moment de la réception du caractère. Jusqu'à cet instant, le caractère reçu dans le registre 4 était masqué. Alors, se déroule le processus décrit ci-dessus et le registre 4 se décharge d'un caractère écho aux fins d'émission sous forme série sur le bus 3 et de réception sous forme parallèle dans le registre 4 du microproces- seur maître 1, avant d'être reconnu dans le dispositif de reconnaissance 6. Entre la réception dans le registre 4 du microprocesseur esclave 2 du caractère émis par le micro- processeur maître 1 et la reconnaissance par le disposi- tif 6 du microprocesseur maître 1 de l'écho émis par le microprocesseur esclave 2, le bus 3 est resté vide. Pour éviter, bien que ce ne soit pas impératif, que l'écho dont se charge le registre 4 ne soit pris pour un caractère incident, c'est-à-dire pour que les caractères incidents et les échos soient discriminés, ce registre présente des particularités. L'émetteur-récepteur asynchrone 4 comprend une partie récepteur 4' et une partie émetteur 4", raccordées au bus série 3 par une porte OU 13 et une interface de ligne 14, respectivement. La sortie de la porte 13 est raccordée à l'entrée 16 du récepteur 4', une de ses entrées est raccordée au bus 3, son autre entrée étant raccordée à l'entrée de l'interface 14 par un inverseur 15. L'entrée de l'interface 14 est également raccordée à la sortie 17 de l'émetteur 4". Admettons que, quand il n'y a pas d'émission d'écho, la sortie 17 de l'émetteur 4" reste à l'état 1. Dans ce cas, l'état de l'entrée 16 du récepteur 4' doit être le même que celui du bus 3. Quand il y a émission de l'écho chargé dans l'émetteur 4", l'état du bus 3 doit être le même que celui de la sortie 17 de l'émetteur 4", et l'entrée 16 du récepteur 4', qui ne doit rien recevoir, doit rester à l'état 1. Cela se traduit, pour l'entrée 16 du récep- teur 4', par le tableau de vérité suivant: Bus Emetteu O o# 1 1O 1 C'est la raison pour laquelle la porte OU 13 et l'inverseur 15 ont été prévus. REVENDICATIONS 1. Procédé d'interconnexion de microprocesseurs raccordés à un bus de données série (3), dans lequel un microprocesseur maître (1) émet sur le bus (3) des carac- tères un à un à l'attention d'au moins un microprocesseur esclave (2) associé à un registre (4) agencé pour rece- voir un caractère, procédé caractérisé par le fait qu'un caractère reçu dans le registre (4) du microprocesseur esclave (2) n'est reconnu et extrait du registre (4) qu'à l'achèvement du traitement qui s'y déroule au moment de la réception du caractère, que c'est le microprocesseur esclave (2) qui le reconnaît et l'extrait du registre (4), que le bus (3) reste vide jusqu'à ce que le caractère soit reconnu et extrait du registre (4), et que, après avoir reconnu et extrait le caractère du registre (4), le microprocesseur esclave (2) émet sur le bus (3) un écho, permettant au microprocesseur maître (1) d'émettre à nouveau un autre caractère. 2. Procédé selon la revendication 1, caracté- risé par le fait que le caractère reçu dans le registre (4) du microprocesseur esclave (2) est masqué jusqu'à l'achèvement du traitement en cours. 3. Procédé selon la revendication 2, caracté- risé par le fait que le registre (4) est vidé de son contenu à l'achèvement du traitement en cours. 4. Procédé selon la revendication 3, caracté- risé par le fait qu'après avoir été vidé d'un caractère incident, le registre (4) est chargé d'un écho. 5. Procédé selon la revendication 4, caracté- risé par le fait qu'un caractère incident et un écho sont discriminés dans le registre (4). 6. Procédé selon l'une des revendications 1 à 5, caractérisé par le fait qu'on interconnecte plusieurs microprocesseurs esclaves à un microprocesseur maître. 7. Procédé selon l'une des revendications 1 à 6, caractérisé par le fait que n'importe lequel des microprocesseurs peut être un microprocesseur maître.