Brevet FR2484669A1 — publié le 19811218

La présente invention concerne un procédé pour transférer des données entre des unités centrales ou des microprocesseurs dans un système de microprocesseur mul- tiple comprenant une ou plusieurs unités centrales avec - mémoires. Le plus souvent dans les systèmes de multiproces- seur, deux techniques différentes ont été employées pour les transferts de données entre microprocesseur: l'une est appelée la technique E/S et la seconde la technique DMA (Accès Direct Mémoire). Dans la technique tradition- nelle E/S (technique entrée/sortie), le microprocesseur lit les données envoyées par un autre microprocesseur, un mot ou multiplet à la fois, et les emmagasine.- dans sa mémoire, lit respectivement un mot ou multiplet à la fois à partir de sa mémoire et les écrit pour l'autre mi- croprocesseur par l'intermédiaire d'un bus de transfert de données entre eux. De plus, si le transfert de données est rapide, le microprocesseur d'écriture doit s'assurer que le microprocesseur de lecture a eu le temps de lire la donnée précédente avant que-la suivante soit écrite. Cette manière d'opérer le transfert de données est relati- vement lente parce que les microprocesseurs ont à accom- plir plusieurs opérations différentes pour transférer un mot ou multiplet à l'autre. De plus, l'utilisation de la technique E/S ralentit l'exécution de l'autre programme des microprocesseurs parce que pendant la durée desdites opérations, l'exécution de l'autre programme a été suspen- due, ce qui nécessite des emmagasinages et des retours supplémentaires de l'état du microprocesseur. La technique E/S est utilisable seulement dans le cas de transferts de données qui sont soit lents, soit en quantité limitée. L'autre technique pour opérer le transfert de don- nées entre des microprocesseurs, est la DMA, dans laquelle les données sont transférées à partir d'une mémoire de microprocesseur à une autre sans aucune véritable partici- pation du microprocesseur lui-même dans l'opération de transfert proprement dite. Cela est le plus souvent mis -en oeuvre parce que les microprocesseurs participant à l'opération de transfert sont arrêtés pendant la durée du transfert. De cette manière on évite les opérations supplémentaires d'emmagasinage et de rappel qui se pro- duisent dans la technique E/S et de plus le transfert peut être rapide parce qu'il peut être réalisé par un circuit logique monté exactement à cet effet. En d'au- tres termes, le circuit logique ne lit pas et n'enregis- tre pas; au contraire il emmagasine directement les don- nées qui arrivent dans la mémoire. Ce mode de réalisation exige cependant un circuit logique particulièrement com- plexe et dans ces conditions, cette technique est chère. De plus si le besoin'de transfert de données est élevé, le circuit logique commence à ralentir l'opération du microprocesseur parce que les temps d'interruption aug- mentent en longueur oui parce qu'ils sont répétés à une plus haute fréquence. La même chose se- produit quand il y a plusieurs microprocesseurs écrivant ou lisant à par- tir de-la même mémoire parce que le transfert est généra- lement possible seulement entre deux microprocesseurs en même temps. Par la technique DMA ont été réalisées des constructions dans lesquelles le transfert de données entre microprocesseurs a lieu au moyen d'une mémoire commune. Le système dans ce cas comprend une mémoire qui peut être écrite par tous les microprocesseurs et qui peut être lue par eux, mais cette mémoire- ne peut être utilisée que par un microprocesseur à- la -fois, ce qui a pour conséquence que tout microprocesseur - ou dans la technique DMA au moins - doit attendre la fin du trans- fert de données par l'autre circuit ou les autres cir- cuits logiques, ou par le microprocesseur ou les micro- processeurs. Il est possible de cette manière de réduire une partie des interruptions causées par la DMA dans l'interfaçage de plus de deux microprocesseurs mais il est encore possible que l'attente pour le- transfert lui- même devienne nécessaire. D'autres inconvénients de la technique DMA sont l'étroitesse du bus et les signaux rapides de transfert de données, qui introduisent une faible tolérance d'interférence. La technique DMA est utilisable quand l'exigence du transfert de données est élevée et quand il n'y a pas de nombreuses pièces de l'appareillage nécessitant le transfert simultané de données. L'objet du procédé et de l'appareil de la présente invention est d'éliminer les inconvénients mentionnés et de fournir un système valable et économique de transfert de données dans un système de multiprocesseurs. Le procédé de l'invention est caractérisé en ce que les données à transférer entre les unités centrales sont séparées du bus interne de celles-ci par des mémoi- res communes et en ce que le transfert de dônn6es entre les mémoires communes est réalisé par des moyens séparés de copies. L'avantage obtenu est que les données sont transférées entre les mémoires des unités centrales sans imposer aucune charge sur lesdites unités centrales. Une caractéristique avantageuse de l'invention consiste en ce que les moyens de copie copient le bloc d'écriture de chaque unité centrale en même temps que toutes les autres, dans le bloc équivalent. L'avantage est alors que la synchronisation des procédés de trans- fert de données réalisée par les unités centrales con- nectées à ces mémoires communes est facilitée parce que les moyens de copie mettent à jour simultanément les données dans toutes les mémoires communes. Une autre caractéristique avantageuse de l'inven- tion consiste en ce que les moyens de copie réalisent la transmission des données sans interruption pendant que le système est en fonction. - Une troisième caractéristique avantageuse de l'in- vention consiste en ce que la mise à jour des données entre les mémoires communes est réalisée sans aucune char- ge pour les unités centrales. L'avantage est alors qu'une unité centrale peut avoir plusieurs bus de mémoire commune et qu'elle n'est pas chargée par eux. Une autre caractéristique avantageuse de l'invention consiste en ce que le transfert des données entre les mé- moires communes est réalisé dans un mode-série 1... n chiffres binaires en parallèle.- Une autre caractéristique avantageuse de l'invention consiste en ce que l'adressage des données dans l'opération de copie est réalisé entre les mémoires communes au moyen de compteurs spéciaux d'adresse qui sont synchroni- sés par les moyens de copie. L'avantage commun à ces deux caractéristiques est que le bus de mémoire commune peut être conservé étroit puisqu'aucune donnée d'adresse n'a besoin d'y être transférée. De plus la faible largeur du bus et la lenteur admissible de celui-ci impliquent que les coûts de fabrication de ce bus peuvent être réduits et que les unités centrales qui seront connectées avec lui peuvent être isolées galvaniquement d'une manière assez facile, cette circonstance réduisant aussi le coût de fabrication. L'invention concerne aussi un appareil pour la mise en. oeuvre du procédé mentionné. L'appareil comprend une ou plusieurs unités centrales avec mémoires. L'appa- reil est caractérisé en ce qu'au bus de mémoire commune est connecté un moyen.de copie et pour chaque unité cen- trale une mémoire commune qui a été connectée avec un bus local à la précédente unité centrale. L'avantage est que le bus de mémoire commune n'impose aucune charge sur les unités centrales qui lui sont connectées. Un avanta- ge supplémentaire est que les unités centrales peuvent réaliser les opérations normales d'écriture et de lec- ture au moyen des mémoires communes. Il y a en outre l'avantage du prix bas de l'appareil. L'invention sera décrite ci-après en détail au moyen d'un exemple avec référence auxdessins annexés dans lesquels: la figure 1 représente le principe de l'invention dans un schéma d'ensemble, la figure 2, la construction de la mémoire commune avec ses circuits auxiliaires, comme schéma d'ensemble, la figure 3, l'opération de copie par la mémoire. Dans un but de clarté, la description de l'inven- tion a été limitée à l'exposé concernant le transfert de données entre les unités centrales. Toutefois tout ce qui est décrit est applicable aussi au transfert de données entre les microprocesseurs internes des unités centrales sans changement substantiel. Par exemple, quand on parle "d'unité centrale" on peut remplacer cette expression par "microprocesseur" aussi bien, dans le procédé de l'invention. Dans le procédé de l'invention, on utilise un microprocesseur très simple qui sera désigné par le terme "moyen de copie" 1 dans la suite de la description et qui transfère les données entre les mémoires communes 2. Le transfert de données est réalisé par un bus de mémoire commune 5. La connection à partir du bus de mémoire commune 5 aux unités centrales 3 est établie par l'intermédiaire de la mémoire commune 2 de chaque unité centrale et un bus local 6. Le bus de mémoire commune 5 est commandé avec une fréquence assez lente et en syn- chronisme avec les unités centrales 3 de manière que l'utilisation de la mémoire commune 2 de l'unité centrale 3 n'ait pasd'influence sur le fonctionnement du bus 5 de la mémoire commune. Une autre manière légèrement plus coûteuse d'effectuer l'opération de la mémoire commune 2 de l'unité centrale 3, afin qu'il n'y ait pas d'effet sur le fonctionnement du bus de mémoire commune 5 est d'intercaler le fonctionnement du bus de mémoire commune par rapport au temps du bus interne des unités centrales 3 afin que le bus de mémoire commune 5 utilise les mémoi- res communes 2 durant les intervalles de temps o les unités centrales 3 ne peuvent pas être en action vers les mémoires communes 2. Les mémoires communes 2 ont de plus été subdivisées en un certain nombre de sections (A,B,C... N). Le moyen de copie 1 copie la mémoire d'écriture de chaque unité centrale 3 représentée par un cadre hachuré à la figure 3, sur toutes les autres du bloc correspon- dant, simultanément. Le moyen de copie 1 du bus de mémoire commune 5 est un générateur d'horloge qui a été synchronisé avec les unités centrales 3 pour être connectéêau bus de mé- moire commune 5 de telle manière qu'il-y ait des inter- valles de temps durant'lesquels aucun changement ne se produit dans le bus d'adresse 18 de toute unité centrale 3 et durant lesquels les changements d'adresse du bus de mémoire commune 5 - peuvent être effectués. L'unité centrale communique avec la mémoire commune par le bus d'adresse 18. Le moyen de copie 1 transmet au bus de mémoire commune 5 les sortes de signaux sui- vants, au moins: une impulsion d'horloge 7 par laquelle les compteurs d'adresse 10 de toutes les mémoires commu- nes 2 sont déclenchés et une impulsion de synchronisation 8 au moyen de laquelle tous les compteurs d'adresse 10 sont vérifiés au moins une fois dans qhaque opération de copie. Le principe de l'opération d'utilisation de la mémoire commune est que chaque copie sur le bus de mémoi- re commune 5 s'effectue suffisamment lentement pour per- mettre à l'unité centrale 3, au milieu d'une opération de copie, de lire celle-ci ou d'écrire à la mémoire commune 2 sans interférence avec l'opération du bus de mémoire commune 5 - c'est-à-dire que l'unité centrale 3 soustrait un intervalle de temps de la mémoire commune 2, ou bien l'opération est intercalée comme décrit précédemment. La tâche du compteur d'adresse 10 est dbpérer à ce stade avec l'impulsion d'horloge 7 à partir du moyen de copie 1 et de compter l'adresse à la mémoire 12 de type RAM. La synchronisation est effectuée au moyen - d'un signal de synchronisation 8. L'unité ll peut être appelée l'unité de sélection de lecture ou d'écriture. C'est une unité logique réalisant la sélection entre-les blocs de lecture et d'écriture décrits et leur chronomé- trage. L'unité de conservation des données de sortie: prend soin que les données sur le bus 5 demeurent inchan- gées au cas o l'unité centrale 3 désire utiliser la mémoire RAM 12, tandis que l'écriture par le bus 5 s'exé- cute. On peut concevoir aussi d'ajouter au circuit l, une unité de maintien 15-des données entrantes. L'unité RAM a des ports vers le bus 6 de l'unité centrale 3 aussi biea que vers le bus de-mémoire commune 5. Les tampons de - bus 14 sont des circuits qui adaptent la mémoire RAM 12 et le bus de mémoire commune 5, afin qu'ils soient élec- triquement compatibles. Il est évident pour un spécialiste que l'invention n'est pas limitée à l'exemple décrit 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 N S 1 - Procédé pour transférer des données entre des unités centrales ou microprocesseurs dans un sys- tème multiprocesseur; ledit système comprenant une ou plusieurs unités centrales 3 avec mémoires4, caractérisé en ce que les données à transférer entre les unités cen- trales 3 ou microprocesseurs sont séparées de leur bus interne 6 au moyen de mémoLrescommunes2 et en ce que le transfert de données entre les mémoires communes 2 est effectué- par un moyen séparé de copie 1. 2 - Procédé selon la revendication l,caractérisé en ce que le moyen de copie 1 copie le bloc d'écriture de chaque unité centrale 3 ou microprocesseur pour tou- tes les autres du même bloc simultanément. 3 - Procédé selonl'une quelconque des revendica- tions 1 et 2, caractérisé en ce que le moyen de copie 1 réalise la transmission de données sans interruption pendant que le système est en fonction. 4 - Procédé selon l'une quelconque des revendica- tions 1 à 3,caraotérisé en ce que la mise à jour des don- nées entre les mémoires communes 2 est réalisée entière- ment sans charger les unités centrales 3 ou les micro- processeurs. 5 - Proc.édé selon l'une quelconque des revendica- tions 1 à 4, caractérisé en ce que le transfert de don- nées entre les mémoires communes 2 est réalisé dans un mode-série 1..-. n chiffres binaires en parallèle. 6 - Procédé selon l'une quelconque des revendica- tions 1 à 5, caractérisé en ce que l'adressage des données de l'opération de copie est réalisé entre les mémoires communes au moyen de compteurs d'adresse séparés 10 qui sont synchronisés avec le moyen de copie 1. 7 - Appareil pour la mise en oeuvre du procédé se- lon la revendication 1 comprenant une ou plusieurs unités centrales 3 avec mémoires 4, caractérisé en ce qu'à un bus de mémoire commune 5 a été connecté un moyen de copie 1 et pour chaque unité centrale 3 ou microprocesseur, une mémoire commune 2 qui par un bus local 6, est connectée de plus à l'unité centrale 3 ou microprocesseur.