Brevet FR2472233A1 — publié le 19810626

1. La présente invention concerne un dispositif de commande de mémoire pour système de traitement des données, et plus particulièrement un dispositif de commande de mémoi- re pour une pluralité d'antémémoires. Des améliorations récentes apportées à la construc- tion des blocs logiques et le développement de.la-technolo- gie des circuits intégrés et des circuits à l'intégration à grande échelle ont permis d'augmenter la vitesse de traite- ment des ordinateurs. Cela se traduit par un fossé important entre la vitesse de fonctionnement d'une unité centrale de traitement et la vitesse d'accès à la mémoire centrale de grande capacité. Pour réduire un tel fossé, on a proposé un système de traitement des données équipé d'une mémoire tampon à grande vitesse (ou antémémoire) de petite capacité pour sto- cker une copie d'une partie de la mémoire centrale. On trouve- ra des détails sur le système de traitement des données pro- posé dans un article de J. S. Liptay intitulé "Structural aspects of the System/360 Model 85 Il, The cache", IBM Sys- tem Journal, Vol. 7, no 1, pp. 15-21, 1968. Dans le but d'améliorer la vitesse de traitement d'un tel système, l'amé- lioration du temps d'accès à la mémoire centrale ainsi que l'accroissement de la capacité de l'antémémoire sont inévita- blement nécessaires. Dans ce but, le brevet des Etats-Unis d'Amérique n0 3.618.041 a proposé un système perfectionné de 2. traitement des données. Le système proposé est équipé de deux antémémoires pour les données et les mots d'instruction. La vitesse de traitement du système complet ne peut être amé- liorée avec ce système, étant donné qu'on ne s'est pas penché sur le problème du rapport entre les capacités des deux anté- mémoires utilisées, même si la probabilité que la donnée souhaitée n'est pas mémorisée dans l'une ou l'autre antémé- moire (appelée ci-dessous "probabilité d'absence") est main- tenue à un degré identique à celui de l'autre système de trai- tement des données utilisant une antémémoire. De plus, un autre système de traitement des données utilisant la technique de la mémoire virtuelle est décrit dans le brevet des Etats- Unis d'Amérique no 3.317.898. Pour une utilisation efficace de la mémoire centrale, ce système comporte une mémoire répertoire pour traduire une adresse lo- gique pour la mémoire centrale en adresse réelle correspon- dante pour la mémoire centrale afin de reloger dynamiquement divers programmes sur la mémoire centrale et par là utiliser la mémoire centrale en mémoire virtuelle ayant une capacité supérieure à la capacité physique de la mémoire centrale (voir les détails d'une telle opération de traduction dans le bre- vet des Etats-Unis d'Amérique n0 3.761.881). Pour ce système de traitement des données, l'adoption de deux antémémoires peut être également considérée. Cependant, le système ainsi obtenu présente les mêmes inconvénients et cela pour les mêmes raisons, que le cas précédent. Un objet de la présente invention est, par consé- quent, de prévoir un dispositif perfectionné de commande de mémoire capable d'améliorer la vitesse globale de traitement d'un système de traitement des données par l'utilisation de deux antémémoires ayant la même capacité. Selon l'un des aspects de la présente invention, on prévoit un dispositif de commande de mémoire pour système de traitement des données, qui est placé entre une unité de trai- tement comprenant une unité d'extraction d'instruction, une unité d'extraction d'opérande et une unité d'exécution; et une mémoire centrale. Le dispositif de commande selon la présen- 3. te invention comprend une antémémoire de données pour stocker la copie d'une partie d'une pluralité de données mises en mémoire dans la mémoire centrale; une antémémoire d'instruc- tions ayant la même capacité de mémorisation que l'antémé- moire de données pour stocker la copie d'une partie d'une plu- ralité de mots d'instruction stockés dans la mémoire centra- le; et un moyen pour accéder à l'une ou l'autre de l'anté- mémoire de données et de l'antémémoire d'instructions en ré- ponse à une demande de lecture faite par l'unité de traite- ment à la mémoire centrale, demande concernant la lecture d'un mot d'instruction ou d'une donnée. La présente invention sera bien-comprise lors de la description suivante faite en liaison avec les dessins ci- joints dans lesquels: La figure 1 est un schéma sous forme de blocs d'un premier mode de réalisation de la présente invention; La figure 2 est un schéma représentant en détail une partie du premier mode de réalisation de la présente inven- tion; Les figures 3A et 3B représentent les relations en- tre un arrangement d'adresses et un arrangement de données de la figure 2; Les figures 4A et 4B sont des diagrammes représen- tant le fonctionnement de chaque structure des figures 3A et 3B; Les figures 5A et 5B sont des diagrammes de compa- raison du fonctionnement d'un système de traitement de don- nées basé sur la présente invention avec celui d'un système de traitement des données classique; Les figures. 6, 7 et 8 sont des courbes décrivant les avantages présentés par la présente invention; La figure 9 est un schéma d'un second mode de réa- lisation de la présente invention; Les figures lOA à lOD sont des diagrammes représen- tant la relation entre une mémoire tampon de traduction, un arrangement d'adresses et un arrangement de données; et La figure 11 est un diagramme représentant les incon- 247223 3 4. vénients du second mode de réalisation de la présente in- vention. Dans toutes les figures, des numéros de référence identiques représentent des éléments de structure identiques. En liaison avec la figure 1, le premier mode de réa- lisation de la présente invention comprend une unité d'ex- traction d'instruction 1, des antémémoires 2 et 6, une mémoi- re centrale 3, une mémoire tampon d'instruction 4, une uni- té d'extraction d'opérande 5,une mémoire tampon d'opérande 7, et une unité d'exécution 8. Les antémémoires 2 et 6 sont pré- vues, respectivement, pour le stockage des données et des instructions, de sorte que leurs capacités peuvent être iden- tiques afin qu'il y ait le même nombre d'unités de stockage de blocs et le même nombre de multiplets à mémoriser dans chaque unité de stockage de blocs. Les antémémoires 2 et 6 seront décrites en détail ultérieurement. On procèdera maintenant à la description du fonc- tionnement de la présente invention lorsqu'elle est appli- quée à un système de traitement des données câblé. On trouve- ra des détails d'un tel système de traitement des données dans le brevet des Etats-Unis d'Amérique no 3.618.041, en parti- culier aux figures 7A et 7B de ce brevet. Plus spécifiquement, le mode de réalisation de la présente invention sera décrit en liaison avec un train d'instructions sélectionné dans une pluralité de trains, qui fonctionnent en parallèle les uns avec les autres dans le système câblé. En réponse à une adresse d'instruction et à une de- mande de lecture d'instruction provenant de l'unité d'extrac- tion d'instruction 1 et transmises à l'antémémoire 2, une instruction est donnée à la mémoire tampon d'instruction 4 par l'intermédiaire d'une ligne 21 provenant de l'antémémoire 2 en présence du mot d'instruction désiré dans l'antémémoire 2. En l'absence de mot d'instruction dans l'antémémoi- re 2, une adresse est donnée à la mémoire centrale 3 par l'intermédiaire d'une ligne 22 de façon à donner un mot d'ins- truction à la mémoire tampon 4 et à l'antémémoire 2 à partir 5. de la mémoire centrale 3 par l'intermédiaire d'une ligne 31. Le mot d'instruction est alors transféré de la mémoi- re tampon 4 à l'unité d'extraction d'opérande 5 afin de déco- der l'instruction et de développer une adresse d'opérande. Cette adresse d'opérande pour la lecture de la mémoire cen- trale et une demande de lecture d'opérande sont alors en- voyées par l'unité 5 à l'antémémoire 6 afin qu'il y ait lec- ture de la donnée correspondante. En présence de la donnée désirée dans l'antémémoire 6, la donnée est envoyée de l'antémémoire 6 à la mémoire tam- pon d'opérande 7 par une ligne 61. En l'absence de la donnée désirée dans l'antémémoire 6, une adresse est envoyée de cette antémémoire à la mémoi- re centrale 3 par une ligne 62 de façon que la donnée dési- rée soit envoyée dans la mémoire tampon 7 et l'antémémoire 6 par la mémoire centrale 3 par l'intermédiaire d'une ligne 32. Le mot d'instruction et la donnée d'opérande dans la mémoire tampon 7 sont envoyés de cette mémoire à l'unité e d'exécution 8 pour que l'instruction soit exécutée. En ré- ponse à une demande d'extraction de donnée provenant de l'uni- té 8, une adresse de lecture de la donnée, en plus d'une de- mande de lecture de donnée, est envoyée à l'antémémoire 6 par l'unité 8 par l'intermédiaire d'une ligne 81. En l'absence de la donnée désirée dans l'antémémoi- re 6, la donnée lue de cette antémémoire est envoyée à l'uni- té 8 par l'intermédiaire d'une ligne 63 à partir de l'anté- mémoire 6. En l'absence de la donnée désirée dans l'antémé- moire 6, la donnée est communiquée à la fois à l'unité 8 et à l'antémémoire 6 par la mémoire centrale 3 par l'intermé- diaire de la ligne 32. Comme représenté en figure 2,chaque antémémoire 2 et 6 a une structure semblable. En liaison avec la figure 2, l'antémémoire 2 (ou l'antémémoire 6) comprend un arrange- ment d'adresses 204 et un arrangement de données 208. L'ar- rangement de données 208 comporte m ensembles et n unités de stockage de blocs 2081 par ensemble. (On appellera ci-après chaque unité de stockage de blocs "compartiment"). Ces uni- 6. tés de blocs 2081 peuvent mémoriser une pluralité de multi- plets. Le contenu lu dans la mémoire centrale 3 est stocké dans l'unité 2081 de l'arrangement de données 208. Plus spé- cifiquement, la copie d'une partie des mots d'instruction de la mémoire centrale 3 est stockée dans l'antémémoire 2, alors que la copie d'une partie des données de la mémoire centrale 3 est stockée dans l'antémémoire 6. L'arrangement d'adresses 204 et l'arrangement de données 208 ont une structure simi- laire. De plus, chaque adresse pour l'accès à chaque bloc de la mémoire centrale 3 est mémorisée dans chacune des uni- tés d'adresses des blocs 2041 de l'arrangement 204. Chaque unité 2041 correspond à chaque unité 2081 de l'arrangement de données 208. L'adresse d'instruction provenant de l'unité 1, l'adresse d'opérande provenant de l'unité 5 ou l'adresse provenant de l'unité 8, sont placées dans un registre d'adres- ses physiques 201. Les parties 2020 et 2030 de la zone d'adresses du registre 201 sont utilisées pour sélectionner chaque numéro d'ensemble pour l'arrangement d'adresses 204 et l'arrangement de données 208. Les contenus de toutes les unités de blocs dans le même ensemble sélectionné à l'arran- gement 204 sont lus en parallèle. Chaque contenu sélectionné sur les lignes 2040-1 à 2040-n est comparé à une partie 2010 du contenu du registre 201 par les circuits 205-1 à 205-n,et les résultats de cette comparaison apparaissent sur les li- gnes 2050-1-2050-n. D'autre part, le numéro d'ensemble pour l'arrange- ment de données 208 est également sélectionné par le contenu 2030, et par conséquent, les contenus de toutes les unités de blocs désignées par le contenu 2030 sont lus en parallèle. Seule l'une des sorties 2080-1 à 2080-n des unités de blocs ainsi lues est sélectionnée dans les circuits 209-1 à 209-n en réponse aux signaux de résultats de comparaison fournis par les lignes 2050-1 à 2050-n, et est enregistrée dans un registre local 211 par l'intermédiaire-d'une porte OU 210. Si le mot d'instruction ou la donnée d'opérande désiré n'existe pas dans la mémoire 208,une adresse est donnée à la 7. mémoire centrale 3 à partir du registre 201, de sorte que le mot d'instruction ou la donnée souhaitée est lu dans l'unité 3 et donné à l'antémémoire 2 ou 6 par l'intermédiaire de la ligne 31 ou de la ligne 32. Des signaux C1 - Cn sont utili- sés pour sélectionner la seule unité de stockage vide des unités 2081 de l'ensemble sélectionné par le contenu 2030. Les signaux C1 - Cn proviennent d'un circuit de gestion d'an- témémoire (non représenté). On pourra se reporter, pour avoir des détails sur la génération des signaux C1 - Cn par le circuit de gestion d'antémémoire, à un article de J. Gecsei, D.R. Slutz et I.L. Traiger, intitulé "Evaluation techniques for storage hierarchies",IBM System Journal n0 2, 1970, pp. 78-117. Le mot d'instruction ou la donnée cité ci-dessus provenant de la mémoire centrale 3 est stocké dans l'unité sélectionnée 2081. Chaque adresse pour accéder à la mémoire centrale est stockée dans chacune des unités d'adresses de blocs 2041 de l'arrangement d'adresses 204 correspondant à chacune des unités 2081 par l'intermédiaire de la ligne 2010 et des portes 202-1 à 202-n. Si l'on suppose maintenant que les registres 201 et 211 fonctionnent en synchronisme avec chaque horloge et retard logique, c'est-à-dire que le délai de propagation de signal entre les registres 201 et 211 est égal à un cycle d'horloge, chaque antémémoire 2 et 6 a la structure repré- sentée en figure 3B. Chaque antémémoire 2 et 6 fonctionne en synchronisme avec chaque cycle de machine (égal à chaque cycle d'horloge). Le fonctionnement de l'antémémoire 2 (ou 6) repré- sentée en figure 3B est décrit ci-après en liaison avec la figure 4B. Une première adresse 1 provenant des unités 1 (5 ou 8) est fournie à l'arrangement d'adresses 204 et, en même temps, l'adresse 1 est fournie à l'arrangement de données 208, de sorte que les arrangements 204 et 208 peuvent fonc- tionner en parallèle à la même adresse. En conséquence, au cours du premier cycle de machine, les fonctionnements en parallèle des arrangements 204 et 208 sont effectués pour la 8. même adresse de l'antémémoire 2 (ou 6) désignée par la pre- mière adresse 1. Pendant le second cycle de machine, les fonctionnementsen parallèle des arrangements 204 et 208 sont effectués pour la même adresse de l'antémémoire 2 (ou 6) désignée par la seconde adresse 2. En liaison avec la figure 3A, un agencement de l'arrangement d'adresses 204 et de l'arrangement de données 208 est fait dans le cas o des horloges identiques sont fournies en parallèle aux circuits de comparaison 205-1 à 205-N représentés en figure 2, et chaque horloge est ap]liquée séquentiellement aux registres 201 et 211. En conséquence, les arrangements 204 et 208 fonctionnent en parallèle aux adresses différentes représentées en figure 4A. En liaison avec les figures 1 et 2 et avec les figures 4A et 4B,une première adresse 1 est fournie à l'arrangement 204 à partir de l'unité 1 (5 ou 8). Après l'écoulement d'un cycle d'horlo- ge, depuis la fourniture de l'adresse 1, une adresse corres- pondant à la première adresse en provenance de l'arrangement 204 est appliquée à l'arrangement de données 208. Dans le mé- me cycle d'horloge que la fourniture d'adresse, c'est-à-dire dans le second cycle d'horloge, une seconde adresse 2 est ap- pliquée à l'arrangement 204. Il en résulte qu'une troisième adresse 3 est fournie à l'arrangement d'adresses 204 dans le même cycle d'horloge que le cycle de fourniture de la seconde adresse 2 à l'arrangement 208. Si l'on suppose que chaque antémémoire 2 et 6 re- présentée en figure 1 est constituée de l'antémémoire répré- sentée en figure 3B, et que deux mots d'instruction sont ex- traits à chaque opération d'extraction d'instruction, le fonc- tionnement du système de traitement des données représenté en figure 5A est effectué. Par rapport au fonctionnement repré- senté en figure 5C de l'antémémoire classique représentée en figure 3B, le fonctionnement représenté en figure 5A permet d'améliorer l'efficacité de fonctionnement ou le débit du système de traitement des données. Si l'on suppose que chaque antémémoire 2 et 6 re- présentée en figure 1 est constituée de l'antémémoire repré- sentée en figure 3A, le débit du système de traitement des données peut être grandement amélioré, comme représenté en figure 5B, par rapport au débit obtenu avec une antémémoire classique. Dans les figures 5A, 5B et 5C, I représente l'opé- ration d'extraction d'instruction pour l'unité 1 de la figure 1; Il, l'opération de lecture de l'arrangement d'adresses pour l'unité 1 représentée en figure 1; I2 l'opération de lec- ture de l'arrangement de données pour l'unité 1 de la figure 1; D, l'opération de décodage d'instruction au décodeur (non représenté); C l'opération d'extraction d'opérande pour l'uni- té 5; C1 l'opération de lecture de l'arrangement d'adresses pour l'extraction des données d'opérande;C2, l'opération de lecture de l'arrangement de données pour l'extraction de don- nées d'opérande;et E,1 'opération d'exécution à l'unité 8 représentée en figure 1. Comme décrit précédemment, les antémémoires 2 et 6 représentées en figure 1 ont une capacité égale, ou, en d'au- tres termes, le nombre d'unités de blocs et le nombre de mul- tiplets par bloc sont égaux pour chacune des deux antémémoi- res. Il en résulte que l'agencement de ces antémémoires sé- parées 2 et 6 présente les avantages suivants: La probabilité d'absence Xp dans les antémémoires séparées est la même ou est inférieure à-la probabilité d'absence Xq de l'antémémoire classique, laquelle n'est pas divisée par deux (c'est-à-dire une fois pour les mots d'instruction et une autre fois pour les données). Cela veut dire que la probabilité d'absence peut devenir plus grande bien que les antémémoires 2 et 6 aient la même capacité. Le rapport e de la probabilité Xp à la probabilité Xq est donné par la relation suivante e =x /x p q Par conséquent, si e o k est le nombre de blocs d'instruction stockés dans l'an- témémoire séparée ou dans l'antémémoire classique; Z le nom- bre de blocs de données stockés dans l'aitémémoire séparée ou dans l'antémémoire classique; p (k, Z) la probabilité qu'il y a k blocs d'instructions et Z données d'instruc- tions dans l'antémémoire séparée et q (k, Z) la probabilité qu'il y a k blocs d'instructions et Z blocs de données dans 1' antémémoire classique. De plus, ni(k) et nD(Z) sont donnés expérimentalement par les relations suivantes: Ti(k) =1 -1 - - Ti(l))k - SI (k = 1, 2...) TD(n) = 1 - (1 (1) )Z - XD (Z = 1, 2...) nI(0) = np(0) = o o ni(1), D(1), Iet AD sont constants et I - i(1), 1 - nD(1) = 0,2 - 0,8 kI, XD = 1 - 3 lorsqu'ils sont mesurés réellement en utilisant les program- mes de langage évolués tels que le FORTRAN et le COBOL. Si l'on suppose maintenant que l'opération d'accès pour la mémoire centrale est exécutée avec une largeur de 8 multiplets dans le système de traitement des données, les paramètres B et BD sont respectivement égaux à 0,26 et I D 0,64,valeurs obtenues par un calcul basé sur la méthode dite Scientific Gibson Mixture alors que les paramètres BI et BD prennent les valeurs 0,19 et 0,64 dans la méthode dite Bus- siness Mixture (voir colonne 1 du brevet des Etats-Unis d'Amérique n 3.618.041). - - Comme le montrent les figures 6 et 7, il est évident n que e est égale à celle de l'antémémoire 6. Dans ce cas la capaci- té de l'antémémoire est Y.n (Y est le nombre de multiplets par bloc; et n le nombre total de blocs égal à n = nI + nD)- De plus, n est le nombre d'unités de blocs de l'antémémoire 2,De plus, nD est le nombre d'unités de blocs de l'antémémoire 6. 2, et nD est le nombre d'unités de blocs de l'antémémoire 6. La figure 8 représente la relation entre le délai logique et la capacité de l'antémémoire du type ensemble as- sociatif bien connu ayant une capacité de 32 octets par bloc. Inutile de dire que la réduction du délai logique contribue à la diminution du cycle de la machine. Comme indiqué, le dé- lai est égal à 1 lorsque l'antémémoire a une capacité totale de 60 kilooctets. On trouvera des détails de cette techni- que associative dans le brevet des Etats-Unis d'Amérique n 3.588.829. Ainsi, on comprendra que le délai diminue de 7 % pour la mémoire de 32 K et de 11 % pour la mémoire de 16 K respectivement, par rapport à la mémoire de 64 K. La capacité de l'antémémoire séparée est équivalente à la moitié de la capacité de l'antémémoire classique en terme de délai logique. Par conséquent, comme cela apparaît dans la figure 8, lors- que nI = nD, le cycle d'horloge pour l'antémémoire séparée peut être raccourci de 5 à 7 % par rapport au cycle de l'an- témémoire classique ayant la même capacité que l'antémémoire séparée. Si l'on suppose que le temps moyen d'exécution d'une instruction est T; la probabilité d'absence de l'antémémoire est X; le cycle d'horloge est t et que les variables sont AT, AX et At, dans le système de traitement de données, on obtient la formule suivante: AT = At + K AX T t X o K est une constante, et est égal, dans un système de trai- tement des données à grande échelle, à la valeur empirique suivante: K = 0,1 -0,2. Si chaque antémémoire 2 et 6 (antémémoires séparées) a la même capacité, c'est-à-dire la moitié de la capacité 12. d'une antémémoire classique, on tire des figures 6 à 8 Jees équations suivantes LX/X *àt/t = -(0,05 - 0,07). Par conséquent, le système de traitement des données avec une telle antémémoire séparée permet de réduire le temps d'exécution d'une instruction d'au moins 5 à 7 % par rapport à une antémémoire classique ayant la même capacité. En liaison avec la figure 9, le second mode de réa- lisation de la présente invention (mémoire tampon de traduc- tion 90) comprend un registre d'adresses logiques 91, un dé- codeur d'adresses 92,. un arrangement de mémoire tampon de tra- duction 93,des circuits de comparaison 94-1 à 94-mT, des por- tes ET 95-1 à 95-mT% et une porte OU 96. Dans ce mode de réa- lisation, la mémoire tampon est divisée en deux; une mémoire pour l'opération d'accès pour les données et l'autre pour les mots d'instruction. La liaison entre la mémoire tampon 90 et les antémémoires 2 et 6 utilisées dans le premier mode de réa- lisation est représentée dans les figures lOA à 10D. Dans le système de traitement des données suivant une technique à mé- moire virtuelle, une adresse de la mémoire centrale est appli- quée sous forme: nom de page + déplacement ou nom de seg- ment + déplacement. Il en résulte une traduction de la page ou du nom de segment en adresse physique correspondante de la mémoire centrale 3. La mémoire tampon 90 exécute cette opéra- tion de traduction. Le fonctionnement du second mode de réa- lisation de la présente invention sera maintenant décrit avec davantage de détails. Lorsqu'une partie de la zone de page ou de nom de segment au registre d'adresses logiques 91 est don- née au décodeur par l'intermédiaire de la ligne 911, un ensem- ble est sélectionné parmi les ensembles 1 - rT de l'arrange- ment de mémoire 93. Les contenus des compartiments 1 - MT de l'ensemble sélectionné sont lus en parallèle. Dans chacun des compartiments une paire d'informations d'adresse est stockée qui est constituée d'une partie de l'adresse logique et de l'adresse physique totale de la mémoire centrale 3 correspon- dant à l'adresse logique. 13. Chaque sortie de l'arrangement 93 par les lignes 931 et 933 est comparée au contenu de la ligne 912 dans le circuit de comparaison 94-1 à 94 mT. Ensuite, une adresse réelle provenant de l'arrangement 93 par l'intermédiaire des lignes 932 à 934 est sélectionnée par les portes 95-1 à 95-mT en réponse aux contenus provenant des lignes 941 à 942. Le ré- sultat de la sélection constitue la sortie de la mémoire tam- pon 90 transmise par la porte 96 et apparaît sur une ligne 961. La zone de déplacement 913 du registre 91 est appliquée direc- tement aux antémémoires 2 et 6. Les sorties apparaissant sur les lignes 961 et 913 sont communiquées au registre 201 re- présenté en figure 2. La connexion entre la mémoire tampon citée ci-dessus, l'arrangement d'adresses (AD) et l'arrange- ment de données (AD) représenté dans les figures lOA (ou 10C) correspond à la connexion entre l'arrangement d'adresses et l'arrangement de données représentée dans la figure 3A (ou 3B). Si l'on suppose que le contenu du registre 201 de la figure 2 est le même que l'adresse logique pour la mémoi- re centrale 3, la connexion entre la mémoire tampon, l'arran- gement d'adresses et l'arrangement de données représenté en figure lOB (ou lD) correspond à la connexion entre l'arran- gement d'adresses et l'arrangement de données de la figure 3A (ou 3B). Dans l'exemple représenté en figure lOA, la mémoire tampon 90 et les arrangements 204 et 208 fonctionnent séquen- tiellement en réponse à trois horloges consécutives. L'arran- gement 208 de la figure lOB fonctionne pendant le cycle d'hor- loge suivant, après que la mémoire tampon 90 et l'arrangement 204 aient fonctionné en parallèle pendant le même cycle d'hor- loge. Alors que, dans la figure lC, la mémoire tampon fonc- tionne à un cycle d'horloge, et les arrangements 204 et 205 fonctionnent en parallèle pendant le cycle d'horloge sui- vant, et dans la figure lOD toutes les mémoires tampons 90 et les arrangements 204 et 208 fonctionnent en parallèle. Dans la construction représentée dans les figures lOB et lD, la mémoire tampon est divisée en deux (une partie pour les 14. instructions et l'autre pour les données), en plus de l'uti- lisation de l'antémémoire séparée pour l'exécution de l'ex- ploitation du système de traitement des données représenté dans les figures 5B et 5A respectivement. Dans la construc- tion représentée dans les figures lOA et lC, la division de la mémoire tampon permet un fonctionnement aussi efficace que celui des figures 5B ou 5A. Si la mémoire tampon n'est pas divisée comme représenté en figure 11, un conflit entre l'extraction d'instruction et l'extraction de données se pro- lo duit dans la mémoire tampon, et l'efficacité du système de traitement des données est dégradée d'une manière analogue à celle représentée en figure 5C. La mémoire centrale 3 et les antémémoires 2 et 6 peuvent être respectivement composées de la mémoire centrale 2 et des mémoires 112, 114, 116 et 118 représentées en figu- re 1 dans le brevet des Etats-Unis d'Amérique no 3.618.041. La mémoire tampon 90 peut également être constituée du tableau de traduction 14 décrit dans le brevet des Etats-Unis d'Amé- rique no 3.761.881. La présente invention n'est pas limitée aux exemples de réalisation qui viennent d'être décrits, elle est au con- traire susceptible de variantes et de modifications qui appa- raîtront à l'homme de l'art. 15. REVENDICATIONS - 1 - Dispositif de commande de mémoire pour système de traitement des données placé entre une unité de traite- ment comprenant une unité d'extraction d'instruction (1), une unité d'extraction d'opérande (5) et une unité d'exécution (8), et une mémoire centrale (3), caractérisé en ce qu'il comprend - une antémémoire de données (2) pour mémoriser la copie d'une partie d'une pluralité de données stockées dans la mémoire centrale (3); - une antémémoire d'instructions (6) ayant la même capacité de mémoire que l'antémémoire de données pour mémori- ser la copie d'une partie d'une pluralité de mots d'instruc- tion stockés dans la mémoire centrale (3); et - un moyen (4, 7) pour accéder à l'une ou l'autre de l'antémémoire de données et de l'antémémoire d'instructions en réponse à une demande de lecture donnée par l'unité de traitement à la mémoire centrale, pour la lecture d'un mot d'instruction ou d'une donnée. 2 - Dispositif de commande de mémoire pour un sys- tème de traitement des données placé entre une unité de trai- tement comprenant une unité d'extraction d'instruction (1), une unité d'extraction d'opérande (5) et une unité d'exécu- tion (8), et une mémoire centrale (3), caractérisé en ce qu'il comprend: - un moyen d'adresse d'instruction (204) pour tra- duire une adresse logique pour la lecture d'un mot d'instruc- tion mémorisé dans la mémoire centrale en adresse réelle de cette mémoire; et - un moyen de traduction d'adresse de données (208) pour traduire une adresse logique pour la lecture d'une don- née-stockée dans la mémoire centrale en adresse réelle de cet- te mémoire. 3 - Dispositif de commande de mémoire pour système de traitement des données placé entre une unité de traite- ment comprenant une unité d'extraction d'instruction. (1), une unité d'extraction d'opérande (5) et une unité d'exécution 16. (8), et une mémoire centrale (3), caractérisé en ce qu'il comprend: - une antémémoire de données (2) pour mémoriser la copie d'une partie d'une pluralité de données stockées dans la mémoire centrale; - une antémémoire d'instructions (6) ayant la mê- me capacité que l'antémémoire de données pour mémoriser la copie d'une partie d'une pluralité de mots d'instruction mémorisés dans la mémoire centrale; - un moyen pour accéder (4, 7) à l'une ou l'autre de l'antémémoire de données ou de l'antémémoire d'instructions en réponse à une demande de lecture donnée par l'unité de traitement à la mémoire centrale pour la lecture d'un mot d'instruction ou d'une donnée; - un moyen d'adresses d'instruction (204) pour tra- duire une adresse logique pour la lecture d'un mot d'instruc- tion stocké dans la mémoire centrale en adresse réelle de la mémoire centrale; et - un moyen de traduction d'adresse de donnée (208) pour traduire une adresse logique pour la lecture d'une don- née mémorisée dans la mémoire centrale en adresse réelle de cette mémoire.