Brevet FR2602070A1 — publié le 19880129

La présente invention concerne les systèmes de mémoire pour les ordinateurs, et plus particulièrement des procédés et des dispositifs pour accroître la vitesse d'accès aux données et l'efficacité de cet accès. Dans de nombreux systèmes de traitement des données, il est habituel d'utiliser une mémoire tampon à grande vitesse, appelée "mémoire cache", reliée à une unité centrale de traitement pour améliorer le temps moyen d'accès à la mémoire pour le processeur. L'utilisation d'une mémoire cache est 10 basée sur la constatation que, au cours du temps, un système de traitement des données va accéder à certaines régions bien localisées de la mémoire avec une fréquence très élevée. Habituellement, la mémoire cache contient un sous-ensemble du jeu complet de données se trouvant dans la mémoire principale, 15 et l'unité centrale de traitement peut y accéder très rapidement sans qu'il soit besoin de lire les positions mémoire de la mémoire principale. L'utilisation d'une mémoire cache ajoute une complexité considérable à un système de traitement de données, et accroît 20 notablement le coût de ce système. Historiquement, les besoins en accès mémoire pouvaient justifier le coût accru et la complexité accrue d'une architecture à base de mémoire cache. Dans la nouvelle génération d'ordinateurs RISC (Reduced Instruction Set Computers:ordinateurs à jeu d'instructions 25 réduit), les vitesses de traitement nécessitent des accès à la mémoire sur un cycle unique. La plupart des systèmes modernes de mémoire utilisent des mémoires vives dynamiques DRAM (Dynamic Random Access Memory), qui ont généralement des durées de cycle de 200 ns (une "durée de cycle" étant la durée 30 nécessaire depuis le début de l'accès à la mémoire jusqu'à ce que les données puissent à nouveau être fournies par le système de mémoire). Bien que les DRAMs ont des durées de cycle de 200 ns, la durée de cycle pour l'accès à une colonne pour le composant particulier est généralement, de 45 ns 35 seulement (par "temps d'accès" on entendra la durée nécessaire depuis l'application d'un signal d'échantillonnage d'adresse de colonne CAS (Column Access Strobe) jusqu'au moment o les données sont appliquées sur un bus de données). En conséquence, la durée de cycle pour une DRAM couramment disponible dans le commerce peut aller jusqu'à cinq fois la durée de cycle pour l'accès d'une colonne avec ce même composant. Comme on va le décrire, en allouant de façon appropriée la volume mémoire dans la mémoire DRAM et en utilisant les enseignements de la présente invention, on peut en pratique utiliser la mémoire principale de l'ordinateur à la manière d'une mémoire cache. La présente invention décrit un 10 dispositif et des procédés -utilisables dans un système d'ordinateur pour accéder rapidement et efficacement à la mémoire principale de l'ordinateur en évitant le recours à une mémoire cache séparée. La présente invention utilise des DRAMs à colonne statique dans une architecture qui permet un accès 15 très rapide à un sous-ensemble bien localisé de la mémoire principale, et est particulièrement appropriée à l'utilisation avec des systèmes utilisant des techniques de mémoire virtuelle. A cet effet, selon l'invention, il est proposé une 20 architecture perfectionnée de mémoire, trouvant une application particulière dans les systèmes d'ordinateur utilisant des techniques de mémoire virtuelle. Un processeur fournit des adresses de ligne et de colonne pour atteindre des données mémorisées dans une DRAM. L'adresse virtuelle fournie 25 par le processeur comprend des bits de poids faible et des bits de poids élevé. Dans le mode de réalisation proposé, les bits de poids élevé virtuels représentent l'adresse de ligne et les bits de poids inférieur représentent une adresse réelle de colonne. L'adresse virtuelle de ligne est appliquée à une 30 unité de gestion de mémoire MMU (Memory Management Unit) pour la transformer en une adresse de ligne réelle. L'adresse de colonne réelle n'a pas besoin d'être transformée. Un comparateur compare l'adresse de ligne virtuelle courante à l'adresse de ligne précédente mémorisée dans un registre à 35 verrouillage. En cas de correspondance entre l'adresse de ligne courante et l'adresse de ligne précédente, un circuit de commande de cycle applique l'adresse de colonne réelle à la DRAM, et applique un signal CAS tel que l'adresse souhaitée soit atteinte dans la mémoire sans qu'il soit besoin d'appliquer à nouveau l'adresse de ligne. Si les adresses de ligne ne correspondent pas, le circuit de commande de cycle met en route un cycle complet de recherche mémoire et applique à la fois les adresses de ligne et de colonne à la DRAM, ainsi que les signaux RAS et CAS respectifs, et met à jour le contenu du registre à verrouillage. En organisant les données dans la mémoire de façon appropriée, la probabilité que les opérations consécutives sur la mémoire atteignent la même 10 ligne de la DRAM peut être notablement augmentée. En utilisant une telle organisation, la présente invention permet de retrouver des données à des vitesses du même ordre que celles obtenues avec des systèmes de mémoire à base de mémoire cache pour un sous-ensemble de données mémorisées. Les données 15 mémorisées sur la même ligne de la DRAM peuvent être atteintes à des vitesses de quatre à cinq fois supérieures à celles nécessaires pour l'accomplissement d'un cycle complet de recherche mémoire. D'autres caractéristiques et avantages de l'invention 20 apparaîtront à la lecture de la description détaillée ci-dessous, faite en référence aux dessins annexés sur lesquels: - la figure 1 est un schéma par blocs illustrant, dans son concept, l'essentiel de la présente invention, - la figure 2 est un schéma par blocs plus détaillé, illustrant un exemple du mode de réalisation actuellement préféré de l'invention, - la figure 3 est un organigramme expliquant la suite des opérations exécutées lors de la mise en oeuvre du mode de 30 réalisation de la figure 2. On va maintenant décrire une architecture perfectionnée de mémoire, trouvant une application particulière dans les systèmes d'ordinateur employant des techniques de mémoire virtuelle. Dans la description qui va suivre, on indiquera 35 pour les besoins de l'explication des types particuliers de mémoire, des vitesses de transfert de données, des architectures et des composants particuliers, afin de permettre une compréhension totale de la présente invention. Il est clair, cependant, que l'homme du métier peut mettre en oeuvre la présente invention sans ces détails particuliers. A l'inverse, des circuits bien connus sont illustrés seulement sous forme de blocs pour ne pas obscurcir inutilement la description de la présente invention. En référence à la figure 1, on a décrit dans son principe, sous forme de schémas par blocs, la présente invention. Une DRAM 10 forme l'un des composants mémoire d'un système de traitement des données. Dans le mode de réalisation décrit 10 ici, la DRAM 10 comprend un réseau de mémoire du type comprenant des adresses de ligne et des adresses de colonne identifiant la position des données à l'intérieur du réseau. La DRAM 10 peut être constituée d'une RAM dynamique CMOS de 1 Mégabits de la génération actuelle, avec accès de colonne 15 statique. Dans de tels composants mémoire, la durée de cycle depuis le début de l'accès mémoire jusqu'à la sortie des données souhaitée est de l'ordre de 200 ns. On atteint les données dans la DRAM 10 en appliquant tout d'abord une adresse de ligne, qui identifie une ligne particulière dans le réseau 20 mémoire o se trouve la donnée, en même temps qu'un signal RAS d'échantillonnage d'adresse de ligne. On applique alors une adresse de colonne à la DRAM 10, qui identifie la colonne particulière à l'intérieur de la ligne activée o se trouve la donnée souhaitée, en même temps qu'un signal CAS 25 d'échantillonnage d'adresse de colonne. Habituellement, dans les DRAMs à colonne statique, la durée comprise entre l'application de l'adresse de colonne et du signal CAS et la sortie de la donnée par le circuit est d'environ 45 ns. L'intervalle de temps séparant l'application de l'adresse de 30 colonne et du signal CAS de la délivrance de la donnée en sortie est appeléé "durée d'accès de colonne" du composant de mémoire. En conséquence, un cycle de mémoire dure approximativement cinq fois la valeur du temps d'accès de colonne par cycle du composant. Dans la plupart des composants de mémoire DRAM à colonne statique de la nouvelle génération, une fois que l'adresse de ligne et le signal d'échantillonnage RAS ont été appliqués, tout élément de donnée disposé à l'intérieur de la ligne activée peut être atteint en appliquant l'adresse de colonne appropriée et le signal CAS, sans qu'il soit nécessaire de réappliquer l'adresse de ligne et le signal RAS. Comme on l'a noté, l'accès à des données mémorisées à l'intérieur d'une 5 ligne précédemment activée peut être effectué très rapidement (approximativement 45 ns), au contraire de l'accès aux données mémorisées dans une autre ligne du même réseau de mémoire. Dans les applications de traitement de données à grande vitesse, il est habituel d'utiliser une mémoire cache reliée à 10 une unité centrale de traitement pour améliorer-le temps moyen d'accès par le processeur. La mémoire cache contient un sous-ensemble de données situées à l'intérieur de la mémoire principale du système, et peut être atteinte très rapidement par le processeur sans qu'il soit nécessaire de lire les 15 positions de mémoire dans la mémoire principale. On suppose généralement, que, dans les systèmes de traitement à grande vitesse, une mémoire cache est nécessaire pour obtenir un accès mémoire par le processeur au cours d'un cycle unique. Cependant, comme on l'a noté précédemment, l'utilisation d'une *0 mémoire cache augmente de façon significative la complexité et le coût du système de traitement des données. Comme on l'exposera dans la présente description, -la présente invention propose un système de mémoire qui évite le recours à une mémoire cache, tout en permettant un accès à grande vitesse à 25 des régions déterminées à l'intérieur de la mémoire principale. L'homme du métier appréciera que, si les données sont réparties de façon appropriée à l'intérieur de la DRAM 10 (figure 1) tout élément de donnée disposé dans une ligne précédemment activée peut être atteint au cours d'un cycle 30 d'horloge unique du système. En conséquence, en mémorisant de façon appropriée les données à l'intérieur du réseau de mémoire, un sous-ensemble localisé de la mémoire principale peut être en pratique utilisé à la manière d'une mémoire cache par le processeur. En se référant à nouveau à la figure 1, un processeur (non représenté) délivre une adresse de ligne 12 et une adresse de colonne 14 en vue d'atteindre une donnée particulière mémorisée à l'intérieur de la DRAM 10. L'adresse de colonne 14 260207l est appliquée à un multiplexeur 16 qui, comme on le décrira, applique sélectivement soit l'adresse de colonne, soit l'adresse de ligne à la DRAM 10. L'adresse de ligne 12 est appliquée à un registre à verrouillage 18 et à un comparateur 5 20. Un circuit de commande de cycle 22 est relié au registre à verrouillage 18, au comparateur 20 ainsi qu'au multiplexeur 16, et délivre à la fois le signal RAS et le signal CAS à la DRAM 10 pour atteindre la donnée. A l'application d'une adresse de ligne initiale 12 et d'une adresse de colonne 14 au 10 système mémoire décrit sur la figure 1, le comparateur 20 compare l'adresse de ligne courante 12 (RA(i)) avec la précédente adresse de ligne (RA(i-1)) qui a été utilisée pour atteindre la donnée au cours du cycle mémoire complet précédent avec les signaux RAS et CAS. Si l'adresse de ligne 15 mémorisée dans le registre à verrouillage ne- correspond pas à l'adresse de ligne courante fournie par le processeur, le circuit de commande de cycle 22 fournit une impulsion d'horloge au registre à verrouillage 18, de- sorte que l'.dresse de ligne courante vient à être mémorisée dans ce 20 re-istre à verrouillage, et le multiplexeur de signaux 16 ap3,lique l'adresse de ligne courante 12 à la DRAM 10. Le circuit de commande de cycle 22 délivre ensuite un signal RAS à la DRAM 10 de manière à activer l'adresse de ligne souhaitée à l'intérieur du réseau de mémoire. Le circuit de commande de 25 cycle 22 applique alors l'adresse de colonne 14 à la DRAM 10 par l'intermédiaire du multiplexeur 16, et délivre un signal CAS approprié à la DRAM, qui identifie la donnée particulière devant être atteinte dans le réseau de mémoire. La DRAM 10 fournit alors la donnée choisie au processeur, habituellement 30 par l'intermédiaire d'un bus de données (non représenté). Au cas o l'adresse de ligne courante RA(i) est là même quel'adresse de ligne précédente RA(i-1) mémorisée dans le registre à verrouillage 18, le circuit de commande de cycle 22 applique l'adresse de colonne courante 14 à la DRAM 10 et 35 délivre un signal CAS. Comme on l'a expliqué plus haut, une fois qu'une ligne particulière à l'intérieur de la DRAM 10 est activée, l'accès à un élément de donnée à l'intérieur de cette ligne peut être réalisé très rapidement. Dans le mode de réalisation illustré figure 1, on appréciera qu'il est seulement nécessaire d'appliquer l'adresse de colonne 14 à la DRAM 10 pour atteindre une donnée mémorisée à l'intérieur d'une ligne activée au cours d'un cycle de donnée précédent. 5 En conséquence, au cas o l'adresse de ligne courante est la même que l'adresse de ligne immédiatement précédente, il n'est pas nécessaire d'appliquer à nouveau l'adresse de ligne courante à la DRAM et de délivrer un signal. RAS supplémentaire; au contraire, il suffit d'appliquer l'adresse 10 de colonne courante et un signal CAS pour obtenir l'accès à la mémoire. Dans une application typique, l'utilisation de la présente invention permet un accès à des données mémorisées à l'intérieur de la DRAM 10 en environ 45 ns au lieu des 200 ns habituelles. Comme l'appréciera l'homme du métier, dans un système de mémoire de travail, on doit utiliser des plages multiples de mémoire plutôt qu'une RAM dynamique unique. Pour rendre le système exposé sur la figure 1 applicable en pratique, il est nécessaire de répartir les données à l'intérieur d'une 20 pluralité e plages de mémoire, de manière à augmenter de façon significative la probabilité d'accès séquei:iel multiple à la même ligne se trouvant à l'intérieur d'une plage mémoire donnée. Si des données fréquemment utilisées peuvent être localisées à l'intérieur de la mémoire de cette manière, la 25 mémoire principale peut être utilisée à la place d'un système de mémoire cache beaucoup plus coûteux et complexe. En se référant maintenant à la figure 2, on décrira un mode de réalisation de la présente invention comprenant deux plages mémoire, la plage de mémoire DRAM A et la plage de mémoire 30 DRAM B, dans un système de traitement de données utilisant des techniques de mémoire virtuelle. Pour les besoins de cette description, et pour éviter d'inutiles complications, on ne décrira que les lignes d'adresses, de commandes et de données nécessaires à l'illustration de la présente invention. 35 Cependant, il apparaîtra clairement à l'homme du métier que, dans une application particulière, il puisse être nécessaire de prévoir d'autres lignes, d'autres composants et d'autres circuits. Un processeur 30 communique avec le système de mémoire de la présente invention le long d'un bus d'adresse virtuelle 32. Le bus d'adresse virtuelle 32 comprend une pluralité de lignes individuelles qui transmettent les adresses sous forme de mots 5 de plusieurs Dits. Habituellement, les processeurs utilisent des bus d'adresses de 16 à 32 bits, dans lesquels les bits sont émis en parallèle sur des lignes individuelles ou sur des fils qui forment le bus d'adresse. Dans la présente invention, les adresses émises sur le bus d'adresse virtuelle 32 sont 10 structurées de sorte que les bits de faible poids forment un segment d'adresse directe (réelle) pour la mémoire DRAM, les bits de faibles poids étant séparés du bus d'adresse virtuelle 32 sur la ligne 34. Comme on le décrira plus en détail ci- dessous, les -bits de faible poids (adresse réelle) 15 comprennent l'adresse de colonne pour la donnée souhaitée mémorisée à l'intérieur de la plage de mémoire DRAM A et de la plage de mémoire DRAM B. Les bits d'adresse de poids élevé forment un segment d'adresse virtuelle correspondant à l'adresse de ligne pour les données mémorisées à l'intérieur 20 des plages de mémoire A et B de la mémoire DRAM principale (voir par exemple. zs US-A-4 527 232 et US-A-4 550 368, tous deux au nom de la Demanderesse). Les bits de poids élevé comportant le segment d'adresse virtuelle sont conservés sur le bus d'adresse virtuelle 32. 25 Comme illustré, les bits d'adresse virtuelle de poids élevé sont appliqués à une unité de gestion de mémoire (MMU) 38 pour être translatés en une adresse physique d'ordre plus élevé. Dans le présent mode de réalisation, l'unité de gestion de mémoire 38 est une RAM à vitesse relativement élevée, comme 30 par exemple une RAM statique rapide. L'unité de gestion de mémoire 38 reçoit en entrée l'adresse virtuelle d'ordre élevé fournie par le processeur 30 et délivre en sortie une adresse physique (réelle) translatée sur la ligne 40, qui indique l'adresse de ligne physique réelle de la donnée souhaitée 35 dans les plages de mémoire A et B de la DRAM. L'unité de gestion de mémoire 38 peut prendre la forme de l'unité de gestion de mémoire décrite dans le USA-4 527 232, dont on considérera les enseignements comme faisant partie de la présente description. Un registre à verrouillage 42 est relié au bus d'adresse virtuelle 32 et un comparateur 43 est relié à la fois au bus d'adresse virtuelle 42 et au registre à verrouillage 42. De la 5 même façon, un registre à verrouillage 44 est relié au bus d'adresse virtuelle 36 et est à son tour relié à un comparateur 48, de sorte que le comparateur 48 puisse comparer le contenu du registre à verrouillage 44 avec l'adresse virtuelle courante appliquée au bus d'adresse virtuelle 32 par 10 le processeur 30. Comme illustré, les sorties des comparateurs 43 et 48 sont appliquées aux entrées d'une porte OU 50 et sont reliées à un circuit de commande de cycle 55. Le résultat de l'opération OU entre les signaux de sortie des comparateurs 43 et 48 est, de la même façon, appliqué au circuit de commande 15 de cycle 55. Le circuit de commande de cycle 55, comme on le décrira plus en détail ci-dessous, commande l'envoi des impulsions d'horloge au registre à verrouillage 42 et 44, le fonctionnement sélectif du multiplexeur 60, et fournit également des signaux RAS ez CAS appropriés aux plages de 20 mémoire A et B de la DRAM. L'unité de gestion de mémore 38 fournit les bits translatés de faible poids de l'adresse virtuelle fournis par le processeur 30 à la borne CE (Chip Enable: activation de puce) des registre à verrouillage 42 et 44 par l'intermédiaire de la 25 ligne 62. L'état des bits translatés de faible poids (dans cet exemple o l'on est en présence de deux plages de mémoire seulement, seul le bit translaté de plus faible poids est nécessaire) peuvent être utilisés pour sélectionner soit le registre à verrouillage 42, soit le registre à verrouillage 30 44. Par exemple, si le bit translaté de faible poids était un "zéro" logique, ce bit serait appliqué au registre à verrouillage 44 (mais comme il s'agit d'un zéro il n'activerait pas le registre à verrouillage 44), et serait inversé par un inverseur 63 en un "un" logique qui serait 35 appliqué au registre à verrouillage 42, activant ainsi le registre à verrouillage 42. Inversement, le registre à- verrouillage 44 serait activé au cas o le bit translaté de faible poids de l'adresse virtuelle serait un "un" logique. 1l Comme illustré figure 2, le bit translaté de faible poids est également appliqué au circuit de commande de cycle 55, et ce bit (ou ces bits dans le cas de plus de deux plages de mémoire) identifie pour le circuit de commande de cycle 55 5 celle des plages de mémoire de la DRAM o l'on atteindra la donnée. Supposons, pour l'exemple, que le processeur 30 délivre une adresse virtuelle sur le bus à l'adresse virtuelle 32 qui corresponde à une donnée se trouvant dans la plage de mémoire 10 A de la DRAM. Comme décrit précédemment, les bits de faible poids correspondant à l'adresse de colonne à l'intérieur de la plage de mémoire comprennent un segment d'adresse réelle, et sont séparées et transférées par la ligne 34 au multiplexeur 60. Le segment virtuel de l'adresse correspondant à l'adresse 15 de ligne dans la plage de mémoire A de la DRAM est appliqué au bus d'adresse virtuelle 32, et est immédiatement translaté par l'unité de gestion de mémoire 38 de manière à appliquer les bits de poids élevé translatés sur la ligne 40 en direction du multiplexeur 60. De plus, le bit pb sique translaté de plus 20 faible poids est appliqué sur la 1.' -e 62 au registre 42 et 44. Toujours dans le cadre de cet exemple, supposons que, si le bit physique translaté de plus faible poids est un "zéro" logique, le registre à verrouillage 42 sera activé, tandis que le "zéro" logique sera inversé en un "un" logique par l'inverseur 63. L'adresse virtuelle est par ailleurs appliquée au registre à verrouillage 42 activé, ainsi qu'au comparateur 43. On notera que, bien que l'adresse de ligne virtuelle courante soit appliquée au registre à verrouillage 42, ce dernier contient l'adresse de ligne virtuelle précédente, et 30 continuera à contenir l'adresse de ligne virtuelle précédente jusqu'à ce qu'une impulsion d'horloge soit délivrée au registre à verrouillage. Le comparateur 43 compare l'adresse de ligne virtuelle courante à l'adresse de ligne virtuelle précédente mémorisée 35 dans le registre à verrouillage 42. Les signaux de sortie des comparateurs 43 et 48 sont appliqués à la porte OU 50 et au circuit de commande de cycle 55. Au cas o l'un ou l'autre des comparateurs 43 et 48 identifie une coïncidence entre l'adresse de ligne virtuelle courante et le contenu des registre à verrouillage, la porte OU 50 indique qu'une telle coïncidence existe et applique un signal sur la ligne 65 au circuit de.commande de cycle 55. La sortie de chaque 5 comparateur est également reliée directement au circuit de commande de cycle 55 pour identifier celui des circuits registre à verrouillage/comparateur qui a reconnu la cuoïncidence. Dans l'exemple que l'on vient de donner, lorsqu'une coïncidence existe entre l'adresse de ligne 10 virtuelle courante et le contenu du registre à verrouillage 42, le circuit de commande de cycle 55 délivre un signal au multiplexeur 60 afin d'appliquer le segment d'adresse réelle comprenant l'adresse de colonne au bus d'adresse physique 70 et à la plage de mémoire A de la DRAM. Le circuit de commande 15 de cycle 55 fournit également le signal CAS A d'échantillonnage d'adresse de colonne nécessaire. La plage de mémoire A de la DRAM délivre alors la donnée souhaitée à un bus de données (non représenté) dans le temps d'accès de la RAM dynamique à colonne statique (approximativement 45 ns). En 20 conséquence, si l'on a détecté une coïncidence, conformément à la présente invention on n'applique à nouveau ni l'adresse de ligne virtuelle ni un signal RAS supplémentaire pour atteindre la donnée souhaitée. L'homme du métier notera qu'habituellement les lignes de signal CAS restent à l'état 25 haut et le signal est appliqué par passage à un état bas, les lignes RAS étant habituellement à l'état bas pour les besoins d'accès aux données. En outre, on fera maitenant référence à la figure 3 qui montre la séquence des opérations effectuées lors de la mise en oeuvre du système de la présente invention 30 que l'on vient de décrire. Au cas o aucune coïncidence n'a été rencontrée entre l'adresse de ligne virtuelle courante et l'adresse de ligne précédente mémorisée dans le registre à verrouillage 42, le circuit de commande de cycle 55 envoye un signal au 35 multiplexeur 60 pour appliquer l'adresse de ligne translatée (maintenant l'adresse réelle) sur la ligne 40 à la plage de mémoire A par l'intermédiaire du bus d'adresse physique 70. Pendant ce temps, le circuit de commande de cycle 55 délivre un signal RAS haut à la plage de mémoire A et délivre un signal d'horloge sur les lignes d'horloge 72 qui fait avancer le registre à verrouillage activé, ici le registre à verrouillage 42, de sorte que l'adresse de ligne virtuelle 5 courante s'y trouve mémorisée. La ligne RAS est alors mise à l'état bas et le multiplexeur 60 applique ensuite le segment d'adresse réelle définissant l'adresse de colonne à la plage A et applique un signal CAS bas. Après avoir achevé ce cycle complet d'accès mémoire comprenant la mise à jour du registre 10 à verrouillage 42 et l'application de l'adresse de ligne et de l'adresse de colonne avec leur signaux RAS et CAS respectif, la donnée est fournie par la plage de mémoire A au processeur par l'intermédiaire du bus de données (non représenté). L'homme du métier appréciera que, au cas o un cycle d'accès s15 mémoire complet est nécessaire, la durée nécessaire au système de la présente invention pour obtenir la donnée souhaitée est généralement le même que dans les autres systèmes d'ordinateur utilisant des techniques classiques d'accès mémoire pour réaliser l'acquisition de données dans une mémoire principale 20 d'ordinateur. Cependant, dans les cas o l'on rencontre une coïncidence entre l'adresse de ligne virtuelle courante et l'adresse de ligne virtuelle précédemment mémorisée, on obtient des avantages significatifs en matière de vitesse d'accès mémoire grâce à la présente invention. On appréciera en outre que l'utilisation de la présente invention telle qu'illustrée figure 2 permet au système d'ordinateur d'allouer des plages de mémoire pour certains types de données en fonction de l'adresse de ligne virtuelle translatée, et, en particulier, des bits d'adresse de ligne 30 physique translatée de faible poids. En général, on considère que, dans la plupart des systèmes d'ordinateurs, environ 50% des recherches en mémoire par le processeur correspondent à des instructions, et environ 50% correspondent à des données. Dans les processeurs RISC de la génération actuelle, environ 35 20% des opérations de recherche mémoire servent à obtenir des données, et environ 80% des opérations de recherche mémoire servent à obtenir des instructions. En conséquence, l'utilisation de la présente invention permet de définir l'équivalent d'une mémoire cache dans une ou plusieurs des plages de mémoire, de sorte que l'on peut accéder très rapidement à des sous-ensembles localisés de la mémoire. En d'autres termes, le système d'exploitation du système 5 d'ordinateur peut garder trace des données et des instructions mémorisées dans la mémoire et, par exemple, placer les données dans les plages de mémoire de numéro pair et des instructions dans les plages de données de numéro impair ou vice versa. En conséquence, on peut augmenter de façon significative la 10 probabilité d'accès mémoire séquentielle par le processeur pour toute plage de données de la DRAMayant des adresses de ligne virtuelles identiques. L'utilisation d'une telle architecture de système de mémoire, en combinaison avec les circuits de la présente invention tels qu'illustré figure 2, 15 évite dans de nombreux cas le recours à un système basé sur une mémoire cache séparée. De plus, l'homme du métier notera que, bien que la figure 2 illustre deux plages de mémoire RAM dynamique, le mode de réalisation illustré peut être étendu à une pluralité de plages de mémoire, chaque plage de mémoire 2C ayant un circuit registre à verrouillage/comparateur correspondant, le nombre de bits physiques translatés de plus faible poids utilisés pour activer les registre à verrouillage spécifiques étant fonction du nombre de plages de mémoire utiliséesi dans la RAM dynamique. Bien que la présente invention ait été décrite en référence aux figures 1 à 3, on comprendra que les figures ne sont données qu'à titre illustratif, et que la présente invention peut être mise en oeuvre dans de nombreuses applications de systèmes de mémoire. REVENDICATIONS 1. Un système d'accès de mémoire, caractérisé en ce qu'il comprend: - des moyens de mémoire (10) pour mémoriser des données, ces moyens de mémoire comprenant un réseau de mémoire dans lequel les données sont atteintes en appliquant à ce réseau des adresses de ligne et de colonne identifiant la position de la donnée dans le réseau, ainsi que des signaux d'échantillonnage 10 d'adresse de ligne (RAS) et d'échantillonnage d'adresse de colonne (CAS) une fois que les adresses de ligne et de colonne ont été respectivement appliquées, - des moyens de production d'adresses pour produire ces adresses de ligne et de colonne correspondant à la donnée 15 souhaitée dans le réseau, - des moyens de registre à verrouillage (18;42,44), reliés aux moyens de production d'adresses, pour recevoir une adresse de ligne et mémoriser cette adresse de ligne à réception d'un signal d'horloge, - des moyens comparateurp (20; 43,48), reliés aux moyens de registre à verrouillage et aux moyens de génération d'adresse pour comparer une adresse de ligne courante provenant des moyens de génération d'adresse à une adresse de ligne précédente couramment mémorisée dans les moyens de registre à 25 verrouillage, - des moyens de commande de cycle (22;55), reliés aux moyens comparateurs, aux moyens de. registre à verrouillage et aux moyens de mémoire, pour appliquer l'adresse de ligne courante au réseau de mémoire au cas o l'adresse de ligne courante est 30 différente de l'adresse de ligne précédente et pour produire le signal d'échantillonnage d'adresse de ligne, ces moyens de commande de cycle produisant en outre l'adresse de colonne et le signal d'échantillonnage d'adresse de colonne au réseau de mémoire de manière à atteindre la donnée souhaitée, et faisant 35 avancer le registre à verrouillage, de manière à mémoriser l'adresse de ligne courante, les moyens de commande de cycle appliquant l'adresse de colonne et le signal d'échantillonnage d'adresse de colonne au 26020C;70 réseau de mémoire au cas o l'adresse de ligne courante est la même que l'adresse de ligne précédente, de sorte que seule l'adresse de colonne et le signal d'échantillonnage d'adresse de colonne aient besoin d'être fournis pour atteindre la donnée souhaitée, de sorte que la vitesse d'accès mémoire de ce système soit accrue en évitant le besoin d'appliquer à nouveau l'adresse de ligne pour obtenir la donnée souhaitée si l'adresse de ligne courante et l'adresse de ligne précédente sont les mêmes. 10 2. Le système d'accès de mémoire de la revendication 1, dans lequel les moyens de mémoire comprennent N plages de mémoire (A,B) de réseau de mémoire. 3. Le système d'accès de mémoire de la revendication 2, dans lequel les moyens de registre à verrouillage- comprennent N registres à verrouillage (42,44), et dans lequel les moyens comparateurs comprennent N comparateurs (43,48), un pour chaque plage de mémoire de réseau de mémoire. 20 4. Le système d'accès de mémoire de la revendication 3, dans lequel chacun des réseaux mémoire comprend une mémoire RAM dynamique avec accès de colonne statique. 5. Le système d'accès de mémoire de la revendication 4, dans lequel l'adresse de ligne est une adresse virtuelle, qui est translatée en une adresse de ligne réelle par une unité de gestion de mémoire (38) avant d'être appliquée au réseau de mémoire. 6. Le système d'accès de mémoire de la revendication 5, dans lequel les moyens de production d'adresses comprennent un processeur (30) 7. Le système d'accès de mémoire de la revendication 6, dans lequel les sorties des N comparateurs sont reliées à une porte OU (50), la sortie de cette porte étant reliée aux moyens de commande de cycle. 26'0207C0 8. Le système d'accès de mémoire de la revendication 7, dans lequel les sorties des N comparateurs sont reliées aux moyens de commande de cycle. 9. Le système d'accès de mémoire de la revendication 8, dans lequel on applique au registre à verrouillage Y bits physiques translatés de faible poids à partir de 'unité de gestion de mémoire, de sorte que la valeur de ces Y bits corresponde à au 10 moins l'un des registre à verrouillage et l'une des plages de mémoire, de manière à activer le registre à verrouillage correspondant. 10. Le système d'accès de mémoire de la revendication 9, 15 dans lequel les données dans les N plages de mémoire de réseau de mémoire sont organisées de manière que certaines des plages de mémoire mémorisent un pourcentage plus élevé d'instructions que de données par rapport aux autres plages de mémoire. 11. Le système d'accès de mémoire de la revendication 10, dans lequel cette organisation des données est telle que la probabilité d'accès mémoire consécutifs à la même adresse de ligne que les accès précédents soit augmentée de manière significative. 12. Le système d'accès de mémoire de la revendication 11, dans lequel la mémorisation des données est commandée par un système d'exploitation comprenant des instructions exécutées par le processeur. 13. Le système d'accès de mémoire de la revendication 12, dans lequel les adresses de colonne appliquées par les moyens de production d'adresses sont des adresses réelles. 14. Le système d'accès de mémoire de la revendication 13, dans lequel l'adresse de ligne réelle translatée et l'adresse de colonne réelle sont appliquées séparément au réseau de mémoire par un multiplexeur sur ordre des moyens de commande de cycle. 15. Un procédé d'accès à une mémoire d'ordinateur, dans lequel une donnée est mémorisée dans au moins un réseau de 5 mémoire (10) de sorte que cette donnée puisse être atteinte en appliquant des adresses de ligne et de colonne identifiant la position de cette donnée, ainsi que des signaux d'échantillonnage d'adresse de ligne (RAS) et d'échantillonnage d'adresse de colonne (CAS) une fois que les 10 adresses de ligne et de colonne ont été respectivement appliquées au réseau de mémoire, caractérisé en ce qu'il comprend les étapes consistant à: - produire des adresses de ligne et de colonne courantes correspondant à la donnée souhaitée dans le réseau de mémoire, 15 - mémoriser une adresse de ligne précédemment produite dans des moyens de registre à verrouillage (18;42,44), cette adresse de ligne étant mémorisée à réception d'un signal d'horloge, - comparer l'adresse de ligne courante à l'adresse de ligne 20 précédente mémorisée dans les moyens de registre à verrouillage, - appliquer l'adresse de colonne et le signal d'échantillonnage d'adresse de colonne au réseau de mémoire au cas o l'adresse de ligne courante est la même que l'adresse 25 de ligne précédente mémorisée dans les moyens de registre à verrouillage, de sorte qu'il soit nécessaire de fournir l'adresse de colonne et le signal d'échantillonnage d'adresse de colonne pour atteindre la donnée souhaitée au cas o l'adresse de ligne précédente est différente de l'adresse de 30 ligne courante, l'adresse de ligne courante étant appliquée au réseau de mémoire ainsi que le signal d'échantillonnage d'adresse de ligne, l'adresse de colonne et le signal d'échantillonnage d'adresse de colonne étant en outre appliqués pour atteindre la donnée souhaitée, et - produire un signal d'horloge pour mémoriser l'adresse de ligne courante dans les moyens de registre à verrouillage, de sorte que la vitesse d'accès mémoire soit augmentée en évitant le besoin d'appliquer à nouveau l'adresse de ligne 2602C70 pour obtenir la donnée souhaitée lorsque l'adresse de ligne courante et l'adresse de ligne précédente sont les mêmes. 16. Le procédé d'accès à une mémoire de la revendication 1-5, 5 dans lequel la mémoire d'ordinateur comprend N plages de mémoire (A,B) de réseau de mémoire. 17. Le procédé d'accès à une mémoire de la revendication 16, dans lequel les moyens de registre à verrouillage comprennent 10 N registres à verrouillage (42,44), et dans lequel l'étape de comparaison est exécutée par N comparateurs (43,48), un pour chaque plage de mémoire de réseau de mémoire. 18. Le procédé d'accès à une mémoire de la revendication 17, 15 dans lequel chacun des réseaux de mémoire comprend une mémoire RAM dynamique avec accès de colonne statique. 19. Le-procédé d'accès à une mémoire de la revendication 18, dans lequel l'adresse de ligne est une adresse virtuelle, qui 20 est translatée en une adresse de ligne réelle par une unité de gestion de mémoire (38) avant d'être appliquée au réseau de mémoire. 20. Le procédé d'accès à une mémoire de la revendication 19, 25 dans lequel les adresses de ligne et de colonne sont produites par un processeur (30). 21. Le procédé d'accès à une mémoire de la revendication 20, dans lequel les sorties des N comparateurs sont reliées à une 30 porte OU (50), la sortie de cette porté étant reliée aux moyens de commande de cycle. 22. Le procédé d'accès à une mémoire de la revendication 21, dans lequel les sorties des N comparateurs sont reliées aux 35 moyens de commande de cycle. 23. Le procédé d'accès à une mémoire de la revendication 22, dans lequel on applique au registre à verrouillage Y bits 2602C70 physiques translatés de faible poids à partir de l'unité de gestion de mémoire, de sorte que la valeur de ces Y bits corresponde à au moins l'un des registre à verrouillage et l'une des plages de mémoire, de manière à activer le registre à verzouillage correspondant. 24. Le procédé d'accès à une mémoire de la revendication 23, dans lequel les données dans les N plages de mémoire de réseau de mémoire sont organisées de manière que certaines des plages 10 de mémoire mémorisent un pourcentage plus élevé d'instructions que de données par rapport aux autres plages de mémoire. 25. Le procédé d'accès à une mémoire de la revendication 24, dans lequel ladite organisation des données est telle que la 15 probabilité d'accès mémoire consécutifs à la même adresse de ligne que les accès précédents soit augmentée de manière significative. 26. Le procédé d'accès à une mémoire de la revendication 25,, dans lequel la mémorisation des données est commandée par un système d'exploitation comprenant des instructions exécutées par le processeur. 27. Le procédé d'accès à une mémoire de la revendication 26, 25 dans lequel l'adresse de colonne produite est une adresse réelle.