FR 2638259 A1 19900427 FR 8813904 A 19881025 _ z1 - 2638259 UNITE CENTRALE A PLUSIEURS PROCESSEURS ET PLUSIEURS MEMOIRES POUR SYSTEMES DE TRAITEMENT DE DONNEES L'invention se situe dans le domaine des systèmes de traitement de l'information et notamment des systèmes à haute performance utilisant plusieurs processeurs pouvant fonctionner simultanément pour exécuter un programme commun. L'invention concerne plus particulièrement une architecture d'unité centrale pouvunt servir d'unité vectorielle d'un calculateur vectoriel. Pour augmenter les performances des grands ordinateurs scientifiques, on a été amené à multiplier le nombre de processeurs de façon à ce que ceux- ci puissent travailler simultanément. Cette méthode appelée "parallélisation", permet théoriquement d'obtenir un temps de cycle global égal au temps de cycle d'un processeur élémentaire divisé par le nombre de processeurs du système. Toujours pour diminuer le temps de cycle, une autre approche consiste à utiliser plusieurs processeurs élémentaires organisés en "pipeline". En réalité, la performance d'un processeur vectoriel dépend aussi du taux de vectorisation que le compilateur peut obtenir pour l'application donnée. Ce problème concerne essentiellement les techniques de programmation et de compilation et par conséquent sortent du cadre de la présente invention. Dans la suite de l'exposé, nous ferons donc abstraction de cette question pour nous préoccuper essentiellement de l'architecture physique. La performance d'un système dépend également de la performance des mémoires avec lesquelles les processeurs doivent communiquer. La performance d'une mémoire ou d'un ensemble de mémoires est définie par son temps d'accès et son temps de cycle. Le temps d'accès est défini comme étant l'intervalle de temps qui sépare l'envoi d'une requête par l'un des processeurs et l'apparition d'un signal d'acquittement indiquant que la demande est prise en compte par la mémoire et ainsi qu'une nouvelle demande peut lui être adressée. Le temps de cycle définit l'intervalle de temps qui sépare le moment o une demande est reçue par la mémoire et l'instant o la réponse est disponible dans le registre de sortie de la mémoire. - 2- Selon l'évolution actuelle dans la conception des grands ordinateurs, il est nécessaire de disposer de mémoires ayant des capacités de plus en plus importantes. Cependant il faut aussi que les mémoires associées aux processeurs aient des performances compatibles avec celles des processeurs. On cherche donc à réaliser des mémoires présentant un temps d'accès et un temps de cycle le plus court possible. Dans ce but, une solution classique consiste à utiliser une mémoire constituée de plusieurs modules et à effectuer un adressage entrelacé de ces modules. Selon cette technique d'entrelacement, des demandes successives ou simultanées envoyées par les processeurs s'adressent successivement ou simultanément a des modules différents de la mémoire. Grace aux techniques du "pipeline" et de l'entrelacement, on arrive à réduire les temps de cycle des processeurs et des mémoires. Pour augmenter encore les performances du système en mode vectoriel, on cherche à paralléliser davantage son fonctionnement. Pour cela, on utilise une pluralité de processeurs de type "pipeline" et une pluralité de mémoires entrelacées. Cependant, la réalisation d'un tel système doit tenir compte du temps de cycle très faible des mémoires et des processeurs. En particulier, un problème important est celui de la réalisation des liaisons entre les processeurs et les mémoires. La solution du bus partagé par les processeurs et les mémoires interdit les échanges simultanés entre plusieurs processeurs et plusieurs mémoires. Le bus est donc inadapté au fonctionnement parallèle. La solution la plus couramment utilisée consiste à prévoir un réseau d'interconnexion du type "crossbar" ou dérivé qui permet ces liaisons simultanées. Cette solution est toutefois limitée par l'augmentation de la complexité du dispositif d'interconnexion lorsque les temps de cycle diminuent et lorsque le taux de parallélisation augmente. En effet, un réseau "crossbar" implique une centralisation des chemins qui a les effets défavorables suivants: augmentation de la connectique qui est d'autant plus importante lorsque les chemins sont larges; - allongement des connexions lorsque la taille des mémoires augmente, avec un effet défavorable sur les débits et les temps d'accès; - 3 - - intégration difficile car le pourcentage de connexion est élevé par rapport aux fonctions logiques associées; nécessité d'une gestion des commandes centralisée, ce qui entraine des difficultés dans la gestion des flots de données et des conflits; absence de modularité; - difficulté de mettre en oeuvre des redondances pour permettre des O10 reconfigurations. L'invention a pour but de remédier à ces inconvénients et plus particulièrement de réaliser un dispositif assurant les mêmes possibilités de liaison qu'un réseau "crossbar" et ayant le même débit crête. Pour atteindre ce but et selon l'invention dans son aspect le plus général, les échanges entre processeurs et mémoires se font d'abord en mode message. Ainsi, pour envoyer un ordre de lecture ou d'écriture, chaque processeur émet une demande contenant une adresse permettant d'identifier la mémoire concernée. D'autre part, la liaison entre les processeurs et les mémoires est réalisée au moyen d'un anneau de stations pouvant fonctionner en registre à décalage rebouclé dont chaque étage peut mémoriser une demande, cette demande étant accompagnée d'un indicateur de validité. En outre, la sortie de chaque station est reliée, directement ou non, à l'interface d'entrée d'une mémoire. Enfin, chaque station peut être accédée, sous le contrôle d'un dispositif de contrôle de la station, par des demandes issues d'un processeur associé. Ainsi, lorsque les demandes sont bien cadrées, c'est-à-dire lorsque chaque processeur s'adresse à sa mémoire associée, les accès des demandes sont parallèles et directs comme pour une interconnexion "crossbar". Par contre, pour les autres modes de fonctionnement, l'accès au registre à décalage des nouvelles demandes issues des processeurs est conditionné par la libération par les mémoires d'étages du registre. La solution proposée présente une gestion décentralisée et une implantation physique distribuée rendant la réalisation et la modularité plus aisées. De plus les possibilités de reconfiguration sont plus souples. -4 - Plus précisément l'invention a pour objet une unité centrale pour système de traitement de données comportant plusieurs processeurs reliés à plusieurs mémoires, lesdits processeurs fonctionnant en émetteurs de demandes alors que les mémoires fonctionnent en récepteurs desdites demandes, lesdites demandes comportant des informations de commande, d'adressage et éventuellement des données, des moyens d'interconnexion d'entrée étant prévus pour transmettre auxdites mémoires les demandes desdits processeurs, des moyens d'interconnexion de sortie étant prévus pour transmettre auxdits processeurs les réponses desdites mémoires auxdites demandes, lesdits moyens d'interconnexion d'entrée comportant plusieurs interfaces d'entrée parallèles, chaque interface d'entrée fournissant pour chaque demande reçue un signal d'acquittement des demandes représentatif de l'acceptation par ladite interface d'entrée de ladite demande reçue, ladite unité centrale étant caractérisée en ce que chaque demande est associée à un indicateur de demande dont la valeur logique est représentative de la validité de la demande associée, en ce que les moyens d'interconnexion d'entrée comportent des stations d'entrée associées chacunes à un processeur et à une interface d'entrée, en ce que chaque station comporte au moins un registre capable de mémoriser une demande et son indicateur de demande associé, une première entrée d'accès audit registre et une sortie reliée à la sortie dudit registre, en ce que lesdites stations sont montées en cascade, la sortie de la dernière station étant reliée à la première entrée de la première station de façon à former un anneau de stations d'entrée pouvant fonctionner en registre à décalage rebouclé, en ce que chaque station comporte une deuxième entrée reliée à la sortie du processeur associé en ce que chaque station comporte un dispositif de contrôle dont une entrée reçoit l'indicateur de demande contenu dans la station située en amont et dont une seconde entrée, appelée entrée d'acquittement, reçoit le signal d'acquittement issu de l'interface associée à ladite station amont, le dispositif de contrôle autorisant le transfert dans le registre de la station associée: - soit de la demande et de son indicateur contenus dans la station amont lorsque ladite demande est valide et n'est pas acceptée par l'interface associée à ladite station amont, - soit de la demande et de son indicateur qui sont disponibles en sortie du processeur associé à ladite station dans le cas contraire, -5- et en ce que ledit dispositif de contrôle comporte une sortie de notification délivrant un signal de notification pour indiquer au processeur associé laquelle de ces deux demandes est acceptée. Selon un cas particulier, chaque interface parallèle est simplement constituée par l'interface d'entrée d'une mémoire. Bien que cette dernière réalisation soit très simple, elle favorise l'appel des opérandes bien cadrés en mémoires. Un décadrage va donc se traduire par o10 une perte de débit. En effet, lorsque les demandes issues des processeurs sont bien cadrées, le premier processeur envoie une demande à la première mémoire, le second processeur envoie une demande à la seconde mémoire etc. Si par contre les demandes sont décadrées, le premier processeur pourra par exemple envoyer une demande à la troisième mémoire, le second processeur une demande à la quatrième mémoire etc. Il en résulte que, dans ce cas particulier, les processeurs ne pourront pas émettre pendant deux cycles d'horloge pour chaque demande acceptée. Aussi selon un autre aspect de l'invention, on augmente le nombre d'anneaux de stations de façon i augmenter le débit moyen dans le cas de demandes décadrées. Pour cela, l'unité centrale est en outre caractérisée en ce que ledit dispositif d'interconnexion d'entrée est formé de plusieurs anneaux de stations disposés en autant de niveaux, chaque anneau de stations étant identique audit anneau de stations d'entrée, ledit anneau de stations d'entrée constituant le premier niveau, lesdites interfaces d'entrée parallèles étant alors formées par l'anneau de stations du second niveau, en ce que pour chaque mémoire une interface d'entrée mémoire délivre un signal d'acquittement mémoire, en ce que chaque station du dernier niveau a sa sortie reliée à l'interface d'entrée d'un mémoire associée et reçoit sur son entrée d'acquittement le signal d'acquittement mémoire de l'interface d'entrée mémoire qui est reliée à la station dudit dernier niveau et qui est située en amont de ladite station, en ce que chaque station d'un autre niveau a sa sortie reliée à la seconde entrée d'une station appartenant au niveau directement supérieur et reçoit sur son entrée d'acquittement le signal de notification issu de la station située en amont de ladite station appartenant audit niveau directement supérieur. -6- D'après cette dernière solution, nous constatons que si les demandes sont décadrées de 2 comme dans l'exemple précédent, les demandes issues des processeurs seront toujours bloquées durant deux cycles d'horloge mais pour un nombre de demandes proportionnel au nombre d'anneaux de stations. Il en résulte que le débit global est amélioré. Deux cas particuliers de réalisation sont à remarquer. Le premier consiste à n'utiliser que deux anneaux de stations, ce qui présente l'avantage d'une simplification de réalisation. Un autre cas intéressant consiste à utiliser un nombre de stations égal au nombre de processeurs et de mémoires. Cette solution favorise la communication entre chaque processeur et sa mémoire associée. Ce qui précède résoud le problème des transmissions des demandes issues des processeurs aux mémoires. Lorsque les mémoires ont reçu les demandes, celles-ci doivent ensuite transmettre leur réponse. Ceci est le cas lorsque les processeurs envoient des ordres de lecture aux mémoires. Les données lues dans les mémoires doivent alors être transférées aux processeurs. Les mémoires jouent alors le rôle d'émetteurs de réponses de la même façon que les processeurs jouaient le rôle d'émetteurs de demandes. Par conséquent, un dispositif d'interconnexion identique à l'un de ceux décrits précédement pour les demandes pourra être utilisé pour la transmission des réponses. Par conséquent, l'invention concerne également une unité centrale caractérisée en ce que ledit dispositif d'interconnexion de sortie est identique à l'un des dispositifs d'interconnexion d'entrée tel que défini précédement, les rôles respectifs des processeurs et des mémoires étant inversés, les mémoires fonctionnant en émetteurs de réponses, les processeurs fonctionnant en récepteurs de réponses, lesdites réponses étant accompagnées d'un indicateur de validité des réponses. D'autres caractéristiques et détails de réalisation de l'invention seront exposés dans la suite de la description en relation avec les figures o: - la figure 1 représente de façon schématique une unité centrale servant de cadre à l'invention; -7- - la figure 2 montre un schéma général de réalisation de la présente invention; - la figure 3 représente un mode de réalisation d'une station pour la mise en oeuvre de l'invention; - la figure 4 représente un cas particulier de réalisation de l'invention utilisant deux anneaux de stations d'entrée; - la figure 5 représente en partie un mode de réalisation utilisant une pluralité d'anneaux de stations d'entrée; - la figure 6 montre un détail de réalisation de l'interface d'entrée d'une mémoire; - la figure 7 représente un schéma d'ensemble de l'unité centrale selon l'invention dans un cas particulier. La figure 1 représente le schéma général d'une unité centrale de type classique et pouvant servir de cadre à l'invention. L'unité centrale comporte une unité de traitement P constituée généralement de plusieurs processeurs fonctionnant en parallèle, chaque processeur pouvant être organisé en "pipeline". L'unité de traitement P communique avec un ensemble M de mémoires. L'ensemble M peut comprendre une pluralité de mémoires, appelées habituellement bancs logiques, ayant des accès indépendants, chaque banc logique pouvant être constitué par une pluralité de modules ou bancs physiques entrelacés. Selon le schéma habituel, les processeurs engendrent simultanément des demandes mémoire qui sont disponibles en parallèle dans les interfaces de sortie des processeurs ISP. Ces demandes sont transférées vers les interfaces d'entrée des mémoires IEM par l'intermédiaire d'un système d'interconnexion d'entrée XE, dont le rôle est aussi de gérer les conflits qui peuvent survenir. En fonction des demandes reçues, l'ensemble M de mémoires fournit dans des interfaces de sortie ISM les réponses correspondantes. Ces réponses sont -8- transmises, par l'intermédiaire d'un dispositif d'interconnexion de sortie XS, aux interfaces d'entrée IEP de l'unité de traitement P. Le dispositif d'interconnexion de sortie XS a un rôle tout à fait symétrique de celui d'entrée XE. Bien évidemment l'unité P communique avec l'extérieur au moyen d'unités d'entrée-sortie non représentées. La performance d'un tel système est maximale lorsque l'unité traitement P envoie aux mémoires des demandes bien cadrées c'est-à-dire lorsque chaque demande d'une interface de sortie est destinée à un banc logique privilégié. Toutefois ce système doit pouvoir fonctionner dans des cas quelconques. Il en résulte des risques de conflit, par exemple lorsque plusieurs processeurs s'adressent au même banc logique. Par conséquent, le dispositif d'interconnexion d'entrée doit être capable de présenter un chemin entre un processeur quelconque et un banc logique quelconque et de détecter les conditions de conflits pour pouvoir les gérer ou les prévenir. Il est clair que des problèmes identiques se posent au niveau de 1 'interconnexion de sortie XS. Dans les systèmes connus jusqu'à présent, la solution consiste à utiliser comme dispositif d'interconnexion un système de type "crossbar" réalisé au moyen d'une pluralité de multiplexeurs. Sa gestion est effectuée à l'aide d'une logique associée. Cette solution présente toutefois des limites qui sont liées au taux de parallélisation, à la fréquence d'émission des demandes et des réponses, ainsi qu'à la largeur des chemins de données. En particulier, le problème de gestion des conflits devient très difficile à résoudre lorsque le nombre de processeurs et de mémoires devient élevé. La description qui va suivre montrera comment l 'invention résoud ce problème. Sur la figure 2, n processeurs Pl,...Pi _,Pi,...Pn constituent l'unité de traitement P de la figure 1. L'ensemble M de mémoires est constitué par n bancs logiques M1,...Mi_1,Mi,...Mn. Pour simplifier la suite de l'exposé, les bancs logiques Mi seront plus simplement désignés sous l'appelation "mémoire". -9g Chaque processeur comporte une interface de sortie IS1,...ISi.l,ISi,... ISn. Ces interfaces ISi servent à la fois de tampons de sortie des demandes disponibles et de dispositifs de contrôle vis-à-vis des processeurs et du dispositif d'interconnexion d'entrée XE. Le dispositif d'interconnexion d'entrée XE comprend une interface d'entrée IE composée de plusieurs interfaces d'entrée parallèles IE1,... IEi_,IEi,...IEn. Chaque interface d'entrée IEi reçoit les demandes en provenance des processeurs. Lorsqu'une interface IEi accepte une demande présente à son entrée, elle émet un signal d'acquittement N2i pour signaler si cette demande est acceptée ou non par l'interface. Le dispositif d'interconnexion d'entrée XE comporte également un ensemble de stations d'entrée ST1,...ST i_1,STi,...STn. Chaque station STi contient au moins un registre i capable de mémoriser des demandes. Chaque station possède une première entrée 2 et une sortie 3 reliée à la sortie du registre 1. Ces stations sont montées en cascade, la sortie de la dernière station STn étant reliée à la première entrée de la première station ST1 de façon à permettre aux registres des stations de fonctionner, sous l'action d'un signal d'horloge non représenté, en registre à décalage rebouclé. Dans la suite, nous appellerons "anneau de stations" AS1 cet ensemble de stations STi. La sortie 3 de chaque station STi est d'autre part reliée à une interface d'entrée IEi associée. Chaque station STi comporte aussi une seconde entrée 4 reliée à l'interface de sortie ISi d'un processeur associé Pi. Chaque station STi est munie également d'un dispositif de contrôle, non représenté, permettant de mettre sélectivement en communication l'entrée du registre 1 avec la première entrée 2 ou la seconde entrée 4 de la station. Les interfaces de sortie ISi, les interfaces d'entrée IE1 sont commandées par le signal d'horloge déjà mentionné. D'autre part, chaque demande est accompagnée d'un indicateur de validité B qui peut être fourni par le processeur qui émet la demande. Le dispositif de contrôle de chaque station STi reçoit par une entrée d'acquittement 7 le signal d'acquittement N2i.1 délivré par l'interface aval IEi_1 ainsi que l'indicateur B contenu dans la station aval STi_1. Chaque station ST1 comporte enfin une sortie de notification 8 reliée à l'interface de sortie ISi du processeur associé. - 10 - Le dispositif de la figure 2 fonctionne de la façon suivante. En nous plaçant d'abord à l'état initial, les demandes contenues dans les registres sont supposées toutes non valides. En d'autres termes, l'indicateur B associé à chaque demande contenue dans l'anneau AS1 a une première valeur logique qui indique une demande associée non valide. Lorsque le système commence à fonctionner, chaque processeur Pi_, place dans son interface de sortie ISi_1 une demande valide. Le dispositif de contrôle de la station associée STi.j détecte alors que la demande contenue dans le registre amont n'est pas valide et autorise le transfert de la demande du processeur Pi-_ dans le registre 1 de la station. Au cycle d'horloge suivant, chaque registre contient une demande valide. La demande contenue dans la station STi.1 est présentée à l'interface d'entrée IEi_1. Si cette demande est bien destinée à l'interface, celle-ci délivre un signal d'acquittement N2i_1 ayant une première valeur logique signifiant l'acceptation de la demande par 1 'interface. Pendant ce temps, une demande ultérieure est présente dans l'interface de sortie du processeur Pi. La station associée STi détecte l'indicateur B de la demande contenue dans la station amont STi_1. L'indicateur signalant une demande valide, la station STi en est informée. Mais la station STi reçoit le signal d'acquittement N2i_1 de l'interface aval IEil_ indiquant que cette demande sera acceptée par l'interface. Le dispositif de contrôle de la station STi autorisera donc le transfert de la nouvelle demande du processeur Pi dans son registre associé. Le processus décrit précédemment se poursuivra aussi longtemps que chaque processeur Pi adresse des demandes à son interface associée IE1 et que cette interface accepte les demandes. Cette situation correspond au cas favorable o les demandes sont bien cadrées. Si par contre l'un des processeurs, Pi_1 par exemple, avait envoyé une demande non cadrée, le registre de la station STil contiendrait une demande qui n'est pas destinée à l'interface IEi,1. Le signal d'acquittement N21_1 prendra alors une autre valeur logique correspondant à cette situation. La station aval STi en tiendra compte et informe le processeur Pi de cette situation par un signal de notification Ni issu de - 11 - la sortie 8 et délivré par le dispositif de contrôle de la station STi. Le signal de notification Ni interdira donc au processeur Pi d'émettre une nouvelle demande au cycle suivant. La demande contenue dans le registre de la station STi.1 sera alors transférée dans le registre de la station STi. Bien entendu, si la demande contenue dans la station STt.1 n'est pas valide, le processeur Pi est autorisé à émettre une nouvelle demande qui sera enregistrée dans la station STi. Cette situation peut se produire en particulier dans le cas d'un fonctionnement en mode non vectoriel o certains processeurs effectuent des accès mémoire alors que d'autres ne travaillent pas et par conséquent émettent en permanence des demandes non valides. La figure 3 représente un exemple de réalisation des stations STi. Le registre 1 de la station STi comporte plusieurs bascules commandées par le signal d'horloge h. L'une des bascules est affectée à l'indicateur B. La sortie du registre i constitue la sortie 3 de la station. Le dispositif de contrôle 5 comporte un dispositif de sélection tel qu'un multiplexeur 9 et un dispositif de commande formé par les circuits logiques 10 et 11. L'entrée du registre 1 est reliée à la sortie du multiplexeur 9 dont une première entrée "0" est reliée à la première entrée 2 de la station et dont une seconde entrée "1" est reliée à la seconde entrée 4 de la station. Le multiplexeur 9 est commandé par un signal binaire de sélection S fourni par le dispositif de commande 10 et 11. Lorsque le signal S prend la valeur 1 logique, le multiplexeur 9 met en communication l'entrée 4 avec l'entrée du registre 1. Si S vaut 0, l'entrée 2 est mise en communication avec l'entrée du registre 1. Dans l'exemple représenté, nous avons également supposé que l'indicateur B est un élément binaire qui, lorsqu'il prend la valeur 1 logique, indique que la demande est valide. Lorsque l'indicateur prend la valeur 0 logique la demande associée n'est pas valide. Compte tenu de cette convention, le dispositif de commande est constitué d'un inverseur 11 dont l'entrée 6 reçoit l'indicateur B contenu dans la station aval. La sortie de l'inverseur 11 est reliée à une première entrée d'une porte OU 10 dont la seconde entrée est reliée à l'entrée d'acquittement 7 de la station. La porte OU 10 délivre alors le signal de sélection S décrit précédemment. Ce - 12 - signal S est également appliqué à la sortie de notification 8 de la station et constituera donc aussi le signal de notification Ni. Le mode de réalisation le plus simple du dispositif de la figure 2 consiste à utiliser directement comme interfaces d'entrée parallèles IEi les interfaces d'entrée des mémoires. Cette solution a l'avantage de la simplicité de réalisation mais présente l'inconvénient d'abaisser le débit dans le cas de demandes décadrées. En effet, avec un décadrage d (compris entre 1 et n-1), chaque processeur Pi ne s'adresse pas à sa mémoire O10 associée Mi mais à la mémoire Mi+d. Après l'envoi d'une première demande, les processeurs seront bloqués pendant d temps de cycle avant de pouvoir émettre leur demande suivante. Il en résulte une baisse de débit d'autant plus importante que le décadrage d est grand. Selon des variantes de réalisation de l'invention, ce problème peut être résolu en ajoutant des anneaux de stations supplémentaires. En nous référant maintenant à la figure 4, nous allons décrire dans un premier temps le cas particulier o on utilise seulement deux anneaux de stations. Nous retrouvons les processeurs Pi et les mémoires Mi. Le premier anneau de stations AS1 est identique à celui décrit à la figure 2 et l'interface d'entrée IE est maintenant réalisée au moyen d'un second anneau de stations AS2 identique au premier anneau AS1. Chaque station STi du premier anneau AS1 a sa sortie 3 reliée à la seconde entrée 4 d'une station homologue ST2i du second anneau AS2. L'entrée d'acquittement 7 de la station STi reçoit le signal N2il de la station ST21 _1 placée directement en amont de la station homologue ST2i. Ce signal N2i_1 est issu de la sortie de notification 8 de la station ST2i_1. La sortie 3 de chaque station ST2i du second anneau AS2 est reliée à l'interface d'entrée IEMi d'une mémoire associée Mi. L'entrée d'acquittement 7 de la station ST2i est reliée à la sortie d'acquittement ACKi_1 de la mémoire Mi-1 située en aval. Le signal de notification N2i délivré par une station ST2i du second anneau remplace le signal d'acquittement d'une interface parallèle IEi de la - 13 - figure 2. De plus, le signal d'acquittement ACKi.1 issu de l'interface IEMji1 d'une mémoire Mi-1 constitue le signal d'acquittement pour la station ST2i qui est placée directement en aval de cette mémoire et qui appartient au second anneau AS2. Le fonctionnement du dispositif de la figure 4 peut se déduire aisément de celui déjà décrit en référence à la figure 2. Il peut être résumé de la façon suivante: - chaque station accorde une priorité absolue à la station amont sur le même anneau; - si la station en amont est libre, ou si elle se libère (acceptation de la demande par la mémoire associée ou par lastation supérieure associée), un transfert d'une demande dans la station considérée est effectué depuis le premier anneau ou depuis un processeur; - si une demande présentée à une mémoire ne lui est pas destinée ou si une demande destinée à une mémoire lui est présentée alors que cette mémoire est occupée, cette demande reste sur l'anneau et sera représentée à la mémoire après un tour complet dans l'anneau; - l'indicateur B accompagne chaque demande et permet de déterminer si la station qui le contient est libre ou non. Il convient de remarquer que selon cette réalisation, la sortie des stations STi n'est pas simplement reliée à l'interface d'entrée d'une mémoire. L'anneau supplémentaire permet un comportement plus avantageux dans le cas de demandes décadrées. En effet, initialement ce système autorise pour chaque processeur l'émission de deux demandes successives décadrées. Ensuite les processeurs sont bloqués pendant d cycles de recadrage pendant lesquels toutes les demandes contenues dans les stations se décalent de d étages vers la droite. Puis, deux nouvelles demandes dêcadrées successives peuvent être émises par les processeurs. Il en résulte que le débit global est amélioré car chaque cycle de recadrage provoque le décalage de deux fois plus de demandes que dans le cas d'un seul anneau. - 14 - Bien entendu le débit est encore amélioré si l 'on augmente le nombre d'anneaux. La figure 5 montre partiellement une réalisation utilisant q anneaux: AS1,...ASjASj+i,...ASq. Ces anneaux sont disposés en q niveaux, l'anneau AS1 du premier niveau étant relié aux processeurs, tandis que l'anneau ASq du niveau q communique directement avec les mémoires. L'anneau AS1 du premier niveau est le même que précédemment. La disposition du dernier anneau ASq par rapport aux mémoires est identique à celle de 1 'anneau AS2 de la figure 4. Pour faciliter les explications de la figure 5, la notation suivante a été utilisée: chaque station STji est identtfiée par un double indice Ji o j est le niveau auquel appartient la station, i étant le rang de la station dans son anneau ASj. Chaque station STji d'un niveau intermédiaire j (j différent de q) est associée à une station ST(j+1)i de même rang i et de niveau supérieur j+1. Dans le niveau intermédiaire j, chaque station STji a sa sortie 3 reliée à l'entrée 4 de la station associée ST(j+1)i du niveau supérieur j+1. La station STji reçoit sur son entrée d'acquittement 7 le signal de notification N(j+l)(i_1) issu de la sortie de notification 8 de la station ST(j+1)(ii) du niveau supérieur j+1 et située en amont. Le fonctionnement de ce dispositif se déduit de la figure et des explications déjà données en référence aux figures 2 et 4. Il convient toutefois de remarquer que dans le cas de demandes décadrées, les processeurs seront bloqués pendant d cycles pour l'envoi de q demandes successives par processeur. Nous voyons donc que le débit crète de ce dispositif d'interconnexion augmente avec le nombre de niveaux. Cependant, on ne peut pas augmenter indéfiniment ce nombre, car chaque anneau supplémentaire entraine une augmentation du temps d'accès mémoire. Nous avons décrit jusqu'à présent des réalisations o le nombre n de processeurs est égal au nombre de mémoires. Cependant, le système pourrait être adapté à des cas o les nombres sont différents, à condition que le nombre de stations des anneaux soit égal ou supérieur au plus grand des deux nombres de processeurs et de mémoires. Toutefois, les cas o ces - 15 - nombres sont égaux permettent une utilisation optimale du dispositif d'interconnexion. Il convient d'attirer l'attention sur le cas particulier o le nombre q de niveau est égal au nombre n de processeurs et au nombre de mémoires. Cette solution présente la particularité de favoriser les demandes bien cadrées. On peut en effet facilement vérifier que toute demande issue d'un processeur Pi et acceptée par sa mémoire associée Mi provoque immédiatement l'autorisation d'émission du même processeur Pi. La figure 6 représente en détail les liaisons entre deux stations voisines STqi, STq(i+l) du dernier niveau q avec l'interface d'entrée IEMi de la mémoire Mi. Le registre 1 de la station STqi est constitué d'une première bascule B affectée à l'indicateur de validité, d'une ou de plusieurs bascules F correspondant au code fonction associé à la demande, de plusieurs bascules DT pour mémoriser une étiquette d'origine ou les données, de plusieurs bascules AD pour mémoriser l'adresse associée à la demande, les poids faibles PF de l'adresse AD servant à identifier la mémoire concernée par l'adresse. Les sorties de ces bascules constituent la sortie 3 de la station STqi. Ces bascules sont commandées par le signal d'horloge h. L'interface IEMi comporte un registre d'entrée 12 et un décodeur 13 reliées à la sortie 3. Le décodeur 13 reçoit les poids faibles PF de l'adresse et délivre un signal SEL prenant la valeur 1 logique lorsque les poids faibles PF reçus coïincident avec l'identité de la mémoire Mi. Le registre d'entrée 12 reçoit le reste de la demande contenue dans le registre 1. La bascule BM du registre 12 est affectée à l'indicateur B. La sortie de la bascule BM est appliquée à l'entrée d'un inverseur 15 dont la sortie est reliée à une première entrée d'une porte ET 14. La seconde entrée de la porte 14 reçoit le signal SEL issu du décodeur 13. La porte ET 14 délivre le signal d'acquittement ACKi de la mémoire Mi. Le signal ACKi est appliqué à l'entrée d'acquittement 7 de la station STq(i+l) placée en aval de la station STqi. Grice à ce circuit d'interface, le signal ACKi prend la valeur 1 logique lorsque le registre 12 est disponible (BM = O) alors que la demande est bien destinée à la mémoire Mi. (SEL=1). - 16 - Le registre 12 est d'un type classique, comportant des entrées et des sorties parallèles, une entrée d'horloge, une entrée de commande de chargement et une entrée de remise à zéro. Le registre 12 reçoit le signal d'horloge h sur son entrée d'horloge et le signal ACKi sur son entrée de commande de chargement. Son entrée de remise à zéro reçoit le signal RAZ d'un circuit de détection de mémoire libre 17. La sortie du registre 12 communique avec l'entrée de la mémoire. Le circuit d'interface fonctionne de la façon suivante. Lorsque la mémoire se libère, le circuit 17 force le signal RAZ à une valeur logique qui remet à zéro le registre 12. Si une demande contenue dans le registre 1 est destinée à la mémoire, la sortie SEL du décodeur 13 prend la valeur 1. Comme BM vaut O, la sortie de l'inverseur 15 prend la valeur 1. Il en résulte que ACKi vaut 1. Le registre 12 est donc autorisé à se charger à l'impulsion d'horloge suivante. Après chargement de la demande, tant que le signal RAZ n'est pas réapparu, BM conserve la valeur de l'indicateur B. Si B valait O, une nouvelle demande pourra être chargée au cycle suivant, sans attendre la remise à zéro. Si par contre B valait 1, une demande ultérieure ne pourra être prise en compte qu'après l'apparition du signal RAZ. Nous avons montré dans ce qui précède que l'interconnexion selon 1 'invention permet de résoudre le problème des demandes décadrées avec une baisse de performance qui peut être limitée en augmentant le nombre d'anneaux. Une autre cause de baisse de débit dans le dispositif d'interconnexion est liée aux problèmes de saturation des anneaux et des conflits mémoire. Pour remédier à ce problème et selon une caractéristique supplémentaire de l'invention, on prévoit dans l'interface d'entrée IEMi de chaque mémoire une mémoire tampon 16 du type "premier entré - premier sorti" (FIFO) qui permettra d'absorber les demandes dans la mémoire dans le cas o des demandes trop rapprochées s'adresseraient au même banc physique. La saturation des anneaux sera évitée. On pourra prévoir également un tampon de ce type en sortie des mémoires pour qu'une saturation au niveau des réponses ne provoque pas une saturation des anneaux d'entrée. Les tampons du type "FIFO" étant bien connus en soi, il est inutile d'en donner une - 17 - description détaillée. On peut toutefois noter que le circuit 17 engendre le signal RAZ en fonction d'un signal indiquant si le tampon 16 est saturé ou non. Etant donné que le dispositif d'interconnexion de sortie joue un rôle symétrique de celui d'entrée, les solutions décrites précédemment pourront être transposées au dispositif d'interconnexion de sortie. Les réponses des mémoires seront accompagnées d'un indicateur de validité des réponses Br. Ces réponses seront véhiculées par des anneaux de réponses composés des mêmes éléments que les anneaux de demandes décrits précédemment. Nous avons vu que les stations d'entrée d'un anneau de demande peuvent fonctionner en registre à décalage. Chaque anneau définit donc un sens de circulation des demandes et, par convention, ce sens correspond à l'ordre croissant des indices i des processeurs Pi et des mémoires Mi. Une fois cette convention établie, plusieurs dispositions sont possibles en ce qui concerne les anneaux de réponses. Selon une première possibilité, on utilise la même disposition que pour les anneaux de demande. Si l'on suppose, pour simplifier le raisonnement, que l'interconnexion d'entrée comporte le même nombre q de niveaux que l'interconnexion de sortie, on constate alors que pour les demandes bien cadrées, le nombre minimum d'étages traversés par les demandes ou par les réponses est égal à q. Or le temps de cycle pour un accès mémoire est égal à la somme du temps de cycle d'une mémoire et d'un temps de transmission d'une demande vers la mémoire et de la réponse vers le processeur qui a émis la demande. Avec des demandes bien cadrées et en l'absence de saturation, le temps de transmission est donc proportionnel à 2q. Dans le cas d'une demande décadrée de la valeur d comprise entre I et n-l, le nombre d'étages d'entrée à traverser est égal à q+d. Le nombre d'étage de sortie est égal à q+(n-d). On a donc au total n+2q étages à traverser. Avec cette solution, le temps de transmission, donc le temps cycle pour un accès mémoire décadré est indépendant du décadrage. Cette propriété peut - 18 - être avantageuse lorsqu'on souhaite que l'ordre d'arrivée des réponses soit le même que celui des demandes dans le cas d'un décadrage non nul. Par contre, les demandes cadrées sont favorisées en temps de cycle. Selon une variante, on ne choisit plus le chemin le plus court (q étages) pour relier la sortie d'une mémoire Mi à son processeur associé Pi mais pour la relier au processeur d'indice supérieur Pi+l. Dans ce cas, le nombre d'étages de sortie à traverser est égal à n-1-d. Le temps total de transmission est donc proportionnel à n-l, quel que soit le décadrage d compris entre O et n-1. On retrouve l'avantage de la première solution qui s'applique aussi aux demandes cadrées. Selon une autre solution, le sens de circulation des réponses est inversé, c'est-à-dire qu'il correspond à l'ordre des indices croissants pour les mémoires et à l'ordre des indices décroissants pour les processeurs. Dans ce cas, le nombre d'étages de sortie à traverser est égal à 2q pour les demandes cadrées, si l'on choisit le chemin le plus court pour relier la sortie d'une mémoire Mi à son processeur associé Pi. Par contre avec un décadrage d, le nombre d'étages de sortie à traverser est égal à d+q. Le temps total de transmission est donc proportionnel à 2d+2q. Cette dernière solution permet donc un temps de cycle inférieur par rapport aux solutions précédentes dans les cas, en pratique les plus fréquents, o le décadrage est faible (inférieur à n/2). Compte tenu de la similitude entre le dispositif d'interconnexion d'entrée et celui de sortie, il est inutile de décrire davantage ce dernier. La figure 7 montre un exemple de réalisation complet d'une unité centrale selon l'invention dans le cas o les dispositifs d'interconnexion d'entrée et de sortie comportent chacuns deux anneaux. Nous retrouvons sur cette figure les éléments déjà décrits précédemment, avec les mêmes références. Le sens de circulation des réponses est l'inverse de celui des demandes. Selon l'exemple décrit, les processeurs et les mémoires sont au nombre de huit. Si l'on considère par exemple le processeur P1, celui-ci transmet ses - 19 - demandes par l'intermédiaire de la station ST1 de l'anneau AS1. Si la station ST21 du second anneau est disponible, la demande contenue dans la station ST1 est transmise au cycle suivant à ST21. Dans le cas contraire, la demande est transmise à la station aval ST2 du premier anneau. Si une demande contenue dans la station ST21 est acceptée par la mémoire M1, celle-ci libère la station ST22. Lorsqu'une réponse est disponible dans l'interface de sortie de la mémoire M1, et si la station STR1 du premier anneau de réponses ASR! est disponible, cette demande est transférée dans cette station. Si la station STR21 du deuxième anneau de réponses ASR2 est disponible, cette demande est transférée au cycle suivant dans la station STR21 qui la présente à l'interface d'entrée du processeur P1. La figure 7 montre aussi une disposition des processeurs et des mémoires qui facilite la connectique. Cet exemple illustre aussi le caractère modulaire des réalisations permises par l'invention. - 20 - REVENDICATIONS 1. Unité centrale pour système de traitement de données comportant plusieurs processeurs (Pi) reliés à plusieurs mémoires (Mi), lesdits processeurs (Pi) fonctionnant en émetteurs de demandes alors que les mémoires (Mi) fonctionnent en récepteurs desdites demandes, lesdites demandes comportant des informations de commande (F), d'adressage (AD) et éventuellement des données (DT), des moyens d'interconnexion d'entrée (XE) étant prévus pour transmettre auxdites mémoires (Mi) les demandes desdits processeurs (P.i), des moyens d'interconnexion de sortie (XS) étant prévus pour transmettre auxdits processeurs (Pi) les réponses desdites mémoires (Mi) auxdites demandes, lesdits moyens d'interconnexion d'entrée (XE) comportant plusieurs interfaces d'entrée parallèles (IEi), chaque interface d'entrée (IEi) fournissant pour chaque demande reçue un signal d'acquittement des demandes (N2i) représentatif de l'acceptation par ladite interface d'entrée de ladite demande reçue, ladite unité centrale étant caractérisée en ce que chaque demande est associée à un indicateur de demande (B) dont la valeur logique est représentative de la validité de la demande associée, en ce que les moyens d'interconnexion d'entrée (XE) comportent des stations d'entrée (STi) associées chacunes à un processeur (Pi) et à une interface d'entrée (IEi), en ce que chaque station (STi) comporte au moins un registre (1) capable de mémoriser une demande et son indicateur de demande (B) associé, une première entrée (2) d'accès audit registre (1) et une sortie (3) reliée à la sortie dudit registre (1), en ce que lesdites stations (STi) sont montées en cascade, la sortie de la dernière station (STn) étant reliée à la première entrée de la première station (ST1) de façon à former un anneau de stations d'entrée (AS1) pouvant fonctionner en registre à décalage rebouclé, en ce que chaque station (STi) comporte une deuxième entrée (4) reliée à la sortie du processeur associé (Pi), en ce que chaque station (STi) comporte un dispositif de contrôle (5) dont une entrée (6) reçoit l'indicateur de demande (B) contenu dans la station (STi11) située en amont et dont une seconde entrée (7), appelée entrée d'acquittement, reçoit le signal d'acquittement (N2i_1) issu de l'interface (IEi.1) associée à ladite station. amont (STi_i), le dispositif de contrôle (5) autorisant le transfert dans le registre (1) de la station associée (STi): - 21 - - soit de la demande et de son indicateur contenus dans la station amont (STi-1) lorsque ladite demande est valide et n'est pas acceptée par l'interface (IE.1l) associée à ladite station amont (STii), - soit de la demande et de son indicateur qui sont disponibles en sortie du processeur (Pi) associé à ladite station (STi) dans le cas contraire, et en ce que ledit dispositif de contrôle (5) comporte une sortie de notification (8) délivrant un signal de notification (Ni) pour indiquer au processeur associé (Pi) laquelle de ces deux demandes est acceptée. 2. Unité centrale selon la revendication précédente caractérisée en ce que chaque interface parallèle (IEi) est constituée par l'interface d'entrée (IEMi) d'une mémoire (Mi). i5 3. Unité centrale selon la revendication 1 caractérisée an ce que lesdites interfaces parallèles (IEi) sont constituées par un second anneau (AS2), appelé anneau de station intermédiaire (ST2i), identique audit anneau de station d'entrée (AS1), chaque interface (IEi) étant alors constituée par la seconde entrée (4) d'une desdites stations intermédiaires (ST2i), le signal d'acquittement (N2i) étant constitué par le signal de notification de ladite station intermédiaire et en ce que lesdites stations intermédiaires (ST2i) ont leur sortie directement reliée à l'interface d'entrée (IEMi) d'une mémoire associée (Mi). 4. Unité centrale selon la revendication 1 caractérisée en ce que ledit dispositif d'interconnexion d'entrée (XE) est formé de plusieurs anneaux (AS1,...ASj,....ASq) de stations (STji) disposés en autant de niveaux, chaque anneau de station (ASj) étant identique audit anneau de station d'entrée (AS1), ledit anneau de stations d'entrée (AS1) constituant le premier niveau, ladite interface d'entrée parallèle étant alors formée par l'anneau de station (AS2) du second niveau, en ce que pour chaque mémoire (Mi) une interface d'entrée mémoire (IEMi) délivre un signal d'acquittement mémoire (ACKi), en ce que chaque station (STqi) du dernier niveau a sa sortie reliée à l'interface d'entrée (IEMi) d'une mémoire associée (Mi) et reçoit sur son entrée d'acquittement (7) le signal d'acquittement mémoire (ACKi.1) de l'interface d'entrée mémoire (IEMi_1) qui est reliée à la - 22 - station (STq(il)) dudit dernier niveau et qui est située en amont de ladite station (STqi), en ce que chaque station (STji) d'un autre niveau a sa sortie (3) reliée à la seconde entrée (4) d'une station (ST(j+1)i) appartenant au niveau directement supérieur et reçoit sur son entrée d'acquittement (7) le signal de notification (N(j+1)(i_,l)) issu de la station (ST(j+l)(i.1)) située en amont de ladite station appartenant audit niveau directement supérieur. Unité centrale selon la revendication (4) caractérisée en ce que les nombres de niveaux, de processeurs et de mémoires sont identiques. 6. Unité centrale selon l'une des revendications précédentes caractérisée en ce que lesdits registres (1) contenus dans lesdites stations (STi) sont synchronisés par une horloge (h) commune et en ce que chaque processeur (Pi) émet des demandes non valides à chaque cycle d'horloge lorsque ledit processeur (Pi) n'a aucune demande à émettre. 7. Unité centrale selon l'une des revendications précédentes caractérisée en ce que le dispositif de contrôle (5) d'une station (STi) comporte un dispositif de sélection (9) comprenant une sortie reliée à l'entrée du registre (1) de la station (STi) et deux entrées reliées audites première et seconde entrées (2,4) de la station (STi), en ce que ledit dispositif de contrôle (5) comprend un dispositif de commande (10,11) à deux entrées (6,7), la première entrée (6) recevant l'indicateur de demande (B) contenu dans la station aval (STi_1) et la seconde entrée constituant ladite entrée d'acquittement (7) de la station (STi), ledit dispositif de commande (10,11) délivrant un signal de sélection (5) pour commander ledit dispositif de sélection (9) de façon à mettre l'entrée dudit registre (1) en communication avec l'une ou l'autre des deux entrées (2,4) , ledit signal de sélection (5) étant également transmis à ladite sortie de notification (8) de la station (STi). 8. Unité centrale selon l'une des revendications précédentes caractérisée en ce que ledit dispositif d'interconnexion e sortie (XS) est identique au dispositif d'interconnexion d'entrée (XE) tel que défini selon l'une des revendications précédentes, les rôles respectifs des processeurs (Pi) et des mémoires (Mi) étant inversés, les mémoires (Mi) fonctionnant en - 23 - émetteurs de réponses, les processeurs (Pi) fonctionnant en récepteurs de réponses, lesdites réponses étant accompagnées d'un indicateur de validité des réponses (Br). 9. Unité centrale selon la revendication 8, caractérisée en ce que l'anneau de station d'entrée (AS1) définissant un sens de circulation des demandes par rapport aux processeurs et aux mémoires, ledit dispositif d'interconnexion de sortie (XS) étant constitué d'au moins un anneau de réponses (ASR1, ASR2), chaque anneau est disposé de façon à ce que le sens de circulation des réponses soit le même que le sens de circulation des demandes. 10. Unité centrale selon la revendication 8, caractérisée en ce que l'anneau de station d'entrée (AS1) définissant un sens de circulation des demandes par rapport aux processeurs et aux mémoires, ledit dispositif d'interconnexion de sortie (XS) étant constitué d'au moins un anneau de réponses (ASR1, ASR2), chaque anneau est disposé de façon a ce que le sens de circulation des réponses soit inversé par rapport au sens de circulation des demandes. 11. Unité centrale selon l'une des revendications précédentes caractérisée en ce que chaque mémoire (Mi) est constituée d'une pluralité de bancs mémoire entrelacés. 12. Unité centrale selon l'une des revendications précédentes caractérisée en ce que l'interface d'entrée (IE) de chaque mémoire (Mi) comporte une mémoire tampon de type "premier arrivé-premier sorti". 13. Unité centrale selon l'une des revendications précédentes caractérisée en ce que chaque processeur (Pi) est constitué par une pluralité de processeurs élémentaires pouvant fonctionner en mode "pipeline". 14. Unité centrale selon la revendication précédente caractérisée en ce que les demandes contiennent en parallèle un code de fonction servant à définir l'opération à effectuer dans l'une des mémoires (Mi), une information d'adresse, des données dans le cas d'une écriture et une étiquette d'origine dans le cas d'une lecture, ladite étiquette d'origine étant - 24 - représentative de l'identité du processeur élémentaire qui envoie la demande, et en ce que les réponses contiennent en parallèle une étiquette de destination correspondant à l'étiquette d'origine pour la demande considérée, des données dans le cas d'une lecture ou un compte-rendu d'erreurs.