FR 2484668 A1 19811218 FR 8111670 A 19810612 La présente invention concerne un procédé pour transférer à un système microprocesseur les données d'entrée et de sortie d'un microprocesseur dl autres appa- reils et installations commandées par ordinateur, ledit système comprenant une ou plusieurs unités centrales avec mémoires. Dans de nombreux systèmes de commande, réalisés à l'aide d'ordinateurs et commandant des procédés ou des appareillages complexes, par exemple des grues ou des installations complètes, il est intéressant de distribuer diverses tâches parmi les différentes unités centrales. De même, il est intéressant de subdiviser également les diverses commandes de parties de l'appareil ou d'unités complètes d'appareils. On peut ainsi faciliter la program- mation et disposer d'un système clair, facile'à entrete-- nir et à modifier. Afin qu'il n'y ait dans ce texte aucune obscurité dans les concepts, il convient de spé- cifier avec précision les termes "ordinateur", "unité centrale" et "microprocesseur" du point de vue de la pré- sente invention. On désigne sous le nom deordinateur une entité composée d'une ou plusieurs unités centrales avec appareillage auxiliaire, et, sous le nom d'unité centra- le un ou plusieurs microprocesseurs avec appareillage auxiliaire. Dans les systèmes de commande mentionnés, il est fréquent qu'une ou plusieurs unités centrales aient besoin des mêmes données d'entrée et de sortie provenant d'un microprocesseur ou concernant la condi- tion de l'appareil à un instant donné. Par exemple, la donnée d'action d'un seul et même microrupteur de fin de course peut être nécessaire pour une ou plusieurs unités centrales pour que la commande puisse être cor- rectement exécutée. Dans la technique antérieure, on a résolu ce problème dans les systèmes de commande, soit en appli- quant directement toutes les données d'entrée et de sortie nécessaires à toutes les unités centrales soit en connectant ensemble les unités centrales par des moyens tels qu'un bus de transfert, ou même en utilisant un microprocesseur'séparé d'entrée/sortie (auquel on se référera par la suite comme à un microprocesseur E/S), par l'intermédiaire duquel toutes les uni-tés centrales reçoivent toutes les données -dont elles ont besoin. Cepen- dant, -tous ces dispositifs ont leurs inconvénients lors- que les données d'entrée et de sortie son-t'directement reliées à toutes les unités centrales, il devient néces- saire de construire pour toutes ces unités des circuits semblables d'entrée et de sortie. Ce-la-augmente les frais de fabrication et la complexité du circuit. Si chaque donnée d'entrée et de sortie est reliée uniquement à une - unité centrale et que l'on utilise un bus de transfert, on peut réduire ces frais mais on se heurtera alors au problème de l'interfaçage entre les unités centrales, avec les frais que cela entraîne, et souvent à la lenteur de fonctionnement provoquée par le bus. Dtautre part, lorsqu'on utilise un micropro- cesseur E/S, des frais supplémentaires apparaissent: ceux du microprocesseur E/S proprement dit, et le problème se pose de l'interfaçage des unités centrales et du micro- processeur E/S, en premier lieu en ce qui concerne la rapidité de fonctionnement possible, lorsque-l'on a plu- sieurs unités centrales. Pour réaliser un-tel interfaçage, on a utilisé la technique de l'Accès Direct Mémoire (DMA) ou la technique traditionnelle d' E/S. Avec le procédé et l'appareil de l'invention, on élimine tous les inconvénients mentionnés ci-dessus et on réalise un système de commande fiable au coût de fabrication peu élevé, pour les microprocesseurs et les appareils complexes. Le procédé de l'invention se carac- térise- en ce que les données d'entrée et de sortie sont séparées des unités centrales par des mémoires E/S et que le transfert des données entre ltunité qui adapte les données d'entrée et de sortie et les mémoires E/S est exécuté par un copieur E/S. L'avantage est le sui- vant: le bus E/S ne surcharge pas les unités centrales ainsi connectées et le nombre d'unités centrales qui peut être connecté à un bus n'est limité que par la capa- cité de charge électrique du bus. Un autre avantage est le fait que les circuits dtE/S n'ont pas-besoin d'être 2484668- multipliés. Toutes ces caractéristiques favorables rendent possible l'abaissement des frais de fabrication d'une installation mettant ce procédé en oeuvre. - Un autre avantage de l'invention est le fait que le copieur E/S copie les données provenant d'un multi- plexeur d'entrée et allant à la section mémoire d'entrée de chaque unité centrale et- cela simultanément, et qu'il copie simultanément le bloc de sortie de chaque unité centrale sur les mémoires de sortie ainsi que sur le bloc équivalent des autres unités centrales. L'avantage est le suivant: la synchronisation des opérations de traitement de données exécutées par les unités centrales est facili- tée par le fait que le copieur E/S met à jour simultané- ment les données dans les mémoires E/S. Une autre caractéristique avantageuse de l'in- vention tient dans le fait que le copieur E/S effectue la transmission de données sans interruption pendant que le système est en action. Cela permet, entre autres, la correction automatique de l'inversion d'état du circuit de sortie qui serait provoquée par une perturbation. Une troisième caractéristique favorable de l'invention tient dans le fait que la mise à jour des données d'entrée vers les mémoires E/S et la mise à jour des données de sortie depuis les mémoires E/S s'effectue complètement sans surcharger les unités centrales. Cela permet surtout de disposer d'une unité centrale ayant un certain nombre de bus E/S, et sur laquelle ces bus n'exer- cent aucune charge. Une autre caractéristique de l'invention est le fait que le transfert de données entre les mémoires E/S et l'appareil d'adaptation s'effectue en mode-série, avec 1... n chiffres binaires en parallèle. Une autre caractéristique de l'invention tient dans le fait que l'adressage des données en cas de copie s'effectue pour les mémoires E/S et le bloc adaptateur à l'aide de compteurs d'adresses séparés qui sont syn- chronisés par le copieur E/S. L'avantage commun à ces deux caractéristiques est que le bus E/S peut être étroit car il est inutile de s'en servir pour transmettre des données d'adresse. De plus, par suite de l'étroitesse du bus et sa lenteur admise, le bus et les unités centrales auxquelles il est connecté peuvent être électriquement isolés avec assez de facilité, ce qui réduit le coût de fabrication. Une autre caractéristique de l'invention tient dans le fait que le séquencement des interfaces est sépa- ré du séquencement des unités centrales. Cela présente l'avantage de disposer d'une bonne tolérance aux parasites pour le bus, ce qui permet l'usage de signaux assez lents sur ce bus. L'invention concerne aussi des appareils pour mettre en oeuvre le procédé mentionné ci-dessus. L'appareil comprend une ou plusieurs unités centrales avec mémoires, et un appareil adaptateur de données d'entrée et de sortie. L'appareil de l'invention est caractérisé en ce que le bus E/S après l'unité d'adaptation a été connecté pour chaque unité centrale à une mémoire E/S simple, qui est reliée par un bus local à l'unité centrale, et que le copieur qui transmet à la fois les données d'entrée et de sortie a été connecté au même bus avec l'unité d'adaptation et les mémoires E/S. On a ainsi l'avantage que le bus E/S n'impose aucune charge sur les unités centrales ainsi connectées. Un autre avantage est le fait que les unités centrales peuvent lire toutes les entrées et écrire toutes les sorties par des opérations normales de lecture et d'écriture. De plus, les unités centrales peuvent aussi lire les états de toutes les sorties des mémoires E/S. Un autre avantage est le bas prix de l'appareillage. Par exemple, le copieur E/S simple qui est utilisé est considérablement plus avantageux que les microprocesseurs E/S plus complexes couramment utilisés. Le procédé de l'invention et le fonctionnement de l'appareil correspondant seront décrits ci-après plus en détail au moyen d'un exemple avec référence aux des- sins joints, dans lesquels: La figure 1 représente le circuit de l'inven- tion sous forme de schéma synoptique, La figure 2, la copie effectuée par le cop-irr F/S La figure 3, la mémoire E/S avec ses circuits auxiliaires sous forme de schéma synoptique. La figure 4, le copieur E/S avec ses circuits auxiliaires et, La figure 5, l'appareil d'adaptation des données d'entrée et de sortie, sous forme de schéma synoptique. On utilise dans le circuit de l'invention un microprocesseur E/S excessivement simple, qui est appelé copieur E/S 1, et qui transmet les données depuis les entrées et les sorties entre les mémoires- E/S 3 et l'ap- pareil d'adaptation 2 de données d'entrée et de sortie. Le transfert des données a lieu par un bus commun 6 d'E/S entre toutes les unités centrales 4 et l'appareil adaptateur de données E/S 2. L'interfaçage depuis le bus E/S et les unités centrales 4 a été réalisée par l'intermédiaire de cha- que mémoire 3 E/S propre à chaque unité centrale, cette mémoire étant à nouveau connectée à son unité centrale 4 par un bus local 7. Le bus E/S est commandé à une fré- quence si lente - et synchronisée avec les unités cen- trales 4 - que l'utilisation de la mémoire 3 d'E/S des unités centrales n'a aucun effet sur le fonctionnement du bus E/S 6. Le copieur E/S 1 copie en permanence les entrées dans les mémoires E/S et les sorties provenant des mémoires E/S 3. En d'autres termes, le copieur E/S fonctionne en permanence selon la même boucle. L'évène- ment de copie proprement dit est illustré dans la figure 2 et le copieur E/S, invisible dans la figure, copie toutes les données d'entrée, à raison d'un mot à la fois, simultanément depuis le multiplexeur d'entrée 11 vers les mémoires E/S 3 de toutes les unités-centrales 4, plus précisément rapportées à leur section de mémoire d'entrée 16. Un mot comprend 1...n chiffres binaires, n étant un nombre entier positif. Donc, toutes les uni- tés centrales 4 reçoivent simultanément les données de toutes les entrées dans leurs mémoires E/S. Les sections de mémoire de sortie 17 des mémoires E/S et les sections de mémoire de sortie 12 du bloc d'adaptation 2 des données d'entrée et de sortie ont été diviséesdans la figure 2, en blocs selon le groupe de sortie, un tel bloc pouvant comprendre 1...n mots. Le nombre de blocs ne dépend pas du nombre d'unités centrales ou de données d'entrée, mais cela n'offre pratiquement pas d'intérêt que le nombre de blocs soit supérieur au nombre d'unités centrales. Les blocs,ou groupes de sortie, ont été hachurés différemment dans la figure 2, pour davantage de clarté. Les blocs indiqués par les hachures A repré- sentent les groupes de sortie sur lesquels peut écrire notamment l'unité centrale 4.1.. tandis que ceux indiqués par les hachures B peuvent être écrits par l'unité cen- traie 4.2. et l'unité centrale 4 peut écrire sur ceux indiqués par les hachures C. Toutes les unités centrales 4.1...4.m peuvent lire tous les blocs de leur propre mémoire E/S 3. Si chaque mot qui sort (et qui comprend 1...n chiffres binaires) ou chaque groupe de sortie (comprenant 1...n mots). est mis à jour par plusieurs unités centrales-4, l'établissement de l'état logique de sortie dépend des circuits logiques électriques utilisés. Donc, chaque unité centrale possède son propre groupe de sortie présélectionné. Le copieur E/S copie les sorties, à raison d'un mot -àla fois, sur les mémoires de sortie 12 de chaque groupe de sortie et la section de sortie (17) des mémoires E/S dans toutes les autres unités cen- trales, simultanément à l'emplacement équivalent. En d'autres termes, les sorties d'une unité centrale sont comme des entrées pour les autres. Toutes les autres unités centrales reçoivent donc simultanément l'informa- tion concernant les états logiques des sorties. L'unité centrale 4 peut lire et écrire én mé- moire E/S 3, dans ses propres zônes mémoires permises,- et ce à tout instant. Donc, l'unité centrale 4 n'est pas forcée d'attendre les données du bus 6, ni d'attendre que le bus respectif devienne libre, comme c'est le cas dans toutes les autres solutions connues dans la technique informatique. Afin que la mémoire E/S 3 ne puisse être à même de se brancher sur le bus-de deux éléments diffé- rents de l'appareillage, dans le présent cas l'unité centrale 4 et le bus E/S 6, lorsqu'il est en usage, le fonctionnement du bus 6 et celui de l'unité centrale 4 doivent être synchronisés de telle façon que leurs modifi- cations d'adressage ne puissent se produire simultanément. Comme le bus 6 est commun à toutes les unités centrales 4, ces dernières doivent toutes êtres synchro- nisées avec ce bus 6. La synchronisation peut être effec- tuée notamment de telle sorte que les-unités centrales 4 et le copieur E/S 1 soient commandés par le même signal d'horloge 8 et qu'ils utilisent différents bords d'attaque des impulsions d'horloge pour les modifications dé l'adres- sage. A nouveau, ils doivent être synchronisés pour que l'on puisse maintenir en synchronisme commun les circuits E/S, ou les circuits de données d'entrée et de sortie _ (E/S) et l'adressage des mémoires E/S 3 du côté du bus 6. Ceci pourrait se réaliser du fait que le copieur E/S créerait des adresses de façon simultanée, mais, afin de conserver l'étroitesse du bus 6, chaque mémoire E/S 3 et chaque circuit E/S engendrent eux-mêmes leur adresse, et le copieur E/S 1 maintient les compteurs d'adresse 18,13 en synchronisme en produisant pour ceux-ci un signal commun d'horloge 8; en outre, pour les démarrages et pour être certain de la synchronisation, il produit pour tous les éléments un signal commun de synchronisation 9. Afin que la manipulation de la mémoire E/S 3 de l'unité cen- trale 4 puisse être invisible sur le bus 6, ou vice-versa, le séquencement des évènements de lecture ou d'écriture a été conçu de telle façon que l'un ou l'autre (en règle générale le bus) soit plus lent que l'autre, cette dif- férence de vitesse étant telle que l'autre peut inter- rompre son opération de lecture ou d'écriture et effectuer sa propre opération de lecture ou d'écriture de façon qu'elle soit "invisible" pour tout ce qui est moins rapide. Par exemple, si la période de mémoire de l'unité centrale est le dixième de la période de mémoire du bus, cette interruption de 1/10 dans la période du bus n'aura aucun effet sur le fonctionnement de ce dernier. La figure 3 montre la construction de la mémoi- re E/S 3 et son branchement au reste du système, et cela sous forme synoptique. Il s'agit ici d'une mémoire 21 du type RAM avec des ports doubles à la fois sur l'adresse 19,27 et les lignes de données 20,28. Par l'intermédiaire d'un jeu de ports 29, l'unité centrale 1 lit la mémoire ou écrit dessus, et par l'autre jeu de ports 30, la mé- moire communique avec le bus E/S 6 et le compteur d'adres- se 18. Les ports du côté du bus 7 ne sont actifs que lorsque l'unité centrale désire utiliser la mémoire. Le compteur d'adresse 18 compte l'adresse 21 pendant le mo- ment o le signal d'horloge 8 parvient à la mémoire 21 depuis le bus 6. L'adresse a été branchée à la mémoire 21 à travers les ports 30, qui sont actifs à tous les instants autres que les moments o l'unité centrale 4 désire utiliser cette mémoire 21. Le compteur 18 est synchronisé avec lescompteurs d'adresse respectifs des autres mémoires E/S 3 par le signal de synchronisation 9. Le bloc 22 peut être appelé "bloc de séquencement et de sélection lecture/écriture E/S". Il s'agit d'un bloc logique grâce auquel les zônes d'entrée et de sortie sont sélectionnées dans la mémoire 21. Le bloc 22 produit les signaux de lecture ou d'écriture et effectue le sé- quencement de ces signaux et des adresses. Le bloc 23, qui conserve les données en sortie, assure que les données restent inchangées sur le bus 6 dans le cas o l'unité centrale 4 désire utiliser la mémoire RAM pendant que l'écriture se poursuit sur le bus 6. Les circuits tampons de bus 24 sont des circuits qui adaptent la mémoire RAM 21 au bus E/S 6 (adaptation électrique). Les unités centrales 4 à connecter au bus 6 et la copie doivent être synchronisables pour que les changements d'état des compteurs d'adresse 18 des mémoires E/S 3 des unités centrales 4 ne se produisent pas au même moment. Donc, les unités centrales doivent être mutuel- lement synchronisées de façon qu'il existe des périodes pendant lesquelles ne se produise aucun changement dans ce bus 7 de l'unité centrale 4 sur lequel il adresse la mémoire E/S 3, et pendant lesquels se produisent les chan- gements des compteurs d'adresse 18, c'est-à-dire les mo- ments o varie le signal 8. Cela est assuré par le généra- teur synchrone d'horloge 25 du copieur E/S, qui peut aussi être replacé par l'impulsion d'horloge 31 de l'une quel- conque des unités centrales 4 et par lequel sont synchro- nnisés toutes les autres unités centrales et le copieur E/S 1. Le copieur E/S 1 comprend également le diviseur 26 qui est un simple compteur qui divise à partir de l'impul- sion d'horloge synchrone 10 une impulsion d'horloge 8 de fréquence convenable sur le bus E/S 6, et produit à des intervalles prédéterminés le signal de synchronisation d'E/S 9 qui synchronise les compteurs d'adresse 18 de toutes les mémoires RAM 21. Par exemple, lorsque la mémoi- re RAM 21 a été parcourue une fois, le signal de synchro-- nisation E/S 9 peut être une simple impulsion de mise à zéro pour les compteurs d'adresse 18. La fréquence maxima- le de l'impulsion d'horloge 8 est déterminée par la fré- quence d'horloge des unités centrales 4 et par la longueur de leurs périodes de mémoire. La figure 5 représente la construction de l'unité d'adaptation des données d'entrée et de sortie 2 et ses connexions avec le reste du système sous forme de schéma synoptique. Ici, le compteur d'adresse E/S 13- compte les adresses au multiplexeur 11 et à la section de mémoire de sortie 12 en synchronisme avec l'impulsion d'horloge 8 provenant du bus 6. Avec l'aide du signal de- synchronisation E/S 9, le compteur d'adresse 13 est syn- chronisé avec les compteurs d'adresse 18 des mémoires E/S 3. Le bloc 14 est le bloc de sélection lecture-écri- ture et de séquencement. C'est un circuit logique qui choisit le fonctionnement en mode lecture ou écriture et produit les impulsions requises de lecture et d'écriture. Le multiplexeur d'entrée 11 est commandé à la fois-par le compteur d'adresse 13 et par les impulsions de lecture. La section de mémoire de- sortie 12, contient à nouveau les mémoires adressables qui sont commandées par les compteurs d'adresse 13 et les impulsions d'écriture, et finalement les circuits tampons de bus 15 sont des cir- cuits qui adaptent électriquement les-entrées et les sorties au bus d' E/S 6. - 2484668- Il est évident, pour les spécialistes, que l'invention ne se limite pas spécifiquement à l'exemple cité ci-dessus et que des modifications peuvent être apportées sans sortir du cadre de l'invention. R E V E N D I C A T I 0 NS 1.- Procédé pour transférer les données d'en- trée et de sortie d'un microprocesseur d'un autre appareil ou équipement commandé par ordinateur à un système micro- processeur comprenant une ou plusieurs unités centrales (4) avec des mémoires (5), caractérisé en ce que les données d'entrée et de sortie (E/S) sont séparées des unités centrales au moyen de mémoires d' E/S (3) et en ce que le transfert de données entre le bloc d'adaptation des données d'entrée et de sortie (2) et les mémoires d'E/S (3) est effectué par un copieur d'E/S. (1). 2.- Procédé selon la revendication 1, caracté- risé en ce que le copieur d'E/S (1) copie les données d'entrée provenant d'un multiplexeur d'entrée (11) dans la section de mémoire d'entrée (16) de chaque unité centrale (4) simultanément, et qu'il copie le bloc de sortie (17) de chaque unité centrale (4) à la fois dans les mémoires de sortie (12) et le bloc équivalent des autres unités centrales (4) et cela simultanément. 3.- Procédé selon l'une quelconque des reven- dications 1 ou 2, caractérisé en ce que le copieur d'E/S (1) effectue la transmission des données sans interruption pendant que le système est en fonctionne- ment. 4.- Procédé selon l'une quelconque des re- vendications 1 à 3, caractérisé en ce que la mise à jour des données d'entrée dans les mémoires d'E/S (3) et la mise à jour des données de sortie provenant des mémoires d'E/S (3) s'effectue entièrement sans surchar- ger les unités centrales (4). 5.- Procédé selon l'une quelconque des re- vendications 1 à 4, caractérisé en ce que le transfert de données entre le bloc adaptateur (2) des mémoires d' E/S (3) s'effectue en mode série, 1...n chiffres binaires en parallèle. 6.- Procédé selon l'une quelconque des re- vendications 1 à 5, caractérisé en ce que l'adressage des données en cas de copie est effectué pour les mé- moires d'E/S (3) et le bloc d'adaptation (2) avec des compteurs d'adresse séparés (13, 18) qui sont synchroni- sés par le copieur d' E/S (1). 7.- Procédé selon l'une quelconque des reven- dications 1-6, caractérisé en ce que le séquencement des interfaces est séparé du séquencement des unités centrales (4). 8.- Appareil pour la mise en oeuvre du procédé selon la revendication 1-, comprenant une ou plusieurs unités centrales (4) avec des mémoires (5) et un bloc adaptateur (2) des données d'entrée et de sortie, carac- térisé en ce que l'on a connecté au bus (6) après le bloc adaptateur (2), et ce pour chaque unité centrale (4), une mémoire d' E/S simple (3), qui est en outre reliée par un bus local (7) à l'unité centrale (4), et que le copieur d' E/S (1) transmettant les données d'en- trée et de sortie est connecté au même bus (6) avec le bloc adaptateur (2) et les mémoires d' E/S (3).