Brevet FR2489021A1 — publié le 19820226

1. La présente invention concerne un agencement d'an- témémoires destiné à être utilisé entre un processeur cen- tral et une mémoire principale et comprenant un ensemble d'antémémoires et son circuit de commande. En général, on fait appel à une commande par pipe- line pour commander un système de traitement de l'informa- tion comprenant un agencement d'antémémoires du type décrit. Dans un tel système de traitement, il est préférable d'augmenter le taux de mouvement d'un ensemble d'antémémoi- res et d'éviter toute turbulence ou gêne de la commande par pipeline. Dans ce but, un système de commande de mémoire dé- crit dans le brevet des Etats-Unis d'Amérique n0 3.618.041 comprend, comme ensemble d'antémémoires, une antémémoire d'instructions pour mémoriser les seules instructions et une antémémoire d'opérandes pour mémoriser les seuls opérandes. Dans cette structure, les demandes de lecture d'instructions et les demandes de lecture d'opérandes sont données indivi- duellement ou indépendamment aux antémémoires d'instructions et d'opérandes-, accompagnant les instructions et les opéran- des, respectivement. Par conséquent, aucun conflit ne se pro- duit ent__lles demandes de lecture d'instructions et les de- mandes de lecture d'opérandes, même lorsque les deux types de demandes sont fournis conjointement par un processus central a 2. 2489021 à l'ensemble d'antémémoires. Comme cela sera décrit ultérieurement en liaison avec les quelques figures des dessins, un ensemble d'antémémoires est parfois alimenté simultanément en demandes de lecture et en demandes de stockage alors que se poursuit la commande par pipeline. En d'autres termes, les demandes de lecture sont souvent en conflit avec les demandes de stockage dans l'ensemble d'antémémoires. Avec le système de commande de mé- moire décrit dans le brevet cité ci-dessus, un tel conflit est inévitable. Par conséquent, la commande par pipeline est perturbée lorsqu'il y a conflit entre les demandes de lectu- re et les demandes de stockage. Dans le Bulletin Technique de la société dite IBM, Volume 23, nu 1, pages 262-263 du ler juin 1980, une proposi- tion est faite par F.T. Blount et al qui consiste à différer une opération de stockage par l'utilisation d'un seul regis- tre afin de transférer les données stockées de la mémoire tampon unique à l'antémémoire pendant un temps d'attente de celle-ci lorsqu'un conflit se produit entre les demandes de lecture et les demandes de stockage. Cette proposition est généralement efficace, mais devient inefficace lorsque les demandes de stockage arrivent consécutivement d'un proces- seur central. De plus, il se peut que les données mémorisées -dans le registre unique ne soient pas transférées rapidement à l'antémémoire car un temps d'attente apparaît rarement dans une telle antémémoire unique. Un objet de la présente invention est un agencement d'antémémoires qui soit capable de réduire la probabilité d'apparition d'un conflit entre demandes de lecture d'ins- tructions et demandes de lecture d'opérandes, et entre deman- des de stockage et demandes de lecture, ce qui permet d'évi- ter toute gêne dans la commande par pipeline. Un autre objet de la présente invention est un agen- cement d'antémémoires du type décrit, o la commandé par pi- peline n'est pas perturbée, même lorsque les demandes de stockage sont-reçues consécutivement. Un autre objet de la présente invention est un agen- i 3. 2489021 cement d'antémémoires du type décrit, o les données de sto- ckage devant être mémorisées dans l'ensemble d'antémémoires sont transférées relativement rapidement à cet ensemble d'an- témémoires pendant un temps d'arrêt de celui-ci. Un agencement d'antémémoires selon la présente in- vention répond à une suite d'opérandes et à une suite d'ins- tructions mémorisés dans une mémoire principale de façon qu'un processeur central traite les opérandes en conformi- té avec les instructions à la façon d'un pipeline pour pro- duire les demandes de stockage et les demandes de lecture d'opérandes et d'instructions. Les demandes de stockage sont accompagnées des données de stockage et des données d'adres- ses de mémoire. Les demandes de lecture d'opérandes et les demandes de lecture d'instructions sont accompagnées par des données d'adresses de lecture d'opérandes et d'instruc- tions, respectivement.L'agencement comprend une première an- témémoire couplée au processeur central et chargée prélimi- nairement avec une partie prédéterminée des opérandes, un circuit de commande de la première antémémoire répondant aux demandes de lecture d'opérandes et aux données d'adresses de lecture d'opérandes les accompagnant pour la commande de la première antémémoire, une seconde antémémoire couplée au processeur central et chargée préliminairement avec une par- tie présélectionnée des instructions, un circuit de comman- de de la seconde antémémoire répondant aux demandes de lec- ture d'instructions'et aux données d'adresses de lecture d'instructions les accompagnant pour la commande de la secon- de antémémoire. Selon la présente invention, un agencement d'antémémoires comprend en outre un moyen d'antémémoire tampon couplé au processeur central et répondant aux deman- des de Étockage pour mémoriser individuellement les données de stockage et les données d'adresses de mémoire concomi- tantes, afinde produire les données de stockage et les don- nées d'adresses de mémoire mémorisées en paires, comme don- nées de sortie de mémoire tampon et données d'adresses de sortie de mémoire tampon, respectivement, en même temps qu'une demande de mémoire tampon, un premier moyen pour 4. 2489021 fournir la demande de mémoire tampon et les données d'adres- ses de sortie de mémoire tampon à la mémoire principale et aux circuits de commande des première et seconde antémémoi- res, et un second moyen pour fournir les données de sortie de mémoire tampon à la mémoire principale et aux première et seconde antémémoires. Le circuit de commande de la premiè- re antémémoire comprend un premier moyen de sélection cou- plé au premier moyen et répondant aux demandes de lecture d'opérandes et à la demande de mémoire tampon pour sélection- ner la demande de mémoire tampon et les demandes de lecture d'opérandes lorsque ces demandes de lecture d'opérandes sont absentes, et sinon, respectivement, la demande de mémoire tampon sélectionnée est accompagnée des données d'adresses de sortie de mémoire tampon et le premier moyen de production couplé au premier moyen de sélection et à la première antémé- moire et aux mémoires principales, répondant aux données d'adresses de lecture d'opérandes et aux données d'adresses de sortie de mémoire tampon pour produire les données d'adres- ses de sortie de mémoire tampon et les données d'adresses de lecture d'opérandes lorsque la demande de mémoire tampon est sélectionnée et n'est pas sélectionnée par le premier moyen de sélection, respectivement. La première antémémoire mémori- se les données de sortie de mémoire tampon fournies par l'in- termédiaire du second moyen dans des adresses spécifiées par les données d'adresses de sortie de mémoire tampon produites. Les données d'adresses de lecture d'opérandes produites sont transférées à la première antémémoire. Le circuit de commande de la seconde antémémoire comprend un second moyen de sél;ec- tion couplé au premier moyen et répondant aux demandes de lec- ture d'instructions et à la demande de mémoire tampon pour sélectionner cette demande de mémoire tampon et ces demandes de lecture d'instructions lorsque ces demandes de lecture d'instructions sont absentes et sinon, respectivement, la demande de mémoire tampon sélectionnée étant accompagnée des données d'adresses de sortie de mémoire tampon et le second moyen de production couplé au second moyen de sélection et à la seconde antémémoire et à la mémoire principale et répondant - 2489021 aux données d'adresses de lecture d'instructions et aux données d'adresses de sor'tie de mémoire tampon afin de produire les données d'adresses de sortie de la mémoire tam- pon et les données d'adresses de lecture d'instructions lors- que la demande de mémoire tampon est sélectionnée et n'est pas sélectionnée par le second moyen de sélection, respecti- vement. La seconde antémémoire stocke les données de sortie de mémoire tampon fournies par l'intermédiaire du second moyen dans des adresses spécifiées par les données d'adresses de sortie de mémoire tampon produites. Les données d'adres- ses de lecture d'instructions produites sont transférées à la seconde antémémoire. La présente invention sera bien comprise à la lec- ture de. la description suivante faite en relation avec les dessins ci-joints, dans lesquels: La figure 1 représente un diagramme de temps pour décrire une commande idéale par pipeline; La figure 2 représente un diagramme de temps permet- tant de décrire une commande réelle par pipeline; La figure 3 est un schéma sous forme de blocs d'un agencement d'antémémoires selon un premier mode de réalisa- tion de la présente invention; La figure 4 est un schéma sous forme de blocs d'un circuit de commande de première antémémoire représentée en figure 3; La figure 5 est un schéma sous forme de blocs d'un agencement d'antémémoires selon un second mode de réalisa- tion de la présente invention; La figure 6 est un schéma sous forme de blocs d'un circuit de commande de première antémémoire destiné à être utilisé dans le circuit représenté en'figure 5; La figure 7 est un schéma sous forme de blocs d'un agencement d'antémémoires selon un troisième mode de réalisa- tion de la présente invention; La figure 8 est un schéma sous forme de blocs d'un agencement d'antémêmoires selon un quatrième mode de réali- 6. 2489021 sation de la présente invention; et La figure 9 est un schéma détaillé sous forme de blocs d'une partie de l'agencement décrit dans la figure 8. En liaison avec les figures 1 et 2, une commande par pipeline sera d'abord décrite de façon à permettre une meilleure compréhension de l'invention. On suppose qu'une antémémoire est utilisée de façon à faire traiter par un pro- cesseur central des opérandes en conformité avec des ins- tructions données par la commande par pipeline. Idéalement, une pluralité d'instructions, par exemple, d'une à sept ins- tructions Il, I2,... et I7 sont traitées de la manière représentée en figure 1 selon la commande par pipeline. Plus particulièrement, les instructions I1 à I7 sont successive- ment exécutées avec chaque instruction traitée selon des étapes A, P, C, E et W. Chaque instruction est d'abord interprétée pendant l'étape A de façon à discriminer un type d'instruction. En- suite, chaque instruction est traitée dans l'étape P de fa- çon à fournir une adresse d'un opérande devant être utili- sé dans l'exécution de cette instruction. Par exemple, une adresse logique est transformée en adresse physique pendant l'étape P. Cela est dû au fait qu'un programme est générale- ment décrit par l'utilisateur d'une adresse logique. De plus, le calcul est exécuté sur l'adresse d'opérande lorsque, soit un registre général, soit un registre à index est indiqué par l'instruction comprenant un adressage ou une indexation indirect. Ensuite l'opérande est lu pendant l'étape C à par- tir de l'adresse d'opérande obtenue au cours de l'étape P. Lorsque l'opérande est mémorisé dans l'antémémoire, l'adres- se physique obtenue au cours de l'étape P est fournie sous forme d'adresse d'opérande à l'antémémoire de façon à lire l'opérande en question. Il en résulte que l'opérande de lec- ture est envoyé de l'antémémoire au processeur central. Dans l'étape E, chaque instruction est exécutée dans le proces- seur central en liaison avec l'opérande de lecture de façon à produire les résultats de l'exécution. L'étape E est sui- vie de l'étape W, o les résultats sont mémorisés dans une 7- 2489021 position de mémoire indiquée par chaque instruction. La po- sition de mémoire peut être une adresse de registre ou une adresse de mémoire de l'antémémoire. Si la position est une adresse de mémoire, une demande de stockage est envoyée à l'antémémoire. Lorsque l'adresse de mémoire est présente dans l'antémémoire,toutes les données mémorisées antérieurement dans l'adresse de la mémoire sont ré-écrites en résultats obtenus au cours de l'étape E. Comme représenté en figure 1, les étapes A, P, C, E et W des instructions respectives I à I7 sont traitées par décalage d'une étape. En d'autres termes, les étapes res- pectives de chaque instruction alternent avec celles des instructions restantes. A cette fin, un calculateur du type à commande par pipeline comprend le matériel permettant de traiter de façon indépendante et individuelle les étapes res- pectives. Ainsi, il est possible pour un calculateur idéal à commande par pipeline de traiter un programme sans temps d'at- tente et d'améliorer la vitesse de traitement. La commande par pipeline est perturbée lorsqu'un conflit se produit entre les instructions. On suppose main- tenant que la troisième instruction 13 est destinée au sto- ckage d'un résultat de calcul à une adresse de mémoire de l'antémémoire sans lecture de données ou d'opérandes et que la cinquième instruction 15 concerne la lecture d'un opéran- de à partir d'une adresse de mémoire de l'antémémoire. Le résultat du calcul doit être envoyé avec une demande de sto- ckage et des données d'adresses à l'antémémoire au cours de l'étape W de la troisième instruction I3Y D'autre part, une demande de lecture doit être envoyée avec les données d'adresse à l'antémémoire au cours de l'étape C de la cinquiè- me instruction I 5. L'étape W de la troisième instruction 13 et l'étape C de la cinquième instruction I5 sont traitées si- multanément. Cela veut dire que l'antémémoire doit traiter simultanément les demandes de stockage et de lecture. Cepen- dant, il est impossible que l'antémémoire traite simultané- ment deux demandes. Par conséquent, un conflit entre deux de- mandes se produit dans l'antémémoire. Lors de l'apparition 8. 2489021 d'un tel conflit, une demande de stockage est en général traitée de préférence avant une demande de lecture. Par conséquent, la demande de lecture doit être mise en attente jusqu'à l'issue du traitement de la demande de stockage dans l'antémémoire. Ainsi, la commande par pipeline est iné- vitablement perturbée lors de l'apparition d'un conflit en- tre une pluralité de demandes. Avec la commande par pipeline, un temps d'attente ne se produit pas de la façon idéale venant d'être décrite. En réalité, l'occurrence d'un temps d'attente est inévita- ble même s'il y a utilisation de la commande par-pipeline, comme cela apparaîtra au fur et à mesure de la description. En figure 2, on suppose que la première instruc- tion I1 n'a pas besoin de stocker le résultat de l'exécution dans une adresse d'une mémoire, comme indiqué par la lettre W entre parenthèses, et la troisième instruction 13 de lire un opérande à partir d'une adresse de mémoire. Des exemples des première et dernière instructions I1 et I3 sont des ins- tructions de stockage du résultat dans un registre général et de lecture de l'opérande provenant d'un registre géné- ral, respectivement. L'étape (W) de la première instruction I se produit en même temps que l'étape (C) de la troisième instruction I3. Cela veut dire que la mémoire principale et l'antémémoire elles-mêmes ne sont pas accédées pendant une période au cours de laquelle l'étape (C) de l'instruction I1se produit en même temps que l'étape (W) de l'instruction I3* Par conséquent, la mémoire principale et l'antémémoire sont maintenues inactives pendant la période. Comme cela était décrit dans le préambule de la présente invention, on a proposé un système de calculateur comprenant une antémémoire et un registre d'antémémoire tam- pon unique dans le Bulletin de la Société IBM. Lors de l'ap- parition d'un conflit de demandes concernant l'antémémoire, le registre d'antémémoire tampon mémorise les résultats de l'exécution et les transfère à l'antémémoire pendant un temps d'attente de celle-ci. Cependant, la perturbation de la com- mande par pipeline est inévitable lorsqu'une pluralité de ré- 9 2489021 sultats d'exécution doivent être stockés consécutivement dans le registre en réponse aux demandes de mémoire consécutives, comme cela a été signalé précédemment. De plus, un résultat mémorisé dans le registre d'antémémoire tampon y est mainte- nu pendant une longue durée sans être transféré à l'antémémoi- re car un temps d'attente se produit rarement dans l'antér mémoire. En liaison avec la figure 3, un agencement d'anté- mémoires selon un premier mode de réalisation de la présente invention est destiné à être utilisé entre un processeur cen- tral 21 et une mémoire principale 22. La mémoire principale 22 a pour fonction de mémoriser une série d'opérandes et une série d'instructions. En bref, l'agencement consiste à faire traiter les opérandes par le prucesseur central 21 en confor- mité avec les instructions, à la façon d'une commande par pi- peline dans le but de produire des demandes de stockage et des demandes de lecture d'opérandes et d'instructions. Les deman- des de stockage sont accompagnées par des données de stocka- ge et des données d'adresses de mémoire. Les demandes de lecture d'opérandes et d'instructions sont accompagnées par des données d'adresses de lecture d'opérandes et d'instruc- tions, respectivement. Le processeur central 21 comprend un décodeur de de- mande connu (non représenté) qui fournit à la mémoire princi- pale 22 les demandes de stockage et les demandes de lecture d'opérandes et d'instructions par l'intermédiaire de l'agencesq ment d'antémémoires. Les demandes de stockage apparaissent sur un premier bus de sortie 24 en même temps que les données d'adresses de mémoire. Les données de stockage concomitantes apparaissent sur un bus de données de mémoire 26 aprâs appari- tion des demandes de stockage respectives. Cela est dû à la commande par pipeline décrite en liaison avec les figures 1 et 2. Les données de stockage sont fournies sous forme d'opéran- des à l'agencement d'antémémoires. Le premier bus de sortie 24 peut par conséquent être appelé bus de sortie d'opérande. Les demandes de lecture d'opérandes apparaissent également sur le premier bus 24 en même temps que les données 10. 2489021 d'adresses de lecture d'opérandes. Les demandes de lecture d'instructions apparaissent sur un second bus ou bus de sor- tie d'instructions 28 en même temps que les données d'adres- ses de lecture d'instructions. En figure 3, l'agencement d'antémémoires comprend une première antémémoire 31 couplée au processeur central 21 et chargée préliminairement avec une partie prédéterminée des opérandes et une seconde antémémoire 32 couplée au processeur central et chargée préliminairement avec une partie présé- lectionnée des instructions. Les première et seconde antémé- moires 31 et 32 sont mises en fonctionnement sous la commande de premier et second circuits de commande 36 et 37, respec- tivement, d'une manière qui sera décrite ultérieurement. L'agencement d'antémémoires comprend en outre un circuit d'antémémoires tampon 40 couplé au processeur cen- tral 21 par l'intermédiaire du premier bus de sortie 24 et du bus de données de stockage 26. Le circuit 40 comprend des première et seconde mémoires tampon 41 et 42 qui sont chacu- ne du type "premier entré-premier sorti" et comporte un nom- bre prédéterminé d'entrées égal, par exemple, à 8. Un élément binaire unique ou de validité est lié à chaque entrée des pre- mière et seconde mémoires tampon 41 et 42 pour indiquer la va- lidité de chaque entrée et passe d'un niveau logique 0 au niveau logique 1 lorsque chaque entrée est utilisée. Alimentée avec les demandes de stockage par l'in- termédiaire du premier bus de sortie 24, la première mémoire tampon 41 mémorise les données d'adresses de mémoire conco- mitantes dans une entrée prédéterminée avec l'élément binai- re de validité passé au niveau logique 1. Après production des demandes de stockage, les données de stockage concomitan- tes sont produites par le processeur central 21 à la façon d'un pipeline. La donnée de stockage concomitante est fournie par l'intermédiaire du bus de données de stockage 26 à la * seconde mémoire tampon 42 pour y être mémorisée dans une en- trée présêlectionnée de cette mémoire, entrée qui correspond à l'entrée prédéterminée de la première mémoire 41. Le niveau logique de l'élément binaire de validité de l'entrée présé- lectionnee passe également au niveau 1. Dans ces circonstan- il. 2489021 ces, la donnée de stockage mémorisée et les données d'adresses de mémoire mémorisées sont successivement et simultanément décalées par paires et.produites sous forme de données de sor- tie de mémoire tampon et de données d'adresses de sortie de mémoire tampon, respectivement. Simultanément à la production des données de sor- tie de mémoire tampon et des données d'adresses de sortie de mémoire tampon, une demande de mémoire tampon est produite par contrôle des deux éléments binaires de validité des pre- mière et seconde mémoires 41 et 42. Les données d'adresse de sortie de mémoire tampon sont fournies, par l'intermédiaire d'un premier bus de sortie 46, de la première mémoire tampon 41 à la mémoire principale 22 et aux circuits de commande des première et seconde anté- mémoires 36 et 37. Le circuit d'antémémoires tampon 40 repré- senté envoie la demande de mémoire tampon sur le premier bus 46 en même temps que les données d'adresses de sortie de la mémoire tampon. D'autre part, les données de sortie de mémoi- re tampon sont fournies par l'intermédiaire d'un-second bus de sortie 47 par la seconde mémoire tampon 42 à la mémoire principale 22 et aux première et seconde antémémoires 31 et 32. En liaison avec la figure 4, le circuit de comman- de de la première antémémoire 36 est connecté au processeur central. 21 par l'intermédiaire d'une ligne d'adresses de lec- ture d'opérandes 24a et d'une ligne de demande de lecture d'opérandes 24b, ces deux lignes étant incluses dans le pre- mier bus de sortie 24. Les données d'adresses de lecture d'opérandes ORA et les demandes de lecture d'opérandes ORR apparaissent sur la ligne d'adresses de lecture d'opérandes 24a et la ligne de demande de lecture d'opérandes 24b, res- pectivement. Le circuit de commande de la premère antémémoire 36 comprend un premier sélecteur 48 couplé au bus de sortie 46 de la première mémoire tampon et répondant aux demandes de lecture d'opérandes ORR et à la demande de mémoire tam- pon, représentée par BSR, pour la sélection de cette demande 12. 2489021 seulement lorsque les demandes de-lecture d'opérandes ORR sont absentes. Autrement, le premier sélecteur 48 sélection- ne les demandes de lecture d'opérandes ORR. En d'autres ter- mes, les demandes de lecture d'opérandes ORR sont de préféren- ce sélectionnées par le premier sélecteur 48. En présence des demandes de lecture d'opérandes ORR le premier sélecteur 48 fournit au circuit d'antémémoires tampon 40 un signal oc- cupé BS. Couplé au premier sélecteur 48 dans le circuit de commande de la première antémémoire 36, un premier circuit de commutation 49 reçoit les données d'adresses de lecture d'opérandes ORA et les données d'adresses de sortie de mé- moire tampon, représentées en BOA. Le circuit 49 produit les données d'adresses de lecture d'opérandes ORA et les données d'adresses de sortie de mémoire tampon BOA lorsque les de- mandes de lecture d'opérandes ORR et la demande de mémoire tampon BSR sont sélectionnées par le premier sélecteur 48, respectivement. Les données ORA sont fournies par le circuit de commutation 49 à la première antémémoire 31 en même temps que les demandes de lecture d'opérandes ORR. Lorsque les données d'adresses de lecture d'opérandes ORA spécifient des adresses dans la première antémémoire 31, les opérandes sont transférés de cette antémémoire au processeur central 21. Autrement, les opérandes sont transférés de la mémoire principale 22 au processeur central 21. Lorsque les données d'adresses de sortie de mémoi- re tampon BOA sont fournies par le premier circuit de commu- tation 49 à la première antémémoire 31, les données de sor- tie de mémoire tampon concomitantes, représentées par BOD,- sont également fournies simultanément à la première antémé- moire 31. Si les données d'adresses de sortie de mémoire tampon BOA spécifient des adresses dans la première antémé- moire 31, les données de sortie de mémoire tampon concomi- tantes BOD sont mémorisées dans cette antémémoire. Sinon, les données de sortie de mémoire tampon BOD sont mémorisées dans la mémoire principale 22. Bien que cela ne soit pas représenté en figure 4, 13. 2489021 le circuit de commande de la seconde antémémoire 37 a une structure et un fonctionnement semblables à ceux du circuit de commande 36, sauf toutefois que les demandes de lecture d'instructions et les données d'adresses de lecture d'ins- tructions sont fournies au circuit 37 à la place des deman- des de lecture d'opérandes et des données d'adresses de lec- ture d'opérandes. Par conséquent, on comprendra facilement que le circuit de commande 37 de la seconde antémémoire com- prend un second sélecteur couplé au bus de sortie 47 de la seconde mémoire tampon et répondant aux demandes de lecture d'instructions et à la demande de mémoire tampon pour la sé- lection de cette demande seulement lorsque les demandes de lecture d'instructions sont absentes et, autrement, pour la sélection des demandes de lecture-d'instructions et un se- cond circuit de commutation couplé au second sélecteur et répondant aux données d'adresses de lecture d'instructions et aux données d'adresses de sortie de mémoire tampon pour produire les données d'adresses de sortie de mémoire tampon afin de stocker les données de sortie de mémoire tampon dans la seconde antémémoire 32 lorsque la demande de mémoire tam- pon est sélectionnée par le second sélecteur et, autrement, pour produire les données d'adresses de lecture d'instruc- tions, afin de transférer les instructions de la seconde antémémoire 32 au processeur central 21. De nouveau en liaison avec la figure 4, le fonction- nement sera maintenant décrit en détail. Supposons que les première et seconde mémoires tam- pon 41 et 42 aient mémorisé les données d'adresses de mémoire SA et les données de stockage SD fournies par l'intermédiaire d'une ligne d'adresses de mémoire 24c du premier bus de sortie 24 et du bus de données de stockage 26, respectivement. On suppose maintenant que la demande de mémoire tam- pon BSR coïncide avec la fourniture simultanée d'une des de- mandes de lecture d'opérandes ORR au premier sélecteur 48. Dans ce cas, la demande ORR est sélectionnée par le premier sélecteur 48 de façon à être fournie au premier circuit de commutation 49. En même temps, le signal occupé BS est ren- 14. 2489021 voyé du premier sélecteur 48 à la première mémoire tampon 41. Il en résulte que la demande de mémoire tampon BSR est mainte- nue dans la première mémoire 41 jusqu'à disparition du signal occupé BS. Répondant à la demande de lecture d'opérandes ORR fournie simultanément, le premier circuit de commutation 49 sélectionne les données d'adresses de lecture d'opérandes ORA accompagnées de la demande de lecture d'opérandes ORR four- nie simultanément. Les données ORA sélectionnées sont four- nies à la première antémémoire 31 et à la mémoire principale 32 de façon à transférer les opérandes de la manière décri- te précédemment. Lorsqu'aucune demande de lecture d'opérandes n'appa- raît après traitement de la demande de lecture d'opérandes ORR, il y a disparition du signal occupé BS. Il en résulte que la demande de mémoire tampon BSR est fournie par le pre- mier sélecteur 48 au premier circuit de commutation 49. Répondant à la demande de mémoire tampon BSR prove- nant du premier sélecteur 48, le premier circuit de commuta- tion 49 délivre la donnée d'adresse de sortie de la mémoire tampon concomitante BOA à la première antémémoire 31 avec la donnée de sortie de mémoire tampon BOD lorsque l'adresse spécifiée par la donnée BOA est présente dans la première antémémoire 31. Il en résulte que la donnée de sortie BOD est stockée, par l'intermédiaire de la première section de commande 48, dans l'adresse spécifiée par la donnée BOA. D'autre part, l'adresse spécifiée par la donnée BOA peut ne pas être présente dans la première antémémoire 31. Dans ce cas, la donnée d'ladresse BOA et la donnée de sortie BOD sont fournies à la mémoire principale 22 par la première section de commande 48 et la seconde mémoire tam- pon 42, respectivement. Comme représenté en figure 3, la mémoire princi- pale 22 comprend un circuit de mémoires tampon 50 ayant une structure sensiblement identique à celle du circuit d'anté- mémoires tampon 40, c'est-à-dire une combinaison des pre- mière et seconde mémoires 41 et 42. Le circuit 50 mémorise successivement les données BOA et les données BOD. 15. 2489021 Un fonctionnement similaire est effectué dans le circuit de commande de la seconde antémémoire 37. Ainsi, chacun des circuits de commande d'anté- mémoire 36 et 37 traite les demandes de lecture d'opérandes et d'instructions avant les demandes de stockage. En d'au- tres termes, les demandes de stockage peuvent être retardées grâce au circuit 40 jusqu'à ce que toutes les demandes de lecture en conflit soient traitées par les première et se- conde antémémoires 31 et 32. Par conséquent, il est possible d'éviter des conflits entre les demandes de lecture et les demandes de stockage. De plus, les données d'adresses de sor- tie de mémoire tampon et les données de sortie de mémoire tampon concomitantes sont transférées relativement rapide- ment du circuit d'antémémoires tampon 40 aux circuits de commande des première et seconde antémémoires 36 et 37 et aux première et seconde antémémoires 31 et 32. Cela est dû au fait que des temps d'attente apparaissent fréquemment par sui- te de la présence d'une paire d'antémémoires 31 et 32, par rapport à l'utilisation d'une seule antémémoire. En outre, le circuit 40 d'antémémoires tampon est capable de stocker une pluralité de données de stockage avec les données d'adres- ses de mémoire concomitantes. Par conséquent, aucune turbulen- ce ne se produit dans la commande par pipeline même lorsque les demandes de stockage sont transmises consécutivement du processeur central 21 au circuit 40. En liaison avec la figure 5, un agencement d'an- témémoires selon un second mode de réalisation de la présente invention est semblable à l'agencement dans les figures 3 et 4, sauf que des premier et second circuits de coïncidence 51 et 52 sont connectés au circuit 40. Les éléments équivalents à ceux représentés dans les figures 3 et 4 sont désignés par les mêmes numéros de référence. Bien que cela ne soit pas décrit en liaison avec les figures 3 et 4, on comprendra que chacune des demandes de lecture d'opérandes et d'instructions peut nécessiter des données ou des opérandes mémorisés dans le circuit de mémoi- res tampon 40. Dans la mesure o les données du circuit 40 16. 2489021 sont celles qui doivent être transférées à la première ou à la seconde antémémoire 31 ou 32 et à la mémoire principale 22, chaque mémoire 31, 32 stocke des données plus anciennes que les données conservées dans le circuit 40. Dans ces cir- constances, un mauvais fonctionnement se produirait inévita- blement si les données étaient lues dans chacune des premiè- re et seconde antémémoires 31 et 32 en dépit du fait que les données correspondantes sont conservées dans le circuit 40. De façon à éviter ce mauvais fonctionnement, des adresses de la première mémoire tampon 41 sont contrôlées ou indexées grâce à l'utilisation des premier et second circuits de coïncidence 51 et 52 de l'antémémoire. Dans la figure 5,les premier et second circuits de coïncidence 51 et 52 sont couplés à la première mémoire tam- pon 41 par une ligne commune de comparaison d'adresses 53 et aux circuits de commande des première et seconde antémémoi- res 36 et 37, respectivement. Le premier circuit de coinciden- ce 51 reçoit les demandes de lecture d'opérandes et les don- nées d'adresses de lecture d'opérandes par l'intermédiaire du premier bus de sortie 24 alors que le second circuit de coïncidence 52 reçoit les demandes de lecture d'instructions et les données d'adresses de lecture d'instructions par l'in- termédiaire du second bus de sortie 28. Répondant aux demandes de lecture d'opérandes ac- compagnées par les données d'adresses de lecture d'opérandes, le premier circuit de coïncidence 51 compare les données d'adresses de lecture d'opérandes à toutes les'données d'adresses de mémoire mémorisées dans la première mémoire tampon 41. Lorsque les données d'adresses comparées coinci- dent les unes avec les autres, un premier signal de coïnci- dence CD est fourni par le premier circuit 51 au circuit de commande 36 de la première antémémoire de façon-à l'alimen- ter. Le premier signal de coïncidence CD1 est également ap- pliqué au circuit de commande 37 de la seconde antémémoire pour le désalimenter. Recevant les demandes de lecture d'instructions et les données d'adresse d'instructions les accompagnant, le 17. 2489021 second circuit de coïncidence 52 compare les données d'adres- ses de lecture d'instruction à toutes les données d'adresses de mémoire mémorisées dans la première mémoire tampon 41. Lorsque les données d'adresses comparées coïncident les unes avec les autres, un second signal de coïncidence CD2 est fourni au circuit de commande 37 de la seconde antémémoire de façon à l'alimenter d'une part, et, au circuit de comman- de 36 de la première antémémoire de façon à le désalimenter, d'autre part. Ainsi, les circuits de commande 36 et 37 des premiè- re et seconde antémémoires sont sélectivement mis en oeuvre pendant la présence des premier et second signaux de coln- cidence CD1 et CD2. Lorsqu'aucun de ces signaux CD1 et CD2 n'est produit par les premier et second circuits de coinci- dence 51 et 52, le fonctionnement de l'agencement 20 est sem- blable à celui qui est représenté en liaison avec les figu- res 3 et 4. Par conséquent,la description suivante concerne- ra principalement le cas o le premier ou le second signal de coïncidence CD1 et CD2 apparaît. En liaison avec la figure 6, le circuit de commande 36 de la première antémémoire, utilisé dans l'agencement d'antémémoires décrit, comprend un premier sélecteur 48 et un premier circuit de commutation 49, comme dans le cas de la figure 4. Dans la figure 6, le circuit de commande 36 de la première antémémoire comprend en outre, une première porte 56 couplée au processeur central 21, au premier circuit de coïncidence 51 et au premier sélecteur 48. Alimentée si- multanément avec les demandes de lecture d'opérandes ORR par l'intermédiaire du premier bus de sortie 24 et avec le pre- mier signal de coïncidence CD1, la première porte 56 inter- rompt les demandes de lecture d'opérandes ORR. Il en résul- te que la demande de mémoire tampon BSR est seule reçue par le premier sélecteur 48 pendant la présence du premier si- gnal de coïncidence CD1 si le circuit 40 produit cette de- mande BSR. Par conséquent, le premier sélecteur 48 *sélec- tionne la demande BSR et le premier circuit de commutation 49 les données d'adresses de sortie de mémoire tampon con- 18. 2489021 comitantes BOA. Les données BOA sont fournies par l'intermédiaire du premier circuit de commutation 49 à la première antémémoire 31 avec la donnée de sortie BOD les accompagnant. Lorsque les données BOA spécifient des adresses dans la première anté- mémoire 31, les données d'accompagnement BOD sont mémorisées dans cette antémémoire. Autrement, les données BOD sont en- voyées à la mémoire principale 22 de la manière usuelle. Ainsi, la demande de mémoire tampon BSR est de pré- férence traitée par le circuit de commande 36 de la pre- mière antémémoire avant celle des demandes, fournie simulta- nément, de lecture d'opérandes ORR en présence du premier signal de coïncidence CD1. Cela signifie que la demande de leéture d'opérandes fournie simultanément, ORR,peut lire les données d'opéran- des-renouvelées, soit dans la première antémémoire 31, soit dans la mémoire principale 22 qui sont réécrites par la de- mande de mémoire tampon BSR lorsque la demande ORR en ques- tion nécessite des opérandes mémorisés dans le circuit d'an- témémaires tampon 40. De plus,les données de sortie de mémoire tampon BOD peuvent être successivement transférées à la première antémémoire 31 dans le mode "premier entré-premier sorti" jusqu'à une "adresse de coïncidence" à laquelle les données 2$ d'adresses comparées coïncident. En variante, les données BOD peuvent être transférées de l'adresse de coïncidence du circuit 40 seul. Le cirôuit decommande 37 de la seconde antémémoire est mis en fonctionnement d'une manière similaire au circuit de commande 36 de la première antémémoire et ne sera par conséquent pas décrit. On comprendra facilement que ce cir- cuit 37 comprend une seconde porte (non représentée) pour l'interruption des demandes de lecture d'instructions en pré- sence du second signal de coïncidence CD2 de façon à traiter de préférence la demande de mémoire tampon avant la demande, fournie simultanément, des demandes de lecture d'instruc- tions. 19. 2489021 En liaison avec la figure 7, un agencement d'anté- mémoires selon un troisième mode de réalisation de la pré- sente invention est semblable à celui représenté en liaison avec les figures 5 et 6, sauf toutefois que le circuit d'an- témémoires tampon 40 comprend des troisième et quatrième mé- moires tampon 63 et 64 en plus des première et seconde mé- moires tampon 41 et 42. Comme dans le cas de la première mé- moire 41, la troisième mémoire tampon 63 est couplée au processeur central 21 et répond aux demandes de mémoire pour le stockage des données d'adresses de mémoire concomi- tantes afin de produire les données d'adresses de mémoire tampon.Comme la seconde mémoire tampon 42, la quatrième mé- moire 64 est couplée au processeur central 21 et répond aux demandes de stockage pour la mémorisation des données de stockage concomitantes afin de produire les données de sor- tie de mémoire tampon. On notera que les première et seconde mémoires tam- pon ne sont pas couplées au circuit de commande 37 de la seconde antémémoire et à la seconde antémémoire 32, respec- tivement, et que les troisième et quatrième mémoires tam- pon 63 et 64 ne sont pas couplées au circuit de commande 36 de la première antémémoire et à la première antémémoire 31, respectivement. En d'autres termes, les première et secon- de mémoires tampon 41, 42 sont connectées au circuit de com- mande 36. de la première antémémoire et à la première anté- mémoire 31 par l'intermédiaire des premier et second bus de sortie de mémoire tampon 46 et 47 respectivement. D'autre part, les troisième et quatrième mémoires tampon 63 et 64 sont connectées au circuit de commande 37 de la seconde antémémoi- re et à la seconde antémémoire 32 par l'intermédiaire des troisième et quatrième bus de sortie de mémoire tampon 66 et 67, respectivement. Dans l'agencement d'antémémoires représenté, -les demandes de stockage en mémoire tampon sont produites en même temps que les données d'adresses de sortie de mémoire tampon et des données de sortie de mémoire tampon concomitantes de la manière décrite précédemment et sont fournies, par l'in- 20. 2489021 termédiaire des premier et-second bus 46 et 66, aux cir- cuits de commande 36 et 37 des première et seconde antémé- *moires, respectivement. Le premier circuit de coïncidence 51 est alimen- té avec les demandes de lecture d'opérandes par l'intermé- diaire de la première ligne de sortie 24 et les données d'adresses de mémoire stockées dans la première mémoire tam- pon 41 de façon à produire le premier signal de coïncidence CD1 lorsque les données d'adresses comparées coïncident. Le premier signal de coïncidence CD1 est fourni au circuit de commande 36 de la première antémémoire. Le second circuit de coïncidence 52 est alimen- té avec les demandes de lecture d'instructions par l'intermé- diaire de la seconde ligne de sortie 28 et les données d'adresses de mémoire stockées dans la troisième mémoire tam- pon 63 de façon à produire le second signal de coïncidence CD2 lorsque les données d'adresses comparées coïncident. Le second signal de coïncidence CD2 est transmis au circuit de commande 37 de la seconde antémémoire. Ainsi, le premier circuit de coïncidence 51 fonctionne indépendamment du second circuit de coïncidence 52. Par conséquent, les circuits de commande 36 et 37 des première et seconde antémémoires sont capables de trai- ter individuellement les demandes de lecture d'opérandes et d'instructions en parallèle, même lorsque les premier et second signaux de coïncidence CD1 et CD2 sont produits simul- tanément par les premier et second circuits de coïncidence 51 et 52. Dans chacun des circuits de commande 36 et 37, la demande de stockage en mémoire tampon est traitée de préfé- rence avant la demande fournie simultanément des demandes de lecture d'opérandes en présence de chacun des premier et se- cond signaux de coïncidence CD1 et CD2 de la manière décrite précédemment. Un tel traitement ou opération sert à éviter tout mauvais fonctionnement de l'agencement même lorsqu'une demande de mémoire tampon précédente et une demande de lec- ture suivante accèdent à la même adresse de mémoire allouée à la première ou à la seconde antémêmoire 31-ou 32 et/ou à la mémoire principale 22. Cela est dû au fait que les données 21. 2489021 de l'adresse de mémoire en question sont déjà renouvelées lors du traitement de la demande de stockage en mémoire tampon précédente avant la réception de la demande de lecture sui- vante. En l'absence des premier et second signaux de coinci- dence respectifs CD1 et CF2, les circuits de commande 36 et 37 des première et seconde antémémoires traitent d'abord les demandes de lecture d'opérandes et d'instructions, puis la demande de stockage en mémoire tampon. En liaison avec la figure 8, un agencement d'an- témémoires selon un quatrième mode de réalisation de la pré- sente invention est semblable à celui de la figure 7, sauf qu'un convertisseur d'adresses 70 est couplé au processeur central 21 comme on le voit en figure 8. Dans cet agencement, chacune des données d'adresses de mémoire et des données d'adresses de lecture d'opérandes et d'instructions est four- nie sous forme d'une donnée d'adresse logique provenant du processeur central 21. Le convertisseur 70 sert à convertir la donnée d'adresse logique en donnée d'adresse physique. La donnée d'adresse logique indique une adresse logique alors que la donnée d'adresse physique indique une adresse physique. Dans la figure 9, le fonctionnement du convertis- seur 70 sera décrit en liaison avec la première antémémoire 31, le circuit de commande 36 de la première antémémoire,les première et seconde mémoires tampon 41 et 42, et le premier circuit de coïncidence 51. il sera possible facilement de faire coopérer le convertisseur 70 avec la seconde antémé- moire 32 et le circuit de commande 37 de cette seconde anté- mémoire. Le convertisseur d'adresses 70 comporte un regis- tre d'adresses logiques (appelé LAR ci-après) 71 alimenté avec les données d'adresses logiques comme chacune des don- nées d'adresses de lecture d'opérandes ORA et des données d'adresses de mémoire SA. L'adresse logique maintenue dans LAR est envoyée partiellement à une mémoire à table de con- sultation connue (TLB) 72 comprenant une partie à clavier (TLB-KEY) et une partie à données (TLB-DATA). La partie à clavier est indexée par une partie de l'adresse logique pour 22. 2489021 rechercher si oui ou non la correspondance entre les adres- ses logique et physique est enregistrée dans le clavier. Si tel est le cas, la partie TLB-DATA conserve une adresse de page physique représentative d'une page. Dans ce cas, le convertisseur 70 délivre l'adresse de page physi- que par l'intermédiaire d'une porte ET 73 au circuit de com- mande 36 de la première antémémoire et à la première mémoire tampon 41 en coopération avec un comparateur 74. Si la correspondance n'est pas enregistrée, la con- version d'adresses est effectuée. Les résultats de cette conversion sont enregistrés dans TLB-KEY et TLB-DATA de la manière connue dans l'art antérieur. Supposons que la demande de stockage SR soit donnée par le processeur central au convertisseur d'adresses 70.Les données d'adresses de mémoire concomitantes SA sont simulta- nément maintenues dans le registre 71 sous forme de données d'adresses de mémoire logiques. Ces données sont partielle- ment ou totalement fournies par le registre 71 à là premiè- re mémoire tampon 41. En même temps, le convertisseur 70 transforme partiellement les données d'adresses de mémoire logiques en données d'adresses de mémoire physiques de façon à fournir ces dernières à la première mémoire tampon 41. La première mémoire tampon 41 comprend une section d'adresses logiques 76 et une section d'adresses physiques 77. Les données d'adresses de mémoire logiques et les don- nées d'adresses de mémoire physiques sont mémorisées dans les sections 76 et 77, respectivement. Après."production des données d'adresses de mémoire SA, le processeur central 21 du type à commande par pipeline fournit les données de sto- ckage SD à la seconde mémoire tampon 42, de façon à les stocker dans cette mémoire. Ensuite, supposons que la demande de lecture d'opérandes ORR provienne du processeur central 21. La demande ORR est fournie aux première et seconde mémoires tampon 41 et 42 et au premier circuit de coïncidence 51 par l'intermédiaire d'une porte 80 incorporée dans le circuit de commande 36 de la première antémémoire. Pour le moment, 23. 2489021 la porte 80 ne sera pas prise en considération pour des com- modités de description. Les données d'adresses de lecture d'opérandes concomitantes ORA sont simultanément fournies sous forme de données d'adresses d'opérandes logiques au re- gistre d'adresses logiques 71. Les bits les plus significa- tifs des données d'adresses d'opérandes logiques sont trans- formés en adresses de page physiques par l'utilisation de la mémoire 72, du comparateur 74, et de la porte ET 73. L'adresse de page physique est envoyée à un premier commu- tateur 81 du circuit de commande 36. D'autre part, les bits les moins significatifs des données d'adresses d'opérandes logiques sont envoyés directement en adresse à multiplet du registre d'adresses logiques 71 à un second commutateur 82 du circuit de commande 36 de la première antémémoire. En présence de la demande de lecture d'opérandes ORR, l'adresse de page physique et l'adresse de multiplet provenant du convertisseur 70 sont sélectionnées par les premier et second commutateurs 81, 82, respectivement, et sont stockées dans un registre d'adresses physiques 83 sous forme de combinaison d'adresses physiques. L'adresse de mul- tiplet est partiellement fournie à un ensemble d'adresses 84 servant de répertoire pour la première antémémoire 31. L'ensemble 84 est indexé par une partie de l'adresse de mul- tiplet et coopère avec un comparateur 86 pour vérifier si oui ou non un bloc comprenant la donnée désirée est enregis- tré dans la première antémémoire 31. Finalement, le compara- teur 86 fournît à un registre de correspondance d'ensembles d'adresses 87 un signal de correspondance et un signal de non correspondance lorsque le bloc désiré est trouvé dans l'ensemble 84 et n'y est pas trouvé, respectivement. Ainsi, lorsque la combinaison d'adresses physiques et le signal de correspondance sont établis dans le registre 83 et dans le registre 87, respectivement, un ensemble de données 88 de la première antémémoire 31 devient accessible. Pendant la présence de la demande de lecture d'opé- randes ORR, les données d'adresses d'opérandes logiques sont partiellement ou totalement fournies depuis le registre 71 à un circuit comparateur 91 du premier circuit de coinciden- 24. 2489021 ce 51. Bien que représenté par un seul bloc,le circuit com- parateur 91 comprend une pluralité de comparateurs d'un nom- bre identique à celui des entrées de la première mémoire tam- pon 41. Le circuit comparateur 91 compare les données d'adres- ses d'opérandes logiques avec chacune des données d'adresses de mémoire logiques mémorisée dans la section d'adresses 76. Les données d'adresses à comparer peuvent être partiellement ou totalement comparées les unes aux autres. Lorsque les données d'adresses comparées coïncident, le circuit comparateur 91 fait produire par un registre de correspondance de mémoire tampon 92 du premier circuit de coïncidence 91 le premier signal de coïncidence CD1. Le premier signal de coïncidence CD1 est fourni-par le premier circuit 51 au registre 71, à la porte 80 du cir- cuit de commande 36 de la première antémémoire, et à un troisième commutateur 93 couplé à la première antémémoire 31 et à la seconde mémoire tampon 420 Répondant au premier signal de coïncidence CDJ, la porte 80 interrompt la demande de lecture d'opérandes ORR et fait maintenir par le registre 71 les données d'adresses d'opérandes logiques concomitantes. Dans ces circonstances, les premier et second commutateurs 81 et 82 ne peuvent sé- lectionner les adresses de page physique et de multiplet, fournies par le convertisseur d'adresses 70. A ce moment là, la section d'adresse physique 77 de la première mémoire tampon fournit les données d'adresses de sortie de mémoire tampon sous forme de données d'adresse de mémoire tampon physiques à un registre d'adresses de mémoire tampon 94 in- clus dans le circuit de commande 36 de la première antémé- moire. Là, la demande de stockage en mémoire tampon est sup- posée être fournie par la section d'adresses physiques 77 au registre 94. Les bits les plus significatifs et les moins signi- ficatifs des données d'adresses de mémoire tampon physiques sont envoyés du registre 94 au registre 83 par l'intermédiai- re des premiers et second commutateurs 81 et 82 pour-être maintenus dans le registre 83 sous forme d'un enchaînement de données d'adresses physiques. En même temps, les bits les moins significatifs sont partiellement envoyés de l'ensemble d'adresses 84 de façon à contrôler la présence et l'absence d'un bloc de données désiré de la manière indiquée précédemment. Si le bloc de données désiré est mémorisé dans la première anté- mémoire 31, le registre 87 produit le signal de correspon- dance. En présence de ce signal, les données de sortie concomitantes de la mémoire tampon sont envoyées par la seconde mémoire tampon 42 à la première antémémoire 31. Il en résulte que cette première antémémoire est renouvelée à l'adresse spécifiée par les données d'adresses physi- ques. En l'absence de signal de correspondance, les données d'adresses physiques établies dans le registre 83 sont fournies de la manière usuelle à la mémoire principale 22 avec les données de sortie concomitantes de la mémoire tampon maintenues dans la seconde mémoire tampon 42. Le fonctionnement précédent peut être exécuté consécutivement jusqu'à ce que toutes les données de sto- ckage mémorisées dans la seconde mémoire tampon 42 soient transférées à la première antémémoire 31 et/ou à la mémoi- re principale 22. D'autre part, le transfert peut ne com- prendre que les données de stockage mémorisées dans une adresse o le premier signal de coïncidence CD1 apparalt. Dans ce dernier cas, les données de stockage peuvent être fournies simultanément à la première antémémoire 31 et au processeur central 21 par l'intermédiaire du troisième com- mutateur 93,comme on le-comprendra facilement dans la figu- re 9. Pour n'importe quelle vitesse, après transfert des données de stockage à la première antémémoire 31 et/ou à la mémoire principale 22, la porte 80 est libérée par disparition du premier signal de coïncidence CD1 de façon à fournir au circuit de commande 36 de la première anté- mémoire la demande de lecture d'opérandes ORR. La fournitu- 25. 26. 2489021 re de la demande ORR conduit les données d'adresses d'opéran- des logiques du registre 71 au registre 83 par l'intermédiai- re du convertisseur d'adresses 70 et des premier et second commutateurs 81 et 82. Si les données désirées sont mémorisées dans la première antémémoire 31, ces données sont lues dans l'ensem- ble de données 88 et transmises au processeur central 21 par le troisième commutateur 93 et une porte ET 96 validée par le signal de correspondance. En l'absence de signal de correspondance, la mémoi- re principale 22 est accédée par les données d'adresses physi- ques maintenues dans le registre 83. Ainsi, les premier et second commutateurs 81 et 82 servent à sélectionner les données d'adresses de sortie de mémoire tampon accompagnant la demande de stockage en mémoire tampon seulement lorsque les demandes de lecture d'opérandes sont absentes. Les registres 83 et 87 servent à produire sélecLivement les données d'adresses de sortie de mémoire tampon et les données d'adresses de lecture d'opéran- des en coopération avec l'ensemble d'adresses 84 et le compa- rateur 86. Avec l'agencement représenté dans les figures 8 et 9, une comparaison est effectuée dans le premier circuit de coïncidence 51 grâce à l'utilisation des données d'adresses d'opérandes logiques sans conversion d'adresses lorsque les demandes de lecture d'opérandes ORR sont appliquées à l'agen- cement. Cela veut dire que le premier signal de coïncidence CD1 est produit rapidement par le premier circuit de coinci- dence 51. De plus, la première mémoire tampon 41 est inde- xée indépendamment de l'ensemble d'adresses 84. Par consé- quent, la première antémémoire 31 et le circuit de commande 36 de la première antémémoire sont simultanément contrôlés en parallèle en réponse aux demandes de lecture d'opérandes ORR. On comprendra maintenant facilement que la demande de lecture d'opérandes ORR est de préférence traitée avant la demande de stockage en mémoire tampon à moins que le pre- 27. 2489021 mier signal de coincidence CD1 ne provienne du premier circuit de coïncidence 51. La demande ORR peut entrer en conflit avec l'une des demandes de stockage SR si un convertisseur d'adres- ses supplémentaire est connecté en parallèle au registre 71 et si les deux convertisseurs d'adresses sont alimentés indivi- duellement avec les données d'adresses de lecture d'opéran- des et les données d'adresses de stockage. Comme représenté en figure 8, les troisième et qua- trième mémoires tampon 63 et 64 peuvent être connectées en parallèle avec les première et seconde mémoires tampon 41 et 42. Alors que la présente invention a été décrite en conjonction avec plusieurs modes de réalisation, il apparaî- tra facilement à l'homme de l'art qu'elle peut être mise en pratique de différentes manières. Par exemple, il est possi- ble d'utiliser un seul circuit de mémoires tampon d'un type à deux lectures pour la paire constituée des première et troi- sième mémoires 41 et 63 ou la paire des seconde et quatrième mémoires 42 et 64. Dans la figure 7, les premier et second -circuits de coïncidence 51 et 52 peuvent être enlevés, comme dans le cas de la figure 3. Le convertisseur d'!adresses 70 représenté dans les figures 8 et 9 peut être inclus dans l'agencement représenté en figure 3. Dans la figure 8, un au- tre convertisseur d'adrssse (non représenté) peut être connec- té au circuit de commande 37 de la seconde antémémoire pour convertir une adresse logique accompagnant chaque demande de lecture d'instructions en adresse physique. La présente invention n'est pas limitée aux exem- ples de réalisation qui viennent d'être décrits, elle est au contraire susceptible de variantes et de modifications qui apparaîtront à l'homme de l'art. 28. 2489021 REVENDICATIONS 1 - Agencement d'antémémoires répondant à une suite. d'opérandes et à une suite d'instructions mémorisées dans une mémoire principale pour qu'un processeur central procède au traitement des opérandes en conformité avec les instructions à la manière de pipelines pour produire des demandes de sto- ckage et des demandes de lecture d'opérandes et d'instructions, ces demandes de stockage étant accompagnées de données de sto- ckage et de données d'adresses de mémoire, les demandes de lec- ture d'opérandes et d'instructions étant accompagnées de don- nées d'adresses d'opérandes et d'instructions, respecvitement, comprenant: - une première antémémoire (31) couplée au proces- seur central (21) et chargée prêliminairement avec une partie prédéterminée des opérandes; - un circuit de commande (36) de la première anté- mémoire répondant aux demandes de lecture d'opérandes et aux données d'adresses de lecture d'opérandes concomitants pour commander la première antémémoire; - une seconde antémémoire (32) couplée au proces- seur central 21 et chargée préliminairement avec une partie présélectionnée des instructions; - un circuit de commande (37) de la seconde anté- mémoire répondant aux demandes de lecture d'instructions et aux données d'adresses de lecture d'instructions concomi- tantes pour commander la seconde antémémroire (32); caractérisé en ce qu'il comporte: - un moyen d'antémémoire tampon (40) couplé au pro- cesseur central (21) et répondant aux demandes de stockage pour mémoriser individuellement les données de stockage con- comitantes et les données d'adresses de mémoire afin de pro- duire les données de stockage et les données d'adresses de mémoire mémorisées en paires comme données de sortie de mémoi- re tampon et données d'adresse de sortie de mémoire tampon, respectivement, avec une demande de stockage en mémoire tam- pon; - un premier moyen (46) pour fournir la demande de 29. 2489021 stockage en mémoire tampon et les données d'adresses de sor- tie de mémoire tampon à la mémoire principale (22) et aux cir- cuits de commande des première et seconde antémémoires (36, 37); et - un second moyen (47) pour fournir les données de sortie de mémoire tampon à la mémoire principale (22) et aux première et seconde antémémoires (31, 32); le circuit de commande (36) de la première antémé- moire comprenant: - un premier moyen de sélection (48) couplé au pre- mier moyen (46) et répondant aux demandes de lecture d'opé- rantes et à la demande de mémorisation en mémoire tampon pour sélectionner la demande de stockage en mémoire tampon et les demandes de lecture d'opérandes lorsque ces dernières sont absentes et autrement, respectivement, la demande de stockage en mémoire tampon sélectionnée étant accompagnée par les données d'adresses de sortie de mémoire tampon; et - un premier moyen de production (49) couplé au pre- mier moyen de sélection (48) et à la première antémémoire et à la mémoire principale (31, 22) et répondant aux données d'adresses de lecture d'opérande et aux données d'adresses de sortie de mémoire tampon pour produire les données d'adres- ses de sortie de mémoire tampon et les données d'adresses de lecture d'opérande lorsque la demande de stockage en mémoire tampon est sélectionnée et non sélectionnée par le premier moyen de sélection (48), respectivement, la première antêmé- moire (31) stockant les données de sortie de mémoire four- nies par l'intermédiaire du second moyen (47) dans des adresses spécifiées par les données d'adresses de sortie de mémoire produites, les données d'adresses de lecture d'opé- randes produites étant transférées à la première antémémoire (31); le circuit de commande (37) de la seconde antémé- moire comprenant: - un second moyen de sélection couplé au premier moyen (46) et répondant aux demandes de lecture d'instruc- tions et à la demande de stockage en mémoire tampon pour sé- - 30. 2489021 lectionner cette demande et les demandes de lecture d'ins- tructions lorsque ces demandes de lecture d'instructions sont absentes, et autrement, respectivementla demande de stocka- ge en mémoire tampon sélectionnée étant accompagnée par les données d'adresses de sortie de mémoire tampon; et - un second moyen de production couplé au second moyen de sélection et à la seconde antémémoire et à la mémoi- re principale (31, 22) et répondant aux données d'adresses de lecture d'instructions et aux dônnées d'adresses de sortie de mémoire tampon pour produire des données d'adresses de sortie de mémoire tampon et des données d'adresses de lecture d'instructions lorsque la-demande de stockage en.mémoire tampon est sélectionnée et n'est pas sélectionnée par le se- cond moyen de sélection, respectivement, la seconde antémé- moire (32) stockant les données de sortie de mémoire tampon fournies par l'intermédiaire du second moyen (47) dans des adresses spécifiées par les données d'adresses de sortie de mémoire tampon produites, les données d'adresses de lecture d'instructions produites étant transférées à la seconde anté- mémoire (32). 2 - Agencement selon la revendication 1, caractéri- sé en ce qu'il comprend en outre: - - un premier moyen de coïncidence (51) couplé au moyen d'antémémoire tampon (40) et au circuit de commande (36) de la première antémémoire et répondant aux demandes de lec- ture d'opérandes et aux données d'adresses de lecture d'opéran- des pour comparer les donnéesd'adresses de lecture d'opéran- des aux données d'adresses de mémoire mémorisées dans le mo- yen d'antémémoire tampon (40) de façon à fournir au circuit de commande de la première mémoire (36) un premier signal de coïncidence lorsque les données d'adresses comparées coin- cident; et - un second moyen de coïncidence (52) couplé au moyen d'antémémoire tampon (40) et au circuit de commande (37) de la seconde antémémoire e-t répondant aux demandes de lec- ture d'instructions et aux données d'adresses de lecture d'instructions pour comparer les données d'adresses de lectu- 31. 2489021 re d'instructions aux données d'adresses de mémoire mémorisées dans le moyen d'antémémoire tampon (40) de façon à fournir au signal de commande (37) de la seconde antémémoire un second signal de coïncidence lorsque les données d'adresses compa- rées coïncident; - le circuit de commande (36) de la première antémémoire comprenant un premier moyen de porte (56, 80) couplé au processeur central (21), au premier moyen de coïncidence (51) et au premier moyen de sélection (48) de façon à inter- rompre les demandes de lecture d'opérandes en présence du pre- mier signal de coïncidence et fournir la seule demande de stockage en mémoire tampon au premier moyen de sélection (48) et par conséquent à traiter de préférence la demande de sto- ckage en mémoire 'tampon avant la demande fournie simultané- ment des demandes de lecture d'opérandes; - le circuit de commande de la seconde antémémoire comprenant un second moyen de porte couplé au processeur cen- tral (21), au second moyen de coïncidence (52) et au second moyen de sélection de façon à interrompre les demandes de lec- ture d'instructions en présence du second signal de coinci- dence et fournir la seule demande de stockage en mémoire tam- pon au second moyen de sélection et par conséquent traiter de préférence la demande de stockage en mémoire tampon avant la demande fournie simultanément des demandes de lecture d'ins- tructions. 3 - Agencement selon la revendication 2, caractéri- sé en ce que - le moyen d'antémémoire tampon (40) comprend - un premier moyen de mémoire (41) couplé au pro- cesseur central (21) et répondant aux demandes de stockage pour mémoriser les données d'adresse de mémoire concomitan- tes afin de produire les données d'adresse de sortie de mé- moire tampon; - un premier moyen de fourniture (53) entre le pre- mier moyen de mémoire (41) et les premier et second moyens de coïncidence (51 et 52) et répondant aux demandes de lecture d'opérandes et d'instructions pour fournir aux premier et se- 32. 2489021 cond moyens de coïncidence (51 et 52) les données d'adresses de mémoire mémorisées dans le premier moyen de mémoire (41); - un second moyen de mémoire (42) couplé au proces- seur central (21) et répondant aux demandes de stockage pour mémoriser les données de stockage concomitantes afin de produire des-données de sortie de mémoire tampon; et - un moyen couplé aux premier et second moyens de mémoire et répondant aux données de sortie de mémoire tam- pon et aux données d'adresses de sortie de mémoire tampon pour produire la demande de stockage en mémoire tampon; - l'agencement comprenant en outre un moyen entre le premier moyen de coïncidence (51) et le circuit de comman- de (37) de la seconde antémémoire et entre le second moyen de coïncidence et le circuit de commande (36) de la première antémémoire pour désalimenter sélectivement les circuits de commande (36, 37) des seconde et première antémémoires en présence des premier et second signaux de coïncidence, res- pectivement. 4 - Agencement selon la revendication 3, caractéri- sé en ce que chacune des données d'adresse de mémoire et des données d'adresses de lecture d'opérandes est une donnée d'adresse logique indicatrice d'une adresse logique, l'agen- cement comprenant en outre un moyen de conversion d'adres- ses 70 couplé au processeur central (21) pour convertir les adresses logiques en adresses physiques correspondant aux adresses logiques respectives de façon à produire des don- nées d'adresses physiques spécifiant les adresses physiques respectives; le premier moyen de mémoire (41) comprenant - un premier moyen de mémoire tampon (76) couplé au processeur central (21) par l'intermédiaire du moyen de conversion d'adresses (70) afin de conserver au moins une partie de chacune des données d'adresses logiques et que les premier et second moyens de coïncidence (51, 52) compa- rent les adresses logiques aux-données d'adresses logiques maintenues comme les données d'adresses de stockage mémori- sées dans le moyen d'antémémoire tampon (41, 42); et 533. 489C21 - un second moyen de mémoire tampon (77) couplé au moyen de conversion d'adresses (70) et répondant aux deman- des de stockage afin de conserver les données d'adresses physiques pour que le premier moyen de production (49) et le second moyen de production soient alimentés avec les données d'adresses physiques conservées comme les données d'adres- ses de sortie de mémoire tampon. - Agencement selon la revendication 2, caractérisé en ce que - le moyen d'antémémoire tampon (40) comprend - un premier moyen de mémoire (41) couplé au proces- seur central (21) et répondant aux demandes de stockage afin de mémoriser les données d'adresses de stockage conco- mitantes et produire les données d'adresses de sortie de mé- moire tampon; - un premier moyen de fourniture entre le premier mo- yen de mémoire (41) et le premier moyen de coïncidence (51) et répondant aux demandes de lecture d'opérandes pour four- nir au premier moyen de coïncidence (51) les données d'adres- se de mémoire mémorisées dans le premier moyen de mémoire (41); - un second moyen de mémoire (42) couplé au proces- seur central (21) et répondant aux demandes de stockage pour mémoriser les données de stockage concomitantes et pro- duire les données de sortie de mémoire tampon; - un premier moyen de production couplé aux pre- mier et second moyens de mémoire (41 et 42) et répondant aux données d'adresses de sortie de mémoire tampon et aux don- nées de sortie de mémoire tampon pour produire la demande de stockage en mémoire tampon simultanément aux données d'adresses de mémoire tampon de sortie et aux données de sor- tie de mémoire tampon; - un troisième moyen de mémoire (63) couplé au pro- cesseur central (21) et répondant aux demandes de stockage pour mémoriser les données d'adresse de mémoire concomitan- tes afin de produire les données d'adresses de mémoire tampon; - un second moyen de fourniture entre le troisième 34. 2489021 moyen de mémoire (63) et le second moyen de coïncidence (52) et répondant aux demandes de lecture d'instructions pour four- nir au second moyen de coïncidence (52) les données d'adres- ses de mémoire mémorisées dans le troisième moyen de inémoi- re (63); - un quatrième moyen de mémoire (64) couplé au pro- cesseur central (21) et répondant aux demandes de stockage pour mémoriser les données de stockage concomitantes afin de produire les données de sortie de mémoire tampon; et - un second moyen de production couplé aux troisiè- me et quatrième moyens de mémoire (63 et 64) et répondant aux données d'adresses des ortie de mémoire tampon et aux données de sortie de mémoire tampon pour produire la demande de stockage en mémoire tampon simultanément aux données d'adresses de sortie de mémoire tampon et aux données de sor- tie de mémoire tampon. 6 - Agencement selon la revendication 5, caractéri- sé en ce que chaque donnée d'adresses de mémoire et chaque donnée d'adresses de lecture d'opérandes sont une donnée d'adresse logique indicatrice-d'une adresse logique, l'agence- ment-comprenant en out-re un moyen de conversion d'adresses couplé au processeur central pour convertir les adresses lo- giques en adresses physiques correspondant aux adresses logi- ques respectives afin de produire des données d'adresses phy- siques spécifiant les adresses physiques respectives; - le premier moyen de mémoire (41) comprenant un premier moyen de mémoire tampon (76) couplé au processeur cen- tral par l'intermédiaire du moyen de conversion d'adresses (70) afin de conserver au moins une partie de chacune des don- nées d'adresse logiques pour que le premier moyen de coinci- dence (51) compare les données d'adresses logiques aux don- nées d'adresses logiques conservées comme les données d'adres- ses de mémoire mémorisées dans le moyen d'antémémoire tam- pon (40); et - un second moyen de mémoire tampon (77) répondant aux demandes de stockage et couplé au moyen de conversion d'adresses (70) afin de conserver les données d'adresses phy- - 35 - 2489021 siques pour fournir au premier moyen de production les don- nées d'adresses physiques conservées comme données d'adresses de sortie de mémoire tampon; - le troisième moyen de mémoire comprenant un troisiè- me moyen de mémoire tampon couplé au processeur central par l'intermédiaire du moyen de conversion d'adresses afin de con- server au moins une partie de chacune des données d'adresses logiques afin que le second moyen de coïncidence compare les données d'adresses logiques aux données d'adresse logiques conservées comme données d'adresses de mémoire stockées dans le moyen d'antémémoire tampon; et - un quatrième moyen de mémoire tampon répondant aux demandes de stockage et couplé au moyen de conversion d'adres- ses pour conserver les données d'adresses physiques afin de fournir au second moyen deproductiôn les données d'adresses physiques conservées comme données d'adresse de mémoire tam- pon.