Brevet FR2664719A1 — publié le 19920117

-4 l DESCRIPTION "DISPOSITIF DE CONTROLE POUR UNE MEMOIRE TAMPON A PARTITION- NEMENT RECONFIGURABLE". L'invention concerne un dispositif de contrôle pour une mémoire tampon munie de moyens de partitionnement re- configurable qui distinguent des informations de type "ins- truction" et des informations de type "donnée", et de moyens de remplacement qui remplacent des informations stockées par des informations courantes selon au moins un algorithme de remplacement. Les méthodes de remplacement s'appliquent plus particulièrement à des systèmes comportant une mémoire hiérar- chisée et/ou une mémoire virtuelle Elles concernent donc en particulier la plupart des ordinateurs Elles permettent de gérer la mémoire paginée (mémoire centrale), les caches (mé- moire cache) et les traducteurs d'adresses (Translation Look- aside Buffers TLB) de la plupart des ordinateurs. Un système à mémoire hiérarchisée comporte un processeur et un organe de stockage d'informations ayant une grande capacité de stockage appelé mémoire de masse (disques durs, bandes) Un tel organe de stockage est bien plus lent que le processeur, et il n'est pas possible de concevoir un système basé uniquement sur ces deux éléments On intercale donc entre le processeur et cet organe de stockage un certain nombre de niveaux de mémoire, ce nombre dépendant de la complexité du système considéré Plus le niveau de mémoire considéré est proche du processeur plus ce niveau a une vites- se de fonctionnement élevée, mais plus il a une capacité de stockage faible De ce fait chaque niveau de mémoire ne contient qu'une partie des informations que contient le niveau qui le suit immédiatement du côté de la mémoire de masse La capacité d'un niveau étant limitée, il s'ensuit que lorsque le processeur délivre une adresse qui est absente de ce niveau, le système de gestion de la mémoire doit chercher l'informa- tion dans un niveau amont et la charger dans ledit niveau Si i a ledit niveau est plein, le système de gestion de la mémoire doit supprimer l'information qui était présente dans un des éléments-mémoire constitutifs de la mémoire tampon afin d'al- louer sa place à la nouvelle information Il est donc néces- saire de définir une méthode de remplacement qui permette de conserver-dans les niveaux proches du processeur les informa- tions les plus utiles Lorsqu'il est nécessaire d'aller la chercher très en amont dans le système hiérarchisé, il y a une perte considérable de temps. Un problème de remplacement similaire se pose dans les systèmes à mémoire virtuelle Pour éviter de traduire à chaque accès le numéro de page virtuelle en numéro de page physique, on conserve dans un petit registre tampon appelé traducteur d'adresses (Translation Lookaside Buffers TLB) quelques couples "page virtuelle, page physique" qui ont été utilisés Quand une nouvelle page est adressée il faut choisir le couple à supprimer du traducteur d'adresses. Différents algorithmes de remplacement ont été proposés notamment ceux décrits dans "Cache memories, A J SMITH, Computing Surveys, vol 14, N 03, 1982 ". Les trois algorithmes les plus classiques sont LRU (Least Recently Used en langue anglaise): cet algorithme consiste à remplacer l'élément qui est resté inutilisé le plus longtemps. FIFO (First In First Out): cet algorithme consiste à remplacer l'élément qui est présent depuis le plus longtemps. Random: cet algorithme remplace un élément au hasard. Il est possible de comparer les algorithmes entre eux en déterminant un taux d'échec c'est- à-dire le taux d'adresses appelées par le processeur qui ne sont pas trouvées dans la mémoire considérée et qu'il faut donc aller chercher dans une mémoire placée en amont Dans la plupart des cas l'algorithme LRU donne les meilleures performances. Dans le cas le plus courant, une mémoire tampon contient à la fois des instructions et des données numériques. Le terme "information" sera utilisé pour désigner indistincte- ment deux types d'informations soit une "instruction" soit une "donnée" Le contenu de la mémoire tampon évolue au fil du temps suivant l'algorithme de remplacement qui tient compte des adresses présentées en entrée mais qui ne tient générale- ment pas compte du type d'informations utilisées De ce fait, on n'obtient pas des performances optimales (c'est-à-dire que le pourcentage d'accès à la mémoire conduisant à un échec est assez élevé) Ce résultat peut s'expliquer de la manière sui- vante: beaucoup de programmes conduisent, quand ils sont exé- cutés par un processeur, à ce que la plus grande partie des accès du processeur à la mémoire concerne des instructions, tandis que peu concernent des données De ce fait, les données contenues dans la mémoire ont tendance à être trop remplacées par des instructions et quand on veut ensuite les réutiliser elles sont absentes de la mémoire et on obtient donc un échec Inversement, pour certains autres programmes, il se peut que le taux d'échecs soit élevé parce que la mémoire contient trop de données et pas assez d'instructions. Une méthode de gestion d'informations dans une mémoire tampon qui distingue les instructions et les données a été proposée dans l'article "Fast memory organization" P Favre et R Kuhne IBM Technical Disclosure Bulletin vol 21 n 02 1978 Elle consiste à utiliser une mémoire tampon formée de modules, les uns étant attribués aux instructions et les autres étant attribués aux données à l'aide de deux bus d'in- formations Un bloc de contrôle de modules détermine cette at- tribution. Mais une telle méthode de gestion présente des inconvénients En effet, dans une configuration donnée, chaque partie de mémoire tampon attribuée aux instructions et aux données a une taille fixe, chaque module attribué à l'un ou à l'autre type d'informations ne peut recevoir que le type d'in- formations qui lui est attribué Or les pourcentages d'accès à des instructions et à des données varient très fortement suivant le programme exécuté De ce fait, pour la plupart des programmes, les tailles attribuées aux deux parties sont mal adaptées, ce qui se traduit par un taux d'échecs généralement plus élevé qu'avec une mémoire tampon unique. Lorsque la configuration-dans laquelle se situe une telle mémoire tampon doit être changée il est nécessaire OS de modifier l'affectation de certains -modules ce qui nécessite d'effectuer des opérations de sauvegarde de la totalité de chaque module modifié La durée de telles opérations constitue une limitation non négligeable de ce type de structure Il est également nécessaire de reconfigurer les portes d'aiguillage. Si leur nombre est élevé cette durée est également néfaste à un fonctionnement rapide de la mémoire tampon La mémoire tam- pon selon cet art antérieur opère en séparant instruction/don- nées mais ne prend pas en compte l'organisation des mémoires tampon classiques pour lesquelles les éléments mémoire sont organisés en plusieurs classes, (les éléments mémoire de cha- que classe étant repérés par une clé), afin de réduire le nom- bre des comparateurs nécessaires au repérage des informations stockées La mémoire tampon de l'art antérieur est ainsi o- rientée pour un fonctionnement en mode associatif et non pour un mode de fonctionnement par classes. D'autre part la séparation de la mémoire tampon en deux blocs à affectation prédéterminée induit des problèmes de cohérence entre le contenu des deux blocs En effet chaque élément-mémoire de base d'une mémoire tampon va contenir un groupe de mots ayant des adresses successives Il faut donc bien considérer que lorsqu'on stipule qu'une information est de type "instruction" (respectivement de type "donnée") cela se rapporte au fait que c'est une information de type "ins- truction" qui est concernée par le remplacement Or la struc- ture habituelle d'une mémoire tampon étant telle qu'un élé- ment-mémoire peut contenir un groupe de mots d'informations, il n'est pas exclu qu'un mot de type "instruction" (respecti- vement de type "donnée") concerné fasse partie d'un groupe de mots dans lequel existe également des mots de type "donnée" (respectivement de type "instructions"). Une information du type opposé au type concerné par l'opération en cours peut ainsi être chargée dans la partie qui ne lui était pas attribuée Ainsi le même bloc d'informations peut être chargé à la fois dans l'une et l'au- tre partie, une première fois à l'appel d'une "instruction" et une seconde fois à l'appel d'une "donnée" Si alors la valeur OS du bloc d'informations doit être modifiée, la mise à jour doit être opérée dans les deux parties à la fois Ceci conduit à un système beaucoup plus compliqué que dans le cas d'une mémoire tampon qui n'est pas séparée en deux parties Le fait que des informations identiques existent dans les deux parties de la mémoire tampon réduit virtuellement sa taille globale. Le problème posé consiste donc à réduire au maxi- mum le taux d'échecs en prenant en compte le type des informa- tions, en évitant lesdits inconvénients liés à ce mode de rem- placement. La solution à ce problème consiste en ce que les moyens de partitionnement rendent disponible, pour au moins un desdits types d'informations appelé alors type limité, une quantité limitée de mémoire, délocalisée dans la mémoire tam- pon, et, lorsqu'une information courante a à être chargée alors que ladite quantité limitée a été dépassée par les in- formations stockées de type limité, les moyens de remplacement la chargent en priorité en remplaçant une information stockée remplaçable de type limité. Ainsi avantageusement on réduit le taux d'échecs en tenant compte du type des informations et également on ré- duit la complexité de mise en oeuvre sans dupliquer les infor- mations La cohérence est ainsi satisfaite. Avantageusement la mémoire tampon peut être cons- tituée de plusieurs classes d'éléments-mémoire. Avantageusement lorsqu'on désire reconfigurer le partitionnement des informations il suffit de charger une nou- velle valeur de la quantité limitée, ce qui ne nécessite aucu- ne sauvegarde des informations déjà stockées, la mémoire tam- pon évoluant alors, par le fait du remplacement, vers le nou- veau partitionnement La durée de reconfiguration de la mémoi- re tampon est ainsi très rapide sans autre intervention exter- ne que le chargement de la nouvelle valeur de la quantité limitée La mémoire tampon possède ainsi une plus grande sim- plicité de réalisation. La quantité limitée de mémoire est déterminée par une valeur de remplissage qui est réactualisable Ainsi dans le cas de l'exécution d'un programme qui coopère avec une tel- le mémoire tampon il est possible de dimensionner les parties- respectives attribuées aux instructions et/ou aux données. Cette valeur peut être fixée avant l'exécution du programme et être chargée dans les moyens de partitionnement qui effectuent cette attribution Il est également possible que les moyens de partitionnement soient programmés soit pour être chargés selon une suite de valeurs prédéterminées soit pour déterminer, en cours d'exécution du programme, les valeurs les mieux adaptées aux séquences du programme. L'algorithme de remplacement des informations stockées de type limité, mis en oeuvre lorsque ladite quantité limitée a été dépassée, peut être l'algorithme de remplacement général (restreint aux éléments-mémoire de type limité) utili- sé pour remplacer toute autre information stockée dans la mé- moire tampon Il peut s'agir par exemple des algorithmes connus LRU, FIFO, Random ou autre On peut utiliser cet algo- rithme général dans le cas limité, ou utiliser un algorithme spécifique Par exemple en classant les voies selon une suite ordonnée d'indices croissants il est possible de sélectionner rapidement la voie (donc l'élément-mémoire) dans laquelle doit se faire le remplacement en mode limité en déterminant par exemple l'indice de voie le plus faible. Selon l'invention on peut limiter soit les ins- tructions soit les données Il est également possible de fixer simultanément une valeur à chacune des quantités limitées at- tribuées aux deux types d'informations On peut fixer par exemple deux pourcentages dont la somme est inférieure à % Ce cas correspond à une utilisation réduite de la capa- cité de la mémoire tampon. Préférentiellement on peut fixer deux pourcenta- ges dont la somme est supérieure à 100 % Ainsi lorsqu'un type d'information se trouve temporairement moins présent, on reporte de la place mémoire qui était disponible pour ce type sur l'autre type d'information La mémoire tampon se trouve ainsi avantageusement mieux gérée pour intervenir simultané- ment sur les deux types d'informations. OS L'invention sera mieux comprise à l'aide des fi- gures suivantes données à titre d'exemples non limitatifs qui représentent: Figure I: un schéma d'un exemple simplifié de l'organisa- tion générale d'une mémoire tampon. Figure 2: une représentation générale des champs d'infor- mations relatives à un élément-mémoire quelconque selon l'in- vention. Figure 3: un schéma du dispositif de contrôle d'une mémoi- re tampon selon l'invention. Figure 4: une représentation de l'évolution des pourcenta- ges respectifs des instructions et des données dans l'exécu- tion d'un programme en fonction du temps. Figure 5: un mode de sélection de voie utilisable pour le remplacement d'informations de type limité dans un mode de réalisation simplifié. Figure 6: une représentation de différentes étapes de la méthode de gestion de la mémoire tampon mise en oeuvre dans l'invention. La figure 1 représente un exemple simplifié, mais non limitatif des éléments essentiels d'une mémoire tampon. Elle comprend deux voies Vo, VI renfermant chacune 4 classes Ko, Ki, K 2, K 3 d'éléments-mémoire Une classe contient un élé- ment-mémoire par voie c'est-à-dire 2 selon l'exemple présen- té La voie Vo contient les éléments-mémoire 500, 510, 52 e, 530 La voie V 1 contient les éléments-mémoire 501, 511, 521, 531 La classe Ko contient les éléments-mémoire 500, 501. Chaque élément-mémoire par exemple 500 comprend plusieurs positions de stockage pour un bit de présence P, une clé stockée CS, un bloc de données BL, qui contient les informations de l'élément c'est-à- dire des mots ayant des adresses consécutives. Des champs ERTO, ERT 1, ERT 2, ERT 3 affectés respectivement à chaque classe Ko, KI, K 2, K 3 permettent de déterminer l'état d'occupation de chaque classe d'éléments-mé- moire selon l'algorithme de remplacement utilisé Ces champs ERT peuvent également être spécifiques de chacun des éléments- mémoire de la mémoire tampon. Les données sont délivrées par un bus de données 5 D qui délivre les champs de données BL. Les adresses sont délivrées par un bus d'adresses A qui délivre trois champs: un champ de clés d'adresses d'entrée CE, un champ de classes d'adresses d'entrée K, un champ d'indice de mot IM qui permet de distinguer les mots contenus dans un champ de données BL. Le champ IM et le bit de présence P peuvent ne pas exister Lorsque le bit de présence P n'existe pas, une autre solution consiste à avoir un drapeau associé à chaque classe. Le processeur (non représenté) qui coopère avec la mémoire tampon fournit une adresse sur le bus 5 A Selon l'opération en cours ce processeur peut soit délivrer soit re- cevoir un mot de données sur le bus 5 D A partir de l'adresse, le décodeur 55 extrait l'indice de classe de l'adresse d'en- trée et sélectionne la classe correspondante Les éléments-mé- moire de cette classe sont alors activés Lorsque par exemple la classe Ko est sélectionnée, les éléments-mémoire 500 et 5 1 sont activés Ils transmettent alors leur bit de présence P (s'il existe) et leur clé stockée CS au dispositif de contrôle qui reçoit par ailleurs la clé d'entrée CE de l'adresse d'entrée Sur le schéma de la figure 1 on a représenté un seul dispositif de contrôle 10 pour l'ensemble de la mémoire tam- pon Ceci a l'avantage de minimiser la complexité des moyens matériels Il est également possible d'utiliser un dispositif de contrôle pour une ou plusieurs classes ce qui présente l'a- vantage d'une rapidité d'exécution accrue. Si la recherche de l'adresse donne lieu à un échec, le remplacement consiste à écrire le champ de données BL avec sa clé CS et son bit de présence P (s'il existe) en tenant compte des champs ERT Si la recherche de l'adresse donne lieu à un succès, l'opération consiste alors à opérer une lecture ou écriture des données BL dans l'élément- mémoire réalisant le succès et à mettre à jour le champ ERT Selon l'algorithme de remplacement mis en oeuvre, le dispositif de contrôle 10 sélectionne à chaque opération l'élément-mémoire concerné. Selon l'invention les champs de bits relatifs à chaque élément-mémoire (par exemple élément-mémoire 500) sont modifiés selon la représentation de la figure 2 Aux champs P, CS, BL, et ERT sont ajoutés les champs ERL et T Le champ T est un bit qui indique si les informations stockées dans BL sont de type instruction ou de type donnée Ce champ est issu du processeur qui délivre les informations à la mémoire tam- pon Le champ ERL concerne l'état d'occupation de l'élément- mémoire correspondant lors de la mise en oeuvre du remplace- ment mais ne prend en compte que les opérations relatives au mode limité propre à l'invention. Sur l'exemple simplifié de la figure 3 est repré- senté un dispositif de contrôle 10 qui est affecté à une seule classe Ko relative aux éléments-mémoire 500, 501, 502, 503 qui reçoivent leur champ d'adresses du bus 5 A Chaque élément-mé- moire transmet sa clé stockée CS à l'un des comparateurs 120, 121, 122, 123 qui reçoivent tous la clé CE de l'adresse d'en- trée et qui opèrent la comparaison sous le contrôle des bits de présence respectifs Po à P 3. En cas d'échec, tous les comparateurs ont leur sortie (SVO à SV 3) à l'état inactif En cas de succès, un des comparateurs a sa sortie à l'état actif Une porte NON-OU 16, recevant les signaux S Vo à SV 3, permet de délivrer un signal S/E qui définit l'état de succès ou d'échec de l'opération ef- fectuée sur l'adresse courante. Le contrôle va s'opérer à l'aide des moyens de partitionnement 30 et des moyens de remplacement 40. Les moyens de partitionnement 30 comprennent un compteur 301 qui reçoit du bus 5 A issu du processeur (figure 2) le bit de type TC propre à l'adresse courante présente à cet instant sur ce bus 5 A Le compteur 301 est attribué à un type prédéterminé d'informations limitées. La quantité d'informations de type limité conte- nues dans la mémoire tampon, représentée par la valeur du compteur, est comparée dans un comparateur 303 à une valeur de la quantité limitée de mémoire prévue pour ce type limité contenue dans un registre 305 La sortie du comparateur 303 entre dans une porte OU 309 qui reçoit la sortie d'une porte NON-OU 307 qui reçoit tous les bits TK de type de la classe K qui a été activée par l'adresse courante La porte NON-OU 307 permet de déterminer si un des éléments-mémoire de la classe activée est du type limité. La sortie de la porte OU 309 délivre le signal WIL qui détermine si le remplacement doit s'effectuer soit sur la totalité (W) des élémentsmémoire de la classe activée soit sur une partie limitée (L) de ceux-ci Ce signal W/L entre dans les moyens de remplacement 40 qui comprennent un bloc 401 pour un remplacement opérant sur ladite totalité et un bloc 403 pour un remplacement opérant sur ladite partie limitée Le signal W/L entre directement dans le bloc 401 et entre à tra- vers un inverseur 405 dans le bloc 403 pour activer uniquement celui qui est concerné. Le bloc 401 met en oeuvre un algorithme de rem- placement classique, par exemple LRU, FIFO, Random, qui opère la sélection sur la totalité des éléments-mémoire de la classe sélectionnée Il reçoit pour cela le champ ERT qui tient compte du mécanisme mis en oeuvre Par exemple il permet de déterminer s'il s'agit de l'élément utilisé le moins récemment dans le cas de l'algorithme LRU Le bloc 401 est validé par le signal S/E qui n'est actif qu'en cas d'échec Le bloc 401 dé- livre sur le bus 320 l'adresse de l'élément-mémoire sélection- né par le remplacement Cette étape de remplacement existe soit lorsque ladite quantité limitée n'est pas atteinte soit lorsque dans la classe sélectionnée aucun des éléments-mémoire est de type limité. Le bloc 403 opère lorsque la quantité limitée de mémoire disponible pour les informations de type limité a été dépassée et que la classe sélectionnée contient au moins un élément de type limité Le bloc 403 reçoit le signal S/E actif lors d'un échec, les champs ERL de tous les éléments-mémoire de la classe activée ainsi que leur bit de type TK Le champ ERL délivre l'ordre selon lequel le remplacement est à effectuer d'après l'algorithme mis en oeuvre et les bits TK permettent de déterminer ceux ayant le type T correct. L'adresse de l'élément-mémoire sélectionné est transmise par le bus 320 vers les éléments-mémoire Elle arrive également sur le compteur 301 qui reçoit également, sur le bus TK, le type de l'élément-mémoire sélectionné Si le type de cet élé- ment-mémoire sélectionné est de type limité, le compteur est alors décrémenté d'une unité pour tenir compte du remplace- ment Par ailleurs, le compteur est incrémenté d'une unité si le bit Tc de l'adresse courante indique qu'elle est du type limité. Il est ainsi possible de remplir la mémoire tam- pon par un type limité jusqu'à la valeur de la quantité limi- tée qui lui est attribuée Il est possible que temporairement cette quantité limitée soit légèrement dépassée En effet, se- lon les programmes d'exécution mis en oeuvre, des blocs de données BL peuvent contenir des informations des deux types. Le type attribué à l'élément-mémoire est celui de l'informa- tion qui a donné lieu au remplacement Il est donc possible qu'un léger taux résiduel supplémentaire s'ajoute à la quanti- té limitée du type limité. Lorsque les informations de type limité ne sont pas présentes en assez grande quantité l'autre type d'informa- tions est alors automatiquement chargé dans la mémoire tampon jusqu'à concurrence de 100 % de remplissage. Il est possible de définir deux valeurs de quan- tités limitées relatives à l'un et l'autre type d'informa- tions Pour ne pas laisser de place inutilisée dans la mémoire tampon (sauf si un autre type d'information est prévu), préfé- rentiellement la somme des quantités limitées doit être supé- rieure à 100 % On obtient ainsi une meilleure gestion dynami- que de la mémoire tampon. Les valeurs des quantités limitées peuvent aisé- ment être mises à jour en changeant la valeur contenue dans le registre 305 (figure 3) Lorsque deux valeurs doivent être gé- rées, les moyens de partitionnement et une partie des moyens de remplacement sont doublés Il est possible également de mo- difier ces valeurs au cours du temps. La figure 4 représente un exemple d'évolution avec le temps des types d'informations formés par des instruc- tions I et des données D Il est possible qu'au début de l'exécution d'un programme par un processeur le taux des ins- tructions I soit élevé alors que le taux des données D soit faible Les proportions relatives peuvent évoluer et être in- versées ensuite Le renouvellement des valeurs de quantités limitées peut être opéré Ceci peut se faire en introduisant dans la mémoire tampon soit de l'extérieur des séquences de valeurs prédéterminées soit de l'intérieur des valeurs pro- grammées dynamiquement en liaison avec le programme exécuté par le processeur. La figure 5 représente un mode de réalisation simplifié du bloc 403 dans le cas d'un algorithme spécifique de fonctionnement opérant sur des informations de type limité pour un exemple limité à 4 éléments-mémoire Dans ce cas l'or- dre du remplacement est spécifique à la structure de ce bloc et les champs ERL n'existent pas explicitement Pour cet exem- * ple à 4 éléments-mémoire, le bloc 403 reçoit, pour la classe activée K, les bits de type T 1 K, T 2 K, T 3 K et T 4 K. Une première porte NON-OU 61 reçoit Tl K et T 2 K inversé Une seconde porte NON-OU 63 reçoit Tl K, T 2 K et T 3 K in- versé Une troisième porte NON-OU 65 reçoit Tl K, T 2 K, T 3 K et T 4 K inversé. Quatre étages de sortie à trois états 60, 62, 64, 66 reçoivent respectivement: Tl K la sortie de la porte NON-OU 61 la sortie de la porte NON-OU 63 la sortie de la porte NON-OU 65 Lorsque le signal W/L est actif (mode limité) et que le signal S/E est actif (échec), les quatre étages de sortie laissent passer les signaux présents sur leurs entrées respectives Ils sont en état haute impédance dans les cas in- verses Ce circuit permet de sélectionner le premier élément- mémoire sélectionnable dans la suite d'éléments qui sont or- donnés selon la réalisation du circuit. On peut ainsi ordonner les éléments-mémoire selon une telle suite ordonnée pour mettre en oeuvre le remplace- ment. La méthode de gestion d'informations qui est mise en oeuvre dans la mémoire tampon est représentée par l'orga- nigramme de la figure 5. Etape 1: initialisation: la valeur CL du comp- teur 301 est mise à zéro; une valeur de la quantité limitée est stockée; pour chaque élément, son bit de présence P est mis à l'état inoccupé (O par exemple), son bit de type T est mis à l'état non limité (O par exemple). Etape 2: introduction de l'adresse d'entrée. Etape 3: sélection de la classe et détermination de la clé de l'adresse d'entrée. Etape 4: recherche d'un succès pour cette adres- se: comparaison pour les éléments de la classe, de leurs clés stockées CS et de la clé CE de l'adresse courante et test du bit de présence P. s'il y a succès (branche 10), sélection (étape 11) de l'élément- mémoire qui vérifie les conditions de succès, puis lecture ou écriture (étape 12) de la donnée, selon l'opération à effectuer, puis mise à jour de l'état de la mémoire tampon dans les dispositifs de remplacement. s'il y a échec sur tous les éléments de la classe, il faut opérer une procédure de remplacement (branche 20). Etape 21: comparaison de la valeur contenue dans le compteur avec la valeur de la quantité limitée et test du type des éléments-mémoire de la classe sélectionnée par l'adresse courante Lorsque le compteur-est inférieur à la va- leur de base de la quantité limitée ou lorsqu'aucun élément- mémoire n'est du type limité, le mode de-remplacement est dé- terminé par l'algorithme de remplacement de base RT (branche ) (étape 211). Lorsque le compteur est supérieur à la valeur de la quantité limitée et lorsqu'il y a au moins un élément-mé- moire de type limité sélectionnable 1 le mode de remplacement est déterminé par l'algorithme de remplacement propre au mode limité RL (branche 26) (étape 212). Après l'action de l'un ou de l'autre algorithme de remplacement différentes opérations de mise à jour sont né- cessaires (compteur, bit de type) (étape 22). L'étape 5 représente une étape de modification de la(des) valeur(s) de quantité limitée de mémoire (éventuelle- ment) Celles-ci peuvent être introduites soit isolément, soit en séquences, soit être programmées. Il est possible que les moyens de partitionnement et/ou les moyens de remplacement soient programmés pour mettre en oeuvre l'invention Dans le cas le plus général une unité centrale, à l'aide d'un logiciel, détermine la quantité cou- rante d'informations de type limité puis la compare à la quan- tité limitée de mémoire prévue pour ce type limité La quanti- té courante d'informations de type limité est inscrite dans un emplacement mémoire (de la mémoire tampon ou autres) Le logi- ciel opère également la détection de présence d'éléments-mé- moire de type limité dans la classe sélectionnée. A titre d'exemple, pour mettre en relief les per- formances obtenues par l'invention on a déterminé les taux d'échecs, dans les conditions suivantes, pour une mémoire tam- pon de taille globale 256 octets dont chaque élément-mémoire comporte 4 mots de 4 octets L'algorithme de remplacement LRU a été utilisé comme algorithme de base pour opérer le rempla- cement selon le mode général global L'algorithme de remplace- ment opérant la détermination du plus petit indice voie (tel que déjà exposé) a été utilisé pour opérer le remplacement se- lon le mode limité Les résultats sont indiqués sur le tableau I pour lequel la valeur QL de la quantité limitée est exprimée en fraction de la capacité globale de la mémoire tampon Les résultats sont également exprimés en fonction du nombre d'élé- ments E par classe. L'application de l'algorithme de base LRU utilisé sans mise en application de l'invention revient à lire les ré- sultats de la colonne pour une valeur QL de la quantité limi- tée égale à 16/16 Pour les autres colonnes QL varie de 0/16 à /16 On constate que pour une certaine valeur de la quantité limitée les résultats sont optimaux Ces optima sont représen- tés sur le tableau II ainsi que les taux d'échecs obtenus par LRU On observe que lorsque le nombre E d'élément-mémoire par classe augmente, l'amélioration apportée par l'invention de- vient significative, le taux d'échecs étant mieux que 2 fois plus faible lorsque E= 16 par exemple. TAUX D'ECHECS (EN %) QL-* E QL 4 E 16 0/16 16,29 18,92 ,72 ,73 8/16 11,69 8,29 7,31 6,14 1/16 16,29 18,92 19, 80 18,77 2/16 16,29 18,92 17,50 16,83 3/16 16,29 16,87 ,62 ,83 4/16 16, 27 ,12 14,29 14,25 /16 16,13 12,73 12,89 12,96 6/161 7/16 14,61 ,66 ,16 9,08 13,06 9,42 8,76 7,40 9/16110/16111/16112/16113/16114/16115/16116/16 ,42 7,08 6,07 ,03 ,44 ,53 ,04 4,07 ,80 4,17 3,61 3,19 11,51 4,74 3,79 3, 43 11,61 ,19 6,30 6,76 11,69 ,21 6,28 6,73 11,69 ,20 6,26 6,72 11,69 ,20 6,26 6,72 TABLEAU I E invention LRU 2 10,42 11,69 4 4,17 5,20 8 3,61 6,26 16 3,19 6,72 TABLEAU II REVENDICATIONS 1 Dispositif de contrôle pour une mémoire tampon munie de moyens de partitionnement reconfigurable ( 30) qui distinguent des informations de type "instruction" et des in- formations de type "donnée", et de moyens de remplacement ( 40) qui remplacent des informations stockées par des informations courantes selon au moins un algorithme de remplacement, carac- térisé en ce que les moyens de partitionnement ( 30) rendent disponible, pour au moins un desdits types d'informations ap- pelé alors type limité, une quantité limitée de mémoire, délo- calisée dans la mémoire tampon, et, lorsqu'une information courante a à être chargée alors que ladite quantité limitée a été dépassée par les informations stockées de type limité, les moyens de remplacement ( 40) la chargent en priorité en rempla- çant une information stockée remplaçable de type limité. 2 Dispositif de contrôle selon la revendication 1 caractérisé en ce que le remplacement de l'information stockée de type limité est effectué ( 403) selon un algorithme de rem- placement spécifique. 3 Dispositif de contrôle selon la revendication 1 ou 2 caractérisé en ce que la valeur de ladite quantité limi- tée est réactualisable ( 305). 4 Dispositif de contrôle selon une des revendica- tions 1 à 3 caractérisé en ce qu'au moins une valeur de ladite quantité limitée est chargée dans les moyens de partitionne- ment ( 305). Dispositif de contrôle selon une des revendica- tions 1 à 3 caractérisé en ce que les moyens de partitionne- ment ( 30) sont programmés pour déterminer la valeur de la quantité limitée. 6 Dispositif de contrôle selon une des revendica- tions 1 à 5 caractérisé en ce que la somme des taux des quan- tités limitées attribués aux deux types d'informations est su- périeure à 100 %. 7 Dispositif de contrôle selon une des revendica- tions 1 à 6 caractérisé en ce que, dans le cas o ladite quan- tité limitée correspondante a été dépassée, le remplacement d'une information de type limité s'opère en choisissant l'élé- ment mémoire sélectionnable ayant le premier indice de voie dans une suite ordonnée d'indices de voies. 8 Dispositif de contrôle selon une des revendica- tions 1 à 7 caractérisé en ce que les moyens de partitionne- ment ( 30) et/ou les moyens de remplacement ( 40) sont des moyens programmés.