Brevet FR2399693A1 — publié le 19790302

La présente invention concerne les systèmes informatiques, et concerne plus particulièrement une structure de registres destinée à un système informatique du type "pipeline". Un système informatique du type pipeline est un système qui comporte deux étages de #traitement, ou davantage, accouplés en série pour former un "pipeline" dans lequel peut circuler un flot d'instructions. Chaque étage de traitement est conçu pour exécuter une phase particulière de chaque instruction 5 et les instructions successives sont exécutées en chevauchement dans le temps. Un tel système peut donc avoir une vitesse de traitement supérieure à celle des processeurs classiques à un seul étage. De façon générale, un processeur comporte un certain nombre de registres spécialisés, comme un accumulateur, un compteur ordinal, etc. Il est souhaitable que l'accès à ces registres puisse se faire au cours des diverses phases d'une instruction. Cependant, dans un processeur pipeline ceci fait apparaître un risque de blocage, dans la mesure où une instruction peut vouloir modifier le contenu d'un registre particulier, tandis qu'une instruction précédente, toujours en cours d'exécution, demande encore à lire le contenu original de ce registre. On peut résoudre ce problème en faisant en sorte que les instructions ne modifient aucun registre jusqu'à ce que toutes les instructions pré, cédentes aient terminé leurs accès au registre considéré. Ce procédé n'est cependant pas entièrement satisfaisant2 du fait qu'il conduit à des temps morts dans le pipeline, ce qui réduit la vitesse de traitement globaledu système. L'invention a pour but de réaliser une structure de registres destinée à un système informatique du type pipeline, qui supprime d'une manière originale le problème du blocage. Selon un aspect de l'invention, une structure de registres destinée à etre utilisée dans un# système informatique du type pipeline comprend une série de registres, comportant chacun un indicateur de marquage qui indique si le registre contient une information valide. Chaque registre possède également un organe de sortie qui est conçu de façon à sélectionner le contenu du registre considéré si l'indicateur de marquage associe indique que le registre contient une information valide. Dans le cas contraire, l'organe de sortie sélectionne le contenu du registre immédiatement suivant (s'il existe) de la série pour lequel llindiw cateur de marquage indique une information valide.Cette structure de registres comprend en outre un organe qui décale le contenu de chaque registre et de chaque indicateur de marquage vers le registre suivant et l'indicateur de marquage suivant de la série (s'ils existent). Selon un autre aspect de l'invention, un système informatique du type pipeline comprend : une série d'unités de traitement de données qui sont conçues respeetvement pour exécuter des phases successives d'une instruction2 au fur et à mesure que l'instruction progresse dans la série, et une structure de registres correspondant au premier aspect de llinvention. Les unités de traitement sont capables d'écrire dans les registres respectifs, et ont accès aux signaux de sortie des organes de sortie des registres respectifs. L'organe de décalage de la structure de registres décale le contenu des registres et des indicateurs de marquage en synchronisme avec la progression des instructions. On voit que l'invention fait disparaître une cause de blocages dans le pipeline, en établissant une copie distincte du contenu d'un registre donné pour chaque étage du pipeline, si bien que chaque instruction peut modifier sa propre copie sans attendre que les instructions précédentes aient termine tous leurs accès de lecture au registre considéré. Les copies du registre sont connectées ensemble, afin que le contenu du registre puisse progresser dans le pipeline en synchronisme avec la progression des instructions. On réalise un verrouillage mutuel à l'aide d'indicateurs de marquage, en faisant en sorte que lorsqu une instruction modifie cu met à jour un registre, la valeur mise à jour soit automatiquement disponible pour toutes les instructions suivantes du pipeline qui n'ont pas mis à jour elles-mêmes ce registre.Ainsi,chaque instruction dispose de la valeur la plus récente du contenu du registre, tenant compte de toutes les mises à jour par les instructions précédentes. Bien qu'une instruction puisse librement mettre à jour sa copie du registre sans attendre que les instructions précédentes aient terminé leurs accès de lecture, il est souhaitable qu' une instruction ne tente pas d'utiliser sa copie d'un registre si une instruction précédente désire mettre à jour le registre considéré. On résout ce problème en utilisant une série d'indicateurs d'avertissement associés aux registres respectifs, dont le contenu est décalé en synchronisme avec le contenu des registres et les indicateurs de marquage.Chaque indicateur d'avertissement peut engendrer un signal de sortie d'avertissement qui correspond à la fonction OU des états de tous les indicateurs d'avertissement suivants de la série On montrera-qu'on peut utiliser cette configuration pour avertir les instructions qu'une instruction précédente contenue dans le pipeline désire mettre à jour le registre. Du fait de sa configuration régulière, la structure de registres peut facilement etre adaptée pour l'utilisation dans un système informatique du type pipeline comportant ntimporte quel nombre d'étages, en aJOUtant ou en enlevant simplement des registres dans la série de registres. En outre, du fait de sa configuration répétitive et régulière, la structure de registres se prête particulièrement bien à une réalisation sous forme de circuits intégrés complexes. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre d'exemples de réalisation, et en se référant aux dessins annexés sur lesquels La figure 1 est un schéma synoptique d'un système informatique du type pipeline à quatre étages correspondant à l'invention ; La figure 2 est un schéma logique d'un circuit coordinateur du système La figure 3 est un diagramme séquentiel qui montre le chevauchement temporel des phases d'exécution des instructions; Les figures 4 à 9 montrent la configuration détaillée de la structure de registres du système ; et Les figures 10 et 11 montrent une modification possible du système, destinée à réduire les temps de propagation dans la structure de registres. On se reportera maintenant'à la figure 1 qui montre que le système informatique de l'invention comporte quatre étages associés selon une configuration pipeline. Chaque étage du pipeline comporte un processeur PU, et chaque processeur possède sa propre mémoire de commande CS qui conserve les microprogrammes qui commandent le fonctionnement du processeur considéré. Les processeurs sont associés à des unités tampons respectives BU. Chaque unité tampon contient une mémoire tampon qui conserve une instruction en langage machine en cours d'exécution par le processeur associé, et dlautres mémoires tampons quI conservent les opérandes, et d'autres informations de commande relatives à l'instruction. Chaque unité tampon comporte également un décodeur qui décode l'instruction pour donner les signaux de commande déclenchant les routines appropriée du microprogramme dans le processeur associé. Le premier processeur PUI a pour fonction de prélever dans une mémoire centrale 10 l'instruction en langage machine suivante du programme en cours, de placer cette instruction dans son unité tampon BU1, puis d'effectuer une analyse préliminaire de l'instruction, par exemple pour déterminer son type. Une mémoire esclave il, relativement petite mais rapide, fait fonction de tampon entre le processeur PU1 et la mémoire centrale 10. Cette mémoire esclave est conçue de façon à contenir les instructions qui seront probablement nécessaires dans un futur proche (grâce à une procédure prévisionnelle appropriée), afin de réduire le temps d'accès effectif pour la mise en place des instructions. De façon générale, chaque instruction en langage machine fait intervenir une opération déterminée entre deux opérandes, dont l'un peut provenir d'une pile à décalage vers le bas qui appartient à la mémoire centrale 10. Le second processeur PU2 établit l'adresse de l'opéran- de qui se trouve dans la pile, lorsque c'est le cas, et prélève ensuite cet opérande dans la mémoire centrale 10, par l'intermé diapre d'une mémoire esclave 12, puis place l'opérande dans son unité tampon BU2. Le troisième processeur PU3 a pour fonction de former l'adresse de l'autre opérande(c'est-à-dire celui qui ntest pas dans la pile), et de prélever cet opérande dans la mémoire centrale par l'intermédiaire d'une mémoire esclave 13, pour placer l'opérande dans son unité tampon BU3. Enfin, le quatrième processeur PU4 effectue l'opération spécifiée (par exemple une additIon, une soustraction, etc...) entre deux opérandes qu'il a préalablement prélevés dans son unité tampon BU4. Le processeur PU4 place le résultat dans une mémoire tampon d'écriture 14, à partir de laquelle il peut être réécrit dans la mémoire centrale 10. Chaque organe qui vient d'etre décrit (c'est-à-dire les processeurs, les mémoires esclaves, les unités tampons, et la mémoire tampon dlécriture; est connu en lui-même, et les structures détaillées de ces organes ne font pas partie de l'invention, et ne seront donc pas décrites davantage. La circulation des instructions et des opérandes dans le pipeline (de la gauche vers la droite sur les dessins) est commandée par un circuit coordinateur 15 (figure 2). Lorsqu'un processeur termine la fonction en cours, il émet un signal DEMANDE DE DECALAGE. Les signaux DEMANDE DE DECALAGE provenant des quatre processeurs sont confines dans une porte ET 16 dont le signal de sortie est appliqué à un différentiateur 17. Ce dif férentiateur fournit un signal DECALAGE chaque fois que la sortie de la porte ET passe de "O" à "1", Le signal DECALAGE indique donc que les quatre processeurs ont terminé les fonctions en cours. le signal DECALAGE est appliqué aux quatres unités BU1 BU4 pour que chaque instruction et les opérandes associés (éventuellement) soient décalés d'un pas vers la droite, dans l'étage suivant du pipeline. Les instructions et les opérandes qui sont décalés hors de la dernière unité tampn B4 sont perdus (leur utilisation est maintenant terminée), tandis que la première unité tampon BU1 se trouve vide et est prête à recevoir l'instruction en langage machine suivante que doit prélever le processeur PU1. Le signal de sortie du différentiateur 17 (figure 2) est également appliqué aux quatre processeurs sous la forme d'un signal DECALAGE TERMINE, pour indiquer que les signaux DEMANDE DE DECALAGE ont été traités. Chaque processeur fait alors disparature son signal DEMANDE DE DECALAGE, et recommence à exécuter sa fonction. En résumé, l'exécution de chaque instruction en langage machine est divisée en quatre phases qui sont exécutées séquentiellement par les quatre processeurs, pendant que l'instruction progresse dans le pipeline. Les instructions successives sont executées en chevauchement dans le temps, et il peut y avoir jusqu'à quatre instructions dans le pipeline à un instant quelconque. Ce chevauchement de 1 'exécution des instructions est représenté schématiquement sur le diagramme séquentiel de la figure 3, qui se comprend de lui-même. On retournera maintenant à la figure 1. Chaque instruction fait de façon générale intervenir un accès à un ou plusieurs registres spécialisés, au nombre de quatre :un accumulateur (ACC), un compteur ordinal (PC), un registre d'entrée de pile (SF), et un registre d'état de programme (PSR). Les registres spécialisés sont réalisés à l'aide de 16 cellules de registre de base 20, soit 4 pour chaque étage du pipeline. Les 4 cellules de chaque étage (c'est-à-dire une colonne verticale de cellules, sur la-représentation de la figure 1) contiennent des copies du contenu des 4 registres spécialisés, et sont accessibles par le processeur de L'étage considéré. Les 4 copies d'un registre donné (c'est-à-dire une ligne horizontale de cellules) sont reliées mutuellement de façon successive, pour permettre le décalage de l'information d'une cellule vers la suivante, dans le sens de gauche à droite sur les dessins. Ce décalage est commandé par les memes signaux DECALAGE qui sont utilisés pour décaler les instructions dans le pipeline. Ainsi, en progressant dans le pipeline, chaque instruction emmène avec elle des copies des 4 registres spécialisés. On décrira maintenant en détail l'une des cellules de registre de base 20, en se reportant à la figure 4. La cellule comprend un registre 21 d'une capacité de 32 bits. On peut écrire des données dans le registre à partir de deux sources, par l'intermédiaire d'un multiplexeur à deux voies 22. La première source est constituée par une voie de données d'écriture 23 provenant du processeur associé, et la seconde est constituée par une voie de décalage de données 24, et ces deux voies ont une capacité de 32 bits. Le registre 21 comporte également une voie de sortie de données 25, d'une capacité de 32 bits, qui est connectée à la voie de décalage de données 24 de la cellule correspondante de l'étage suivant du pipeline. La cellule comporte également un indicateur de marquage 26, à un seul bit. On peut écrire dans l'indicateur de marquage 26, par l'intermédiaire d'un multiplexeur 27, soit à partir d'une ligne de décalage d'indicateur 28, soit à partir d'une ligne qui est câblée de façon à recevoir en permanence un état binaire 1. L'indicateur de marquage comporte également une ligne de sortie 30 qui est connectée à la ligne de décalage d'indicateur 28 de la cellule correspondante de l'étage suivant du pipeline. Les deux multiplexeurs 22, 27 sont commandés par le signal DECALAGE. En l'absence du signal DECALAGE, les deux multiplexeurs sélectionnent leur entrée inférieure (dans la représentation faite sur les dessins). On peut écrire des données dans le registre 21 à partir du processeur associé, par la voie de données d'écriture 23. Du fait de l'entrée câblée en permanence à l'état "1", l'indicateur de marquage est automatiquement positionné lorsqu'on écrit dans le registre 21. Lorsqu1apparaît un signal DECALAGE, les deux multiplexeurs sélectionnent leur entrée supérieure. Dans ces conditions, le contenu de chaque registre 21 et de son indicateur de marquage peut être décalé vers la droite dans l'étage suivant du pipeline. La cellule comporte également une voie de données de lecture 31, d'une capacité de 32 bits, qui applique au processeur associé les données de sortie de la cellule Les données lues sont obtenues soit à partir de la toise de sortie 25 du registre 21, soit à partir d'une voie de mise à jour 33 qui a une capacité de 32 bits. La voie 33 est à son tour connectée à la sortie du multiplexeur 32 de la cellule correspondante de l'étage suivant. Le multiplexeur 32 est commandé par la sortie de l'indicateur de marquage, de façon à sélectionner son entrée supérieure ou son entrée inférieure, selon que l'indicateur est positionné ou non. Les données de sortie qui apparaissent sur la voie 31 sont donc les suivantes (a) Lorsque l'indicateur de marquage est positionné, les données de sortie correspondent au contenu du registre 21. (b) Lorsque l'indicateur de marquage n'est pas positionné, les données de sortie correspondent au contenu du premier registre suivant dont 1'indicateur de marquage est positionné, dans la même ligne horizontale de cellules. Dans ces conditions, chaque instruction en langage machine dispose automatiquement de la valeur la plus récente du contenu de chaque registre spécialisé, en tenant compte des mises à jour effectuées par les instructions précédentes. La figure 5 montre le circuit logique permettant de sélectionner les données de lecture correspondant à l'une des quatre cellules 20 d'un étage du pipeline. Ce circuit logique comprend un décodeur 40 qui reçoit un code de fonction à deux bits provenant du processeur, et qui produit l tun des trois signaux de fonctions : LECTURE, ECRITURE et PURGE. Le signal LECTURE permet à un multiplexeur à voies 41 de sélectionner l'une des voies de données de lecture 31 des 4 cellules. Les données provenant de la voie sélectionnée sont transmises au processeur par une voie de lecture d'étage 42 (d'une capacité de 32 bits). La sélection est commandée par les bits SELECTION DE REGISTRE provenant du processeur. La figure 6 montre le circuit logique de sélection de l'une des quatre cellules d'un étage du pipeline, en vue d'une opération d'écriture dans cette cellule. Le signal ECRITURE provenant du décodeur 40 valide un décodeur 43 qui décode alors les bits SELECTION DE REGISTRE, et engendre un signal sur l'une des quatre lignes de sortie. Ces lignes sont connectées par les portes OU 44 aux entrées VALIDATION D'ECRITURE des quatre cellules. On voit sur la figure 4 que l'entrée VALIDATION D'ECRITURE de chaque cellule valide à la fois le registre 21 et l'indicateur de marquage, et autorise ltécriture à l'impulsion d'horloge suivante. Le signal DECALAGE est également appliqué aux portes OU 44 (figure 6), de façon à engendrer les signaux VALIDATION D'ECRITURE pour les quatre cellules. Le dernier étage du pipeline doit faire fonction de piège pour le contenu mis à jour des registres, afin d'éviter la perte d'informations par écrasement avec des données non valides. La figure 7 montre comment la configuration de la figure 6 est modifiée dans -le dernier étage du pipeline pour conserver le contenu des registres. Des portes ET supplémentaires 45, commandées par les sorties des portes OU 46, sont introduites dans les entrées du signal VALIDATION D'éCRITURE Les portes OU 46 reçoivent l'inverse du signal DECALAGE, et l'indicateur de marquage de l'étage précédent. Dans ce-s conditions, lorsqu'un signal DECALAGE est présent, le signal VALIDATION D'ECRITURE est bloqué sauf si llindica- teur de marquage de l'étage précédent est positionné. De cette façon, lorsqu'un signal DECALAGE apparat, seules les information.# accompagnées d'un indicateur positionné sont écrites dans les registres du dernier étage. Il peut être quelquefois nécessaire d'abandonner llexé- cution d'une ou plusieurs instructions qui ont été partiellement exécutées dans le pipeline. C'est le cas par exemple lorsqu'apparait une interruption synchrone, ou lorsque la destination d'une instruction de saut a été prévue de façon erronée. Il est alors nécessaire de "purger" le pipeline en faisant effectivement disparaître toutes les mises à jour de registres qui ne sont pas justifiées.On peut aboutir à ce résultat en remettant à zéro tous les indicateurs jusqu'à un étage particulier du pipeline La fiC.!1- re 8 montre le circuit logique de commande de porte qui permet un processeur d'un étage du pipeline de remettre à zéro les indicateurs de tous les étages précédents. Chaque étage comporte un circuit logique similaire. Le signal PURGE provenant du décodeur 40 est appliqué sélectivement#surune entrée d'une porte OU 48 par l'intermédiaire d'une porte ET 47, sous la commande du signal d'horloge OR. La sortie de chaque porte OU 48 est connectée à l'autre entrée de la porte OU correspondante de l'étage précédent du pipeline.Ainsi, un signal PURGE produit par un processeur se propage à rebours (c'est-à-dire vers la gauche) vers tous les étages précédents du pipeline. A chaque étage, le signal PURGE provenant de l'étage suivant est appliqué sur l'entrée RAZ INDICATEUR des quatre cellules de registre de base. On soit sur la figure 4 que l'entrée RAZ INDICATEUR est connectée à llindica- teur 26, pour le remettre à zéro. Si une instruction quelconque à l'intention de mettre à jour l'un des registres spécialisés, elle doit déclarer son intention à la première opportunité, c'est-à-dire au niveau du premier étage du pipeline. On transmet alors un avertissement aux instructions suivantes, pour les empêcher d'utiliser ce registre jusqu'à ce que la mise à jour ait été effectivement réalisée. Ceci est réalisé grâce à un ensemble d'indicateurs d'avertissement, et l'un de ces indicateurs est associé à chaque cellule de registre 20. Un indicateur d'avertissement 50 est représenté sur la figure 9. Chaque indicateur d'avertissement comporte une ligne d'entrée 51 et une ligne de sortie 52 qui est connectée à la ligne d'entrée de l'indicateur d'avertissement correspondant de l'étage suivant du pipeline. Le signal DECALAGE est appliqué sur l'entrée de validation d'écriture de chaque indicateur d'avertissement. Ainsi, lorsqu'apparaît un signal DECALAGE, le contenu de chaque indicateur d'avertissement est décalé d'un pas vers l'avant (c'est-à-dire vers la droite). Ainsi, lorsqu'une instruction se propage dans le pipeline, elle est accompagnée par ces indicateurs d'avertissement. Les lignes d'entrée 51 des 4 indicateurs d'avertissement du premier étage du pipeline sont connectées directement au processeur associé PUI, de façon que ces indicateurs puissent être positionnés directement par le processeur. Comme il a été mentionné précédemment, lorsque le processeur PU1 prélève une nouvelle instruction, il effectue une analyse préliminaire. L'un des bUts de cette analyse est de déterminer si l'instruction va effectuer une mise à jour de l'un des registres spécialisés. Le processeur PU1 positionne alors les indicateurs d'avertissement correspondants du premier étage, en appliquant des signaux sur les lignes d'entrée 51, afin d'avertir les instructions suivantes. La sortie de chaque indicateur d'avertissement est également appliquée sur une porte OU 53 dont la sortie est connectée par une ligne 54 à l'autre entrée de la porte OU 53 correspondante de l'étage précédent du pipeline. Les signaux reçus à un étage quelconque à partir des portes OU 53 de l'étage suivant sont utilisés comme signaux AVERTISSEMENT. On voit qu'il y a quatre signaux AVERTISSEMENT pour chaque étage, c'est-à-dire un pour chaque registre, et chaque signal indique qu'une instruction précédente qui se trouve actuellement plus loin dans le pipeline (c'est-à-dire du côté droit) a l'intention de mettre à jour le registre spécialisé considéré. Avant de lire le contenu d'un registre quelconque, chaque processeur examine tout d'abord le signal AVERTISSEMENT pour déterminer s'il est libre d'utiliser le contenu de ce registre. Ceci s'effectue en validant un multiplexeur 55, qui est commandé par les bits SELECTION DE REGISTRE, afin de sélectionner le signal AVERTISSEMENT approprié. Le signal sélectionné est renvoyé vers le processeur par la ligne 56. Si le processeur constate qu'il n'a pas l'autorisation de lire le contenu du registre, il attend jusqu'à ce qu1il soit autorisé à faire cette lecture, c'est-àdire JUSqU 'à ce que l'instruction précédente ait mis à jour le registre considéré, et remis à zéro l'indicateur d'avertissement. On notera que le circuit coordinateur doit comporter dans ce but des moyens (non représentés) pour "geler" le contenu de tous les étages du pipeline, jusqu'à l'étage qui attend la permission de lire un registre, inclusivement,(c'est-à-dire des moyens qui empêchent l'application des signaux DECALAGE à ces étages), tout en permettant le décalage normal du contenu des étages suivants. Les indicateurs d'avertissement sont remis à zéro de la manière suivante. Lorsqu'un processeur met-à jour un registre, il valide également un décodeur 57 pour qu'il décode les bits SELECTION DE REGISTRE, ce qui fait apparaître un signal sur une sortie parmi quatre. Ces quatre sorties sont respectivement connectées aux entrées RAZ des quatre indicateurs d'avertissement de l'étage considéré, afin de remettre à zéro l'indicateur d'aver tissement du registre qui a été mis à jour. Les indicateurs d'avertissement sont également remis à zéro par l'opération de purge de la figure 8, de la même manière que les indicateurs de marquage. Comme il a été expliqué ci-dessus, lorsqu'un processeur met à jour l'un des registres spécialisés, la valeur mise à jour est renvoyée en arrière par les voies de mise à jour 33, afin d'être disponible pour tous les étages précédents. On voit clairement qu'une durée faible mais finie est nécessaire pour que la valeur mise à jour remonte vers l'entrée du pipeline. Cette durée de propagation est négligeable dans de nombreux systèmes, mais peut devenir appréciable lorsque le pipeline est très long (c'est-à-dire lorsqu'il comporte un grand nombre d'étages), ou lorsque le temps de cycle des processeurs est très court. On décrira maintenant une modification destinée à réduire le temps de propagation. On suppose dans ce cas que le pipeline comporte 16 étages, associés par groupes de quatre. La figure 10 montre une cellule de registre de base pour chaque étage d'un groupe de quatre étages. Ces quatre cellules sont désignées par CELL1-CELL4, les sorties des registres de ces cellules portent les références REGI-REG4, et les sorties des indicateurs de marquage portent les références Mî-M4. Toutes ces cellules sont similaires à la cellule qui est représentée sur la figure 4, à l'exception du fait que le multiplexeur 32 est remplacé par un circuit logique de sélection plus complexe.Chaque circuit logique de sélection engendre un signal de lecture de données, et ces signaux sont appliqués aux multiplexeurs respectifs similaires au multiplexeur 41 (figure 5), afin de fournir des signaux de lecture d'étage pour les processeurs associés. Les quatre signaux de lecture de données provenant des quatre cellules CELLl-CELL4 portent les références R1-R4. La figure 11 montre le circuit logique de sélection 60 de la cellule CELLI. Ce circuit combine les signaux REG1-REG4, Mi-M4 et un signal R (qui est en fait le signal de lecture de - données provenant de la première cellule du groupe suivant), pour former le signal de lecture de données Ri. On peut résumer de façon classique l'action de ce circuit par l'équation logique suivante R1 = REG1 . Ml + REG2 . M2 . Mi + REG3 . M3 - M2 . M1 + REG4 . M4 . M3. M2 . M1 + R . M4 . M3 . M2 . M1 . Les circuits logiques de sélection des autres cellules CELL2-CELL4 sont similaires à celui de la figure 11, et on peut commodément résumer leurs actions par les équations suivantes R2 = REG2 . M2 T REG3 . M3 . M2 + REG4 . M4. M3 . M2 + R . M4 . M3 . M2 R3 = REG3 . M3 . REG4 . M4 . M3 + R. M4 . M3 R4 = REG4 . M4 + R .M4 On voit ainsi que l'effet de ces circuits logiques de sélection est fondamentalement le même que dans la configuration décrite précédemment, dans la mesure où les données qui sont lues dans chaque cellule sont constituées par (a) Le contenu du registre de la cellule considérée si 11 indicateur de marquage est positionné, ou (b) Le contenu du premier registre suivant dont l'indicateur de marquage est positionné, si l'indicateur de marquage de la cellule considérée n'est pas positionné. Cependant, la longueur moyenne du chemin de propagation du contenu d'un registre mis à jour est considérablement réduite.Par exemple, le contenu d'un registre mis à jour dans le groupe de cellules suivant est appliqué directement de la première cellule de ce groupe suivant à la première cellule du groupe considéré (sous forme du signal R), au lieu de devoir se propager à travers chacune des cellules CELL4-CELL2. On peut également commander la propagation des instructions dans le pipeline à l'aide d'une procédure dite "d'établissement de communication" entre les processeurs, qui remplace le circuit coordinateur de la figure 2. Dans ce cas, chaque processeur contient une routine microprogrammée d'établissement de communication, et communique avec les processeurs adjacents par des signaux PRET et ACCEPTE. On décrira la routine microprogrammé d'établissement de communication pour le processeur N (avec N = 1, 2, 3 ou 4 dans l'exemple précédent3. Lorsque le processeur N termine le traitement d'une instruction, il envoie un signal PRET au processeur N + 1. Il attend alors que le processeur N + 1 accepte l1instruction dans sa propre unité tampon. Ceci est indiqué par la réception d'un signal ACCEPTE provenant du processeur N + 1. Le processeur N attend maintenant un signal PRET du processeur N - 1. Lorsqu'il reçoit ce signal, il émet un signal DECALAGE vers l'unité tampon associée, afin de charger dans cette unité tampon l'instruction qui provient de l'unité tampon précédente. Lorsque ceci est réalisé, le processeur N transmet un signal ACCEPTE au processeur N - 1. Le processeur N est maintenant prêt à traiter cette nouvelle instruction. On voit que dans cette version modifiée le signaux DECALAGE appliqués aux différents étages du pipeline ne sont pas tous produits simultanément. En fait, chaque signal DECALAGE apparaît pratiquement le plus tôt possible Ainsi, la propagation des instructions dans le pipeline est de façon générale plus rapide que dans la configuration décrite précédemment. Comme il a été mentionné précédemment, l'invention se prête particulièrement bien à une mise. en oeuvre sous forme de circuits intégrés complexes. Par exemple, un seul circuit intégré complexe peut comprendre une cellule de registre de base de quatre étages successifs du pipeline (c'est-à-dire une ligne horizontale de cellules sur la figure 1). Le même circuit intégré peut également comporter les indicateurs d'avertissement. Un tel circuit intégré contient environ 150 portes logiques, et peut être monté dans un boîtier classique à 24 broches. Bien entendu diverses modifications peuvent être apportées par l'homme de l'art aux dispositifs ou aux procédés décrits et représentés , sans sortir du cadre de l'invention. Par exemple, on peut utiliser un nombre d'étages différent pour le pipeline, et un nombre différent de registres spécialisés. REVENDICATIONS 1. Structure de registres destinée à être utilisée dans un système informatique du type pipeline, caractérisée en ce qu'elle comprend une série de registres, chaque registre compor- tant un indicateur de marquage qui indique si ce registre contient une information valide, et comportant également un organe de sortie qui sélectionne le contenu du registre si l'indicateur de marquage associé indique que le registre contient une information va#:u#e, mais se#ctiorine dans le cas coeitraiie le c#u ttu premier registre suivant dont 1 1 indicateur de marquage indique qu'il contient une information valide, à condition que ce registre suivant existe ; et un organe qui décale le contenu de chaque registre et de chaque indicateur de marquage vers le registre suivant et l'indicateur de marquage suivant de la série, à condition qu'ils existent. 2. Structure de registres selon la revendication 1, caractérisée en ce que chaque organe de sortie comprend un multi-- plexeur qui possède une première entrée connectée au registre associé, et une seconde entrée connectée à la sortie du multiplexeur correspondant associé au registre suivant de la série, Si ce registre suivant existe, chaque multiplexeur étant commandé par l'indicateur de marquage associé de façon à sélectionner la première entrée lorsque l'indicateur de marquage indique que le registre associé cntient une information valide, et de façon à sélectionner la seconde entrée dans le cas contraire. 3. Structure de registres selon l'une quelconque des revendications 1 ou 2, caractérisée en ce qu'elle comprend des portes logiques qui empêchent le décalage du contenu de l'arant dernier registre de la série vers le dernier registre de la serte à moins que l'indicateur de marquage associé à l'avant-dernier registre indique qu'il contient une information valide. 4. Struture de registres selon l'une quelconque des revendications 1 à 3, caractérisée en ce qu'elle comprend des moyens associés à chaque registre pour remettre à zéro les indicateurs de marquage associés à tous les registres précédents de la série, pour indiquer qu'ils contiennent une information non valide. 5. Structure de registres selon l'une quelconque des revendication i 3 4, caractorisée en ce tutelle comprend un indicateur d'avertissement associé à chaque registre pour indiquer que le contenu du registre associé doit être mis à jour, un organe pour décaler le contenu de chaque indicateur d'avertissement vers l'indicateur d'avertissement suivant de la séquence, s'il existe, en synchronisme avec le décalage du contenu des registres, et un organe qui fournit un signal d'avertissement à chaque registre, ce signal d'avertissement indiquant si 1' indicc- teur d'avertissement associé à l'un quelconque des regstres sui vants de la série est positionné