Brevet FR2582829A1 — publié le 19861205

La présente invention concerne des systèmes d'ordinateur en général et, plus particulièrement, un système de gestion de mémoire servant à détecter la présence de circuits de mémoire dans un système d'ordinateur et, en réponse, à réarranger des adresses de mémoire. Les systèmes d'ordinateur comprennent généralement un ou plusieurs modules de mémoire avec une pluralité de plans de mémoire auxquels des circuits de mémoire, tels que des puces de mémoire dynamique à accès aléatoire, sont connectés. En pratique un circuit de commande principal, (par exemple une unité centrale de traitement) engendre des signaux d'adresse pour accéder à des zones de mémoire prédéterminées des circuits de mémoire. Par exemple, habituellement, un signal d'adresse est reçu par les modules de mémoire o il est décodé pour activer sélectivement un plan de mémoire prédéterminé et atteindre une zone de mémoire DRAM prédéterminée, définie par le signal d'adresse. Dans un système d'ordinateur direct ayant une capacité de mémoire fixe (non extensible), il y a généralement une correspondance bilatérale (arrangement) entre les signaux d'adresse produits et les places de mémoire DRAM. Il est souhaitable que le nombre de plans de mémoire soit extensible, ce qui permet de disposer d'un plus grand nombre de circuits de mémoire, pour réaliser des révisions de logiciel ou stocker de plus grandes quantités de données, etc. Auparavant, pour effectuer des extensions de mémoire, on devait prévoir des trans- formations physiques et recâbler, à grands frais, les circuits de décodage d'adresse de module de mémoire. Un système de gestion de mémoire connu, mis au point pour pallier cet inconvénient, consistait à utiliser une pluralité de circuits multiplexeurs d'adresse et un programme de mode de fonction- nement qui comprenait un sous-programme pour réarranger des signaux d'adresse pendant l'exécution d'un programme d'application. Le procédé de réarrangement était dit "en mode connecté". Les signaux d'adresse réarrangés étaient alors utilisés pour accéder aux places de mémoire DRAM réelles. Ce sous-programme de réarrangement et le matériel supplémentaire étaient complexes, et son exécution demandait du temps. En pratique, il fallait prévoir un ou plusieurs états de pause dans la commande centrale pour réaliser le réarrangement d'adresse car un certain nombre d'instructions d'accès de commutation aux plans étaient insérées dans le code de programme, ce qui réduisait sensiblement la vitesse d'exécution du programme d'application et augmentait la probabilité d'erreurs d'accès de mémoire. Le sous-programme de réarrangement était fixé une fois pour toutes, ou non auto-adaptatif, car, pour avoir une extension de mémoire supplémentaire (ou une réduction), on devait modifier divers paramètres du programme ce qui, à son tour, nécessitait le remplacement d'un minidisque ou d'une mémoire morte contenant le programme mode de fonctionnement. Selon la présente invention, un système de gestion de mémoire peu coûteux et auto-adaptatif est prévu pour détecter la présence de circuits de mémoire reliés à des plans de mémoire prédéterminés d'une pluralité de modules de mémoire dans un système d'ordinateur, réarranger, pendant une procédure d'initialisation, des signaux d'adresse produits par une unité de commande centrale et, ensuite, produire des signaux d'activation pour mettre en service en contiguïté les plans de mémoire prédéterminés. Selon un exemple de réalisation préféré de l'invention, les circuits de signaux d'activation comprennent des circuits logiques programmables engendrant les signaux d'activation pour activer sélectivement certains plan s de mémoire prédéterminés durant chaque accès de mémoire sans causer de perte de temps supplémentaire sous la forme d'états de pause. Un système d'ordinateur classique peut avoir deux modules de mémoire, appelés module principal et module d'extension,chaque module ayant une capacité de 2,5 M octets répartis en cinq plans de mémoire de 512 k octets. Les adresses de mémoire des deux modules doivent être contiguës. Donc, la première place de mémoire du module d'extension aura une adresse de 280000 (hex). Cependant, si le module principal n'est pas entièrement rempli (2,5 M octects), mais nia, en réalité, que 1 M octets de puces DRAM reliées (c'est-à-dire que deux seulement des cinq plans sont remplis) , la dernière adresse de mémoire valide sur le module principal est OFFFFF (hex.), et l'adresse suivante contiguë sera 100000 (hex.). Selon la présente invention, seulement 1 M octets de mémoire seront détectés sur le module de mémoire principal et, en réponse, des- signaux de commande prédéterminés seront transmis aux circuits de signal d'activation de manière que, si la commande centrale produit un signal d'adresse de 100000 (hex.), les circuits de signal d'activation du module d'extension réarrangeront les places de mémoire en commençant à 280000 (hex.) à une adresse de 100000 (hex.) et les circuits de signaux d'activation sur le -module principal mettront au repos l'espace d'adresse de mémoire de 100000 (hex.), de telle sorte que l'accès aura lieu à la première place du module d'extension et non à la place 100000 du module principal. Donc, le second plan de mémoire du module principal et le premier plan du module d'extension seront contigus. Le système n'est pas coûteux et le procédé de détection de mémoire est, de préférence, réalisé avant le premier accès de mémoire (c'est-à-dire à la mise sous tension), de sorte qu'on n'a pas de temps d'attente pendant les accès de mémoire ultérieurs, comme dans la technique antérieure "en mode connecté". Si d'autres plans du module principal sont remplis (c'est-à-dire le troisième, le quatrième ou le cinquième, etc.), le système de gestion de mémoire détecte la présence de la mémoire d'extension pendant l'initialisation ou la mise sous tension et en réarrange la première place de mémoire de façon à ce qu'elle soit contiguë avec la dernière adresse de mémoire valide du module de mémoire principal. Ainsi, le système est auto-adaptatif et on évite l'inconvénient de devoir réviser le programme du système de fonctionnement par le remplacement d'un minidisque ou d'une mémoire morte ou par trans- formation et recâblage. D'une manière générale, l'invention est un système de traitement de mémoire d'ordinateur qu'on connecte à une pluralité de modules de mémoire comportant chacun une pluralité de plans de mémoire, dont certains prédéterminés ont un ou plusieurs circuits de mémoire qui leur sont reliés. L'invention comprend des circuits pour produire des signaux d'adresse, des circuits pour recevoir des premiers signaux d'adresse et, en réponse, détecter la présence de circuits de mémoire connectés aux plans de mémoire prédéterminés, et des circuits pour recevoir et réarranger d'autres signaux d'adresse et, en réponse, mettre en service en contiguïté les plans de mémoire prédéterminés, afin de compenser automatiquement les variations du nombre de circuits de mémoire reliés à la pluralité de modules de mémoire sus-mentionnée quand on adresse lesdits modules. Plus particulièrement, l'invention est un système de gestion de mémoire d'ordinateur qu'on relie à une pluralité de modules de mémoire comportant chacun une pluralité de plans de mémoire, dont certains prédéterminés ont un ou plusieurs circuits de mémoire qui leur sont reliés. L'invention comprend un circuit engendrant des signaux d'adresse, un circuit pour recevoir certains signaux d'adresse prédéterminés et engendrer des signaux d'activation pur activer, en réponse, des plans de mémoire successifs, un circuit pour détecter la présence de circuits de mémoire reliés aux plans de mémoire prédéterminés sus-mentionnés effectivement activés et produire, en réponse, un ou plusieurs signaux de commande, et un circuit pour recevoir les signaux de commande et d'autres signaux d'adresse, réarranger les autres signaux d'adresse reçus et, en réponse, mettre en service en contiguïté les plans de mémoire prédéterminés. L'invention est aussi une méthode de traitement de mémoire d'ordinateur qu'on utilise en combinaison avec un ou plusieurs modules de mémoire comportant chacun une pluralité de plans de mémoire dont certains prédéterminés ont un ou plusieurs circuits de mémoire qui leur sont reliés, comprenant les phases suivantes: produire des signaux d'adresse et de commande, recevoir certains des signaux d'adresse et de commande et, en réponse, détecter la présence de circuits de mémoire reliés aux plans de mémoire prédéterminés, recevoir d'autres signaux de commande et d'adresse et mettre en service en contiguïté les plans de mémoire prédéterminés corres- pondants en réponse à la réception des autres signaux de commande et d'adresse et à la détection de la présence des circuits de mémoire. On comprendra mieux l'invention à la lecture de la description détaillée suivante, celle-ci étant faite en relation avec les dessins joints, parmi lesquels: la Fig. 1 est un bloc-diagramme d'un système de gestion de mémoire selon la présente invention, et la Fig. 2 est un diagramme schématique d'un circuit de production de signaux d'activation selon un exemple de réalisation préféré de la présente invention. A la Fig. 1, un module de mémoire principal 1 et un module d'extension 2 comportent chacun une pluralité de plans de mémoire BO, B1, B2,..., BN. En pratique, chaque plan comprend une ou plusieurs puces DRAM (telles que des puces de 64 k ou 256 k). Les terminaux de données des plans de mémoire respectifs sont reliés à un bus de données 3 et leurs entrées d'adresse à des lignes d'adresse A1 à Ai d'un bus d'adresse 4 relié à la commande centrale 5, telle qu'un microprocesseur. Des circuits de génération de pre miers et second signaux d'activation 6A et 6B ont leurs sorties d'activation reliées respectivement aux entrées des plans de mémoire BO, Bl, B2,.., BN des modules 1 et 2. Une première pluralité d'entrées d'adresse des circuits de signaux d'activation sont reliées aux lignes d'adresse Ai à Aj du bus d'adresse 4, et une seconde pluralité d'entrées sont reliées à un bus de commande 7 relié à la commande centrale 5. De plus, une sortie de signal RSTVEC de la commande centrale 5 est reliée à une autre entrée du circuit 6A et, au moyen d'une bascule 8, à une autre entrée du circuit du 6B, sous la commande de signaux sur les bus d'adresse et de commande 4 et 7, respectivement. En fonctionnement, la commande centrale 5 engendre des signaux d'adresse et de commande prédéterminés sur les bus d'adresse et de commande 4 et 7 et à sa sortie RSTVEC et les applique au circuit 6A. En réponse, le circuit 6A, commandé par le programme, active successivement les plans de mémoire BO, B1, B2,..., BN du module 1 et la commande centrale 5 détecte la présence des puces de mémoire qui sont connectées à ces derniers. Par exemple, le plan de mémoire BO est activé par le circuit de signaux d'activation 6A et la commande centrale 5 engendre un signal de données sur le bus de données 3 à mémoriser à une place prédéterminée du plan de mémoire BO. Ensuite, la commande centrale 5 lit le signal de données mémorisé à la place prédéterminée. Si au plan de mémoire BO sont connectées des puces DRAM, la commande centrale 5 y lit le signal de données précédemment mémorisé. Par contre, si le plan de mémoire BO n'a pas de puces DRAM qui lui sont connectées, un signal de défaut, par exemple FF (hex.), est lu par la commande centrale 5 en réponse à l'accession aux puces DRAM non-existantes. S'il y a détection de puces DRAM, le plan de mémoire BO est maintenu activé, le plan B1 est activé et le processus de détection de puce DRAM est répété. S'il y a détection d'un plan de mémoire vide (c'est-à-dire un plan auquel n'est reliée aucune puce DRAM), la commande centrale 5 met au repos le plan de mémoire vide et mémorise des signaux de commande prédéterminés dans les circuits de signal d'activation indiquant le nombre de plans de mémoire BO, B1, B2,..., BN du module 1 auxquels sont reliées des puces DRAM, de sorte que la première place de mémoire valide du module 2 soit réarrangée pour être contiguë à la dernière place valide du module 1, comme on l'expliquera dans la suite, à propos de la Fig. 2. Ainsi, pendant l'exécution d'un programme par la commande centrale 5, des adresses de mémoire sont réarrangées par les circuits 6A et 6B pour mettre en service en contiguïté des places de mémoire des modules 1 et 2, respectivement. Le signal RSTVEC est un signal de qui met au repos tous les modules de mémoire pendant la réinitialisation du système pour permettre une recherche de vecteur dans la mémoire morte ROM. Il active, en alternance, les modules 1 et 2 au moyen de la bascule 8 popr résoudre les conflits entre les bus de données pendant le processus de réarrangement. La Fig. 2 montre un diagramme schématique d'un circuit de signal d'activation 6A ou 6B. Dans l'exemple de réalisation préféré de l'invention, chaque module 1 ou 2 comporte cinq plans de mémoire BO à B4. Les entrées d'adresse d'une unité logique programmable (PAL) 9 sont reliées aux lignes d'adresse A17 à A22 du bus d'adresse 4. Les lignes d'adresse A17 à A22 correspondent aux lignes Ai à Aj de la Fig. 1. Les lignes de données DO à D4 du bus de données 3, Fig. 1, sont respectivement reliées aux entrées de données 1D à 5D, d'un registre de données 10. L' entrée de mise A zéro du registre 10 est reliée à la ligne de commande RESET du bus de commande 7. Les sorties 1Q, 2Q, 3Q, 4Q et 5Q du registre 10 sont reliées aux entrées de commande CTRL de l'unité 9 et produisent respectivement des signaux de commande A, B, C, D et X, qui seront décrits plus en détail dans la suite. Une autre entrée de commande de l'unité 9, RSTVEC, est reliée à la sortie RSTVEC de la commande centrale 5, comme on l'a expliqué ci-dessus à propos de la Fig. 1, ou, dans le cas du circuit 6B, à la sortie de la bascule 8, elle-même reliée à la sortie RSTVEC de la commande centrale 5. Les sorties RCASO, RCAS1, RCAS2, RCAS3 et RCAS4 de l'unité 9 sont respectivement reliées aux premières entrées de portes NON-ET 11, 12, 13, 14 et 15 et à des inverseurs 16, 17, 18, 19 et 20. Les secondes entrées des portes NON-ET 11 à 15 sont reliées à la sortie d'une porte NON-ET 21. La première entrée de la porte NON-ET 21 est reliée à la-sortie d'un inverseur 22 dont l'entrée est reliée à la ligne de commande REFRESH du bus de commande 7 relié à la commande centrale 5. La seconde entrée de la porte NON-ET 21 est reliée à la sortie d'inverseurs 23 et 24 en série. L'entrée de l'inverseur 24 est reliée à une ligne d'adresse A23 de la commande centrale 5 et sa sortie à l'entrée de l'inverseur 23. Les sorties des portes NON-ET ll à 15 sont respectivement reliées aux premières entrées de portes NON-ET 25 à 29 et les sorties des inverseurs 16 à 20 sont respectivement reliées aux premières entrées de portes NONET 30 à 34. Les sorties des portes NON-ET 25 à 34 sont respectivement reliées à des résistors de sortie 35 à 44. Les résistors de sortie 35 à 39 sont respectivement reliés à des terminaux de sortie de sélection d'adresse de rangée RASO à RAS4 et les sorties des résistors 40 à 44 aux terminaux de sélection d'adresse de colonne CASO à CAS4. Les terminaux de sortie d'adresse de rangées et de colonne RASO à RAS4 et CASO à CAS4 sont reliés aux entrées d'activation de rangée et de colonne des plans de mémoire respectifs BO à B4 du module de mémoire principal 1. Une sortie de sélection d'adresse AS de la commande centrale 5 est reliée à un inverseur 45 dont la sortie est reliée aux secondes entrées des portes NON-ET 25 à 29, et à l'entrée IN d'une ligne à retard 46 dont la sortie est reliée aux secondes entrées des portes NON-ET 30 à 34. En fonctionnement, on détecte d'abord la quantité de mémoires connectées à des plans de mémoire adjacentss BO à B4 du module 1, Fig. 1. Comme l'unité 9 est programmée, d'une manière classique, selon les équations des tableaux 1 et 2 ci-dessous, elle produit des ? signaux bas actifs sur des sorties prédéterminées RCASO à RCAS4 en réponse à la réception de signaux prédéterminés sur ses entrées d'adresse et de commande ADDRESS et CTRL. Dans l'exemple de réalisation préféré de l'invention, les modules 1 et 2, Fig. 1, comprennent chacun cinq plans de mémoire BO à B4 contenant des puces DRAM de 64 k ou 256 k, comme on l'a déjà expliqué. Si le module 1 comprend des puces de 64 k, il peut contenir jusqu'à 640 k. Si le module 1 comprend des puces de 256 k, il peut contenir jusqu'à 2,5 M octects de données. De même, le module 2 peut contenir des puces de 64 k ou des puces de 256 k, mais pas les deux. Les équations du programme de l'unité 9, produisant les signaux d'activation bas actifs aux sorties RCASO à RCAS4 pour activer des plans de mémoire prédéterminés, sont illustrées respectivement dans les tableaux 1 et 2. Le fonctionnement de l'exemple de réalisation préféré de l'invention sera décrit en référence avec les Figs. 1 et 2 et le tableau 2, et en considérant le cas o des puces de 256 k se trouvent dans les plans BO et B1 du module 1 et dans le plan BO du module 2. Selon l'exemple de réalisation préféré de l'invention, le bus de données 3 est un bus de 16 bits et les puces DRAM sont des éléments de 1 bit. Ainsi, seize puces DRAM se trouvent dans chaque plan pour produire des signaux de données de 16 bits. Donc, pour le cas sus-mentionné, chaque plan contient 512 k octets de mémoire repré- sentant 1 M octets dans le module 1 et 512 k octets dans le module 2, pour une capacité totale du système de 1,5 M octets. A la remise à zéro du système ou à la mise sous tension, un programme d'initialisation est exécuté, pendant lequel la commande centrale 5 délivre des signaux logiques bas sur les lignes d'adresse A3 à A23 du bus d'adresse 4, Fig. 1, à la sortie RSTVEC et à la ligne RESET du bus de commande 7, de sorte que des signaux de niveau logique bas sont appliqués aux sorties 1Q à 5Q du registre 10 et aux entrées ADDRESS, CTRL et RSTVEC de l'unité 9 et que le signal de niveau logique bas RSTVEC est bloqué dans la bascule 8 sous la commande de signaux sur les bus d'adresse et de commande 4 et 7, d'une manière classique. Un signal logique haut est alors délivré à la sortie RSTVEC pour activer le circuit 6A. La sortie RCASO de l'unité 9 passe donc à l'état haut, activant 512 k octects de mémoire dans le plan de mémoire BO du module 1. TABLEAU 1 EQUATIONS POUR DES PUCES DE 64 k BCASO 7A22 * /A21 * /A20 * /A19 * /A18 * /A17 * RSTVEC * /X + /A22 * /A21 */A20 * A19 * /A18 * A17 * RSTVEC * X * /C * /D * A + /A22 * /A21 * A20 * /A19 * /A18 * /A17 * RSTVEC * X * C * /D * /A + /A22 * /A21 * A20 * A19 * /A18 * /A17 * RSTVEC * X * C * /D * A + /A22 * A21 */A20 * /A19 * /A18 * /A17 * RSTVEC * X * C * D * /A + /A22 * A21 */A20 * A19 * /A18 * /A17 * RSTVEC * X * C * D * A + /A22 * /A21 * /A20 * A19 * /A18 * /A17 * RSTVEC * X * /C * D * A RCAS- /A22 * /A21 * /A20 * /A19 * /A18 * A17 * RSTVEC * /X * A + /A22 * /A21 */A20 * -Al9 * A18 * /A17 * RSTVEC * X * /C * /D * A * D + /A22 * /A21 * A20 * /A19 * /A18 * A17 * RSTVEC * X * C * /D * /A * D + /A22 * /A21 * A20 * A19 * /A18 * A17 * RSTVEC * X * C * /D * A * D + /A22 * A21 */A20 * /A19 * /A18 * A17 * RSTVEC * X * C * D * /A * D + /A22 * A21 */A20 * A19 * /A18 * A17 * RSTVEC * X * C * D * A * D + /A22 * /A21 */A20 * A19 * /A18 * A17 * RSTVEC * X * /C * D * A * D 2 5 RCAS2 /A22 * /A21 */A20 * /A19 * A18 * /A17 * RSTVEC * /X * A * B + /A22 * /A21 */A20 * A19 * A18 * A17 * RSTVEC * X * /C * /D * A * D + /A22 * /A21 * A20 * /A19 * A18 * /A17 * RSTVEC * X * C * /D * /A * D + /A22 * /A21 * A20 * A19 * A18 * /A17 * RSTVEC * X * C * /D * A * D + /A22 * A21 */A20 * /A19 * A18 * /A17 * RSTVEC * X * C * D * /A * D + /A22 * A21 */A20 * A19 * A18 * /A17 * RSTVEC * X * C * D * A * D + /A22 * /A21 * /A20 * A19 * A18 * /A17 * RSTVEC * X * /C * D * A* D RCAS3 /A22 * /A21 */A20 * /A19 * A18 * A17 * RSTVEC * /X * A * B * C + /A22 * /A21 * A20 * /A19 * /A18 * /A17 * RSTVEC * X */C * /D * A * D + /A22 * /A21 * A20 * /A19 * A18 * A17 * RSTVEC * X * C * /D * /A * D + /A22 * /A21 * A20 * A19 * A18 * A17 * RSTVEC * X * C * /D * A * D + /A22 * A21 */A20 * /A19 * A18 * A17 * RSTVEC * X * C * D * /A * D + /A22 * A21 */A20 * A19 * A18 * A17 * RSTVEC * X * C * D * A * D + /A22 * /A21 * /A20 * A19 * A18 * A17 * RSTVEC * X * /C * D * A * D 4 5 RCAS4 /A22 * /A21 */A20 * A19 * /A18 * /A17 * RSTVEC * /X * A * B * C * /A22 * /A21 * A20 * /A19 * /A18 * A17 * RSTVEC * X */C * /D * A * D + /A22 * /A21 * A20 * A19 * /A18 * /A17 * RSTVEC * X * C * /D * /A * D + /A22 * A21 */A20 * /A19 * /A8 * /A17 * RSTVEC * X * C * /D * A * D + /A22 * A21 *-/A20 * A19 * /A18 * /A17 * RSTVEC * X * C * D * /A * D + /A22 * A21 * A20 * /A19 * /A18 * /A17 * RSTVEC * X * C * D * A * D + /A22 * /A21 * A20 * /A19 * /A18 * /A17 * RSTVEC * X /C * / D * A * D TABLEAU EQUATIONS POUR DES PUCES DE 256 k RCASO /A22 * /A21 * /A20 * /A19 * RSTVEC * /X + /A22 * /A21 * /A20 * A19 * /A18 * A17 * RSTVEC * X * /C * /B * A + /A22 * /A21 * A20 * /A19 * RSTVEC * X * C * /B * /A + /A22 * /A21 * A20 * A19 * RSTVEC * X * C * /B * A + /A22 * A21 * /A20 * /A19 * RSTVEC * X * C * B * /A + /A22 * A21 * /A20 * A19 * RSTVEC * X * C * B * A + /A22 * /A21 * /A20 * A19 * RSTVEC * X * /C * B * A RCASi /A22 * /A21 * /A20 * A19 * RSTVEC * /X * A + /A22 * /A21 * A20 * /A19 * /A18 * A17 * RSTVEC *X * /C * /B * A *D + /A22 * /A21 * A20 * A19 * RSTVEC * X * C * /B * /A * D + /A22 * A21 * /A20 * /A19 * RSTVEC * X * C * /B * A * D + /A22 * A21 * /A20 * A19 * RSTVEC * X * C * B * /A * D + /A22 * A21 * A20 * /A19 * RSTVEC * X * C * B * A * D + /A22 * /A21 * A20 * /A19 * RSTVEC * X * /C * B* A * D RCAS2 /A22 * /A21 * A20 * /A19 * RSTVEC * /X * A * B + /A22 * /A21 * A20 * A19 * /A18 * A17 * RSTVEC * X * /C * /B * A * D + /A22 * A21 * /A20 * /A19 * RSTVEC * X * C * /B * /A * D + /A22 * A21 * /A20 * A19 * RSTVEC * X * C * /B * A D + /A22 * A21 * A20 * /A19 * RSTVEC * X * C * B * /A * D + /A22 * A21 * A20 * A19 * RSTVEC * X * C * B * A * D + /A22 * /A21 * A20 * A19 * RSTVEC * X * /C * B * A * D 3$ RCAS3 /A22 * /A21 * A20 * A19 * RSTVEC * /X * A * B * C + /A22 * A21 * /A20 * /Al9 * /A18 * A17 * RSTVEC * X * /C * /B * A * D + /A22 * A21 * /A20 * A19 * RSTVEC * X * C * /B * /A* D + /A22 * A21 * A20 * /A19 * RSTVEC * X * C * /B * A * D + 4Q /A22 * A21 * A20 * A19 * RSTVEC * X * C * B * /A * D + A22 * /A21 * /A20 * /A19 * RSTVEC * X * C * B * A * D + /A22 * A21 * /A20 * /A19 * RSTVEC * X * /C * B * A * D 4, RCAS4 /A22 * A21 * /A20 * /A19 * RSTVEC * /X * A * B * C * D + /A22 * A21 * /A20 * A19 * /A18 * A17 * RSTVEC * X * /C * /B * A * D + /A22 * A21 * A20 * /A19 * RSTVEC * X * C * /B * /A * D + /A22 * A21 * A20 * A19 * RSTVEC * X * C * /B * A * D + E A22 * /A21 * /A20 * /A19 * RSTVEC * X * C * B * /A * D + A22 * /A21 * /A20 * A19 * RSTVEC * X * C * B * A * D + /A22 * A21 * /A20 * A19 * RSTVEC * X * /C * B * A * D Comme RSTVEC est bloqué à un niveau logique bas dans la bascule 8, Fig. 1, le circuit 6B reste au repos. Donc, aucun des plans BO à B5 du module 2 n'est activé et on évite ainsi un conflit sur le bus de données 3, Fig. 1. Pour déterminer si des puces DRAM sont ou non reliées au plan de mémoire BO, une place de mémoire prédéterminée des 512 k octets activés susmentionnés est sélectée (comme on le décrira en détail dans la suite) et un signal de données hexadécimal y est écrit à partir de la commande centrale 5 par l'intermédiaire du bus de données 3. Le signal de données n'est alors lu par la commande centrale 5 quesi une puce DRAM est reliée au plan de mémoire activé BO. Par contre, si aucune puce DRAM n'est reliée au plan de mémoire activé BO, un signal de données de défaut de FF (hex.) est reçu de ce dernier. Pour déterminer la grandeur de mémoire (c'est-à-dire le nombre de plans de mémoire BO à B4 auxquels sont connectées des puces DRAM), chacun des plans de mémoire est successivement activé et testé de la manière décrite ci-dessus. Par exemple, pour activer le plan de mémoire B1, la commande centrale 5 produit un signal logique haut et l'applique à l'entrée 1D du registre 10 o il est mémorisé. Un signal logique haut (A) est transmis du registre 10 à l'entrée de commande correspondante CTRL de l'unité 9. Ainsi, avec X, B, C et D à des niveaux logiques bas et A à un niveau logique haut, la sortie RCAS1 de l'unité 9 passe à un niveau logique bas en réponse à la présence d'un signal d'adresse 0001 sur les lignes d'adresse A22 à A19, produit par la commande centrale 5 (voir le tableau 2). Le signal de niveau logique bas provenant de la sortie RCAS1 est appliqué à la première entrée de la porte NON-ET 12. La sortie de la porte NON-ET 21 est normalement à un niveau logique haut, mais elle passe à l'état bas sous l'action du signal bas actif REFRESH qui lui est appliqué après avoir été inversé dans l'inverseur 22 et d'un signal logique haut reçu sur la ligne d'adresse A23. Ainsi, la sortie de la porte NON-ET 12 passe d'un niveau logique normalement bas à un niveau logique haut du fait que la sortie RCASl de l'unité 9 ou la sortie de la porte NON-ET 21 passe à un niveau logique bas (c'est-à-dire pendant le rafraîchissement des puces DRAM, telle qu'on l'expliquera plus en détail dans la suite). Le signal logique haut provenant de la porte NON-ET 12 est appliqué à la première entrée de la porte NON-ET 26. La seconde entrée de la porte NONET 26 reçoit un signal logique haut en réponse à un signal de sélection d'adresse bas actif AS délivré par la commande centrale 5, reçu et inversé dans l'inverseur 45 et appliqué à la porte NON-ET 26. La sortie de la porte NON-ET 26 passe à un niveau logique bas en réponse à la réception des signaux de niveau logique haut sus- mentionnés sur ses entrées, produisant ainsi un signal de sélection de rangée de mémoire RAS1 pour activer toutes les rangées de mémoire dans le plan de mémoire B1. Le signal de sortie bas actif RCAS1 est inversé dans l'inverseur 17 et appliqué à la première entrée de la porte NON-ET 31. Le signal AS inversé est retardé de 80 nanosecondes environ dans la ligne à retard 46 et appliqué à la seconde entrée de la porte NON-ET 31. Ainsi, la sortie de la porte NON-ET 31 passe à un niveau logique bas, produisant un signal de sélection de colonne de mémoire de -ASl pour activer les colonnes de mémoire dans le plan de mémoire B1 environ 80 nanosecondes après la production du signal RAS1, et activer ainsi complètement le plan de mémoire B1. Un retard d'environ 80 nanosecondes est produit entre les signaux de sortie de sélection de rangée RAS1 et les signaux de sortie de sélectionde colonne CAS1 afin que des signaux d'adresse de rangée de huit bits soient bloqués suffisamment longtemps pour multiplexer les entrées d'adresse de circuits DRAM (c'est-à-dire qu'il y a une quantité prédéterminée de charge capacitive associée avec les puces DRAM), avant de bloquer les signaux d'adresse de colonne de huit bits, d'une manière connue. Le plan de mémoire B1 étant activé à la réception des signaux RAS1 et CAS1, la commande centrale 5 y écrit puis y lit les signaux de données sus-mentionnés à une place de mémoire prédéterminée, comme on l'a expliqué ci-dessus, de manière à détecter la présence de puces de mémoire DRAM reliées au plan de mémoire B1. Comme on l'a expliqué ci-dessus, selon ce cas, les plans de mémoire BO et B1 du module de mémoire principal ont des puces DRAM qui leur sont connectées, donc la commande centrale 5 détecte leur présence et procède alors au contr8le du plan de mémoire B2. Pour contr8ler le plan de mémoire B2, des signaux logiques bas C, D et X sont appliqués aux entrées CTRL de l'unité 9, et des signaux logiques hauts A et B leur sont également appliqués, de sorte que la sortie RCAS2 délivre un signal logique bas actif en réponse au fait que le signal d'adresse 0010 (hex.) sur les lignes d'adresse A22 à A19, tableau 2, Fig. 2. Les sorties RAS2 et CAS2 des portes NON-ET 27 et 32 passent repsectivement au niveau bas de façon à activer le plan de mémoire B2. La commande centrale 5 écrit et tente de lire un signal de données à une place prédéterminée du plan de mémoire B2, maislit à la place un signal de défaut FF (hex.) puisqu'aucune puce DRAM ne lui est connectée. Ainsi, la commande centrale 5 détecte la présence de puces de mémoire sur les plans de mémoire BO et B1 seulement et produit des premiers signaux de commande dont un signal logique haut DO et des signaux logiques bas D1 à D3 pour mémorisation dans le registre 10. Donc, le registre 10 produit un signal de commande à appliquer aux entrées CTRL de l'unité 9 dans laquelle le signal de commande A est à un niveau logique haut et les signaux B, C et D à un niveau logique bas. En conséquence, seuls les plans BO et B1 du module 1 sont activés en réponse à la réception d'autres signaux d'adresse de la commande centrale 5. La commande centrale 5 délivre alors un second signal de commande pour mémorisation dans le circuit de signal d'activation 6B de façon à ce que les signaux d'adresse reçus sur les lignes d'adresse A17 à A22 soient réarrangés pour procurer une contiguïté entre la dernière place de mémoire valide du module 1 et la première place du module 2. Comme on l'a expliqué ci-dessus, les circuits de génération de signaux d'activation 6A et 6B, Fig. 2, sont identiques, mais l'entrée RSTVEC de l'unité 9 du circuit 6A est reliée directement à la sortie RSTVEC de la commande centrale 5, alors que celle de l'unité 9 du circuit 6B est reliée à la sortie de la bascule 8 dont une entrée est reliée à la sortie RSTVEC de la commande centrale 5. L'une et l'autre des unités 9 des circuits 6A et 6B peuvent être programmées selon les équations des tableaux 1 ou 2, pour adapter des puces DRAM de 64 ou 256 k. La commande centrale 5 charge le second signal de commande sus-mentionné dans le registre 10 du circuit 6B. Selon le second signal de commande, les signaux X et C sont à des niveaux logiques hauts et sont appliqués à l'entrée de commande CTRL de l'unité 9 o sont également appliqués les signaux A, B et D qui sont à des niveaux logiques bas. La commande centrale 5 commute alors la bascule 8 de sorte que le signal RSTVEC pour le module 6B passe à l'état haut. La sortie RCASO de l'unité 9 du circuit 6B passe à un niveau logique actif bas en réponse au signal d'adresse 0010 (hex.) produit par les lignes d'adresse A22 à A19, et il en résulte que le troisième terme OU dans l'équation PAL de celle-ci est vrai, tableau 2. En se référant au tableau 2, on peut voir que les valeurs des lignes d'adresse A22, A21, A20 et A19 sont toutes égales à 0 quand le plan BO du module 1 est au travail; si le plan B1 est au travail, A22, A21, A20 et A19 ont pour valeurs respectives O, O, O et 1; et si le plan BO du module 2 est au travail, A22, A21, A20 et A19 ont pour valeurs respectives O, O, 1 et O. Ainsi, on voit que l'adresse de départ du module 2 a été rendue contiguë avec la dernière place d'adresse du module 1. La commande centrale écrit des données à une place de mémoire prédéterminée du plan de mémoire BO du module 2 et les y lit, de façon à déterminer si des puces DRAM lui sont connectées. Ensuite, le plan B1 du module 2 est mis au travail en réponse au fait que la sortie RCAS1 de l'unité 9 du circuit d'activation 6B passe à un niveau logique actif bas. La sortie RCAS1 passe à l'état actif bas en réponse à une valeur 0011 appliquée aux entrées A22, A21, A20 et A19 de l'unité 9, d'o il résulte que le troisième terme OR de l'équation RCASI du tableau 2 est vrai. Il est écrit dans le plan de mémoire B1 pour déterminer si des puces DRAM lui sont connectées, et une valeur de FF y est ensuite lue, indiquant qu'il n'y a pas de puces DRAM dans le plan B1. Comme on l'a expliqué ci-dessus, les puces DRAM sont pério- diquement rafraîchies en réponse à la production d'un signal REFRESH par la commande centrale 5. Les sorties des portes NON-ET 11 à 15 passent toutes à dés niveaux logiques hauts en réponse à la production du signal REFRESH et d'un signal logique haut sur la ligne d'adresse A23 du bus d'adresse 4, Fig. 1. Les sorties des portes NON-ET 25 à 29 passent à des niveaux logiques bas en réponse au fait que les sorties des portes NON-ET 11 à 15 passent à des niveaux logiques hauts et en réponse à la réception d'un signal logique haut de l'inverseur 45 résultant d'un signal logique bas AS. Ainsi, les sorties d'adresse de rangée RASO à RAS4 des portes NONET 25 à 29 passent à des niveaux logiques bas simultanément pour faire se recycler 2,5 M octects de mémoire (ou 640 k si on utilise des puces de 64 k) Dans un prototype satisfaisant, le module 1 contenait six tailles de mémoire, selon qu'on utilisait soit des puces de 64 k, soit des puces de 256 k. Le tableau 3 établit la liste des niveaux logiques des signaux A, B et C en fonction des tailles de mémoire diverses dans le module 1, qui sont appliqués aux entrées de commande CTRL de l'unité 9 du circuit 6B, pour situer l'adresse de départ de façon à ce qu'elle soit contiguë avec la dernière place de mémoire valide du module 1. TABLEAU 3 C B A Taille (octets) 0 1 1 512 k 0 0 1 640 k 1M 1 0 1 1,5 M 1 10 2M 1 1 1 2,5 M Pour utiliser convenablement la présente invention, des puces DRAM doivent être reliées à des plans de mémoire adjacents du module de mémoire. Par exemple, l'invention ne peut pas fonctionner convenablement si aux plans de mémoire BO, B1 et B3 du module 1, sont connectées des puces DRAM, et non au plan de mémoire B2. En fait, la commande centrale 5 ne détectera que seulement la présence de puces reliées aux banques BO et B1. Des variantes ou d'autres exemple de réalisation peuvent être conçus par des spécialistes de la technique ayant compris l'invention. Par exemple, le module 1 et le module 2 peuvent comprendre plus de cinq plans de mémoire ou moins, ou on peut utiliser plus de modules de mémoire et de circuits de signal d'activation correspondants, ou les puces de mémoire qui leur sont reliées peuvent être plus ou moins importantes que 64 k et 256 k, respectivement, des changements adéquats étant apportés aux équations PAL des tableaux 1 et 2. De plus, bien que dans la description, on se réfère à des puces DRAM, d'autres circuits de mémoires tels que des mémoires à bulles, des mémoires RAM statiques, etc., peuvent être utilisées, des modifications adéquates étant apportées aux circuits 6A et 6B. Enfin, bien qu'on préfère utiliser des circuits PAL pour réaliser les circuits de signal d'activation de la présente invention, on peut utiliser d'autres circuits logiques programmables, tels que des réseaux logiques programmables (PLAs), etc. REVENDICATIONS 1) Système de gestion de mémoire d'ordinateur qu'on relie à une pluralité de modules de mémoire (1, 2) comportant chacun une pluralité de plans de mémoire (BO à BN) dont certains prédéterminés ont des circuits de mémoire qui leur sont reliés, caractérisé en ce qu'il comprend: a) des moyens (5) pour produire des signaux d'adresse, b) des moyens (6A, 6B) pour recevoir des premiers signaux des dits signaux d'adresse et détecter, en réponse, la présence desdits circuits de mémoire reliés auxdits plans de mémoire prédéterminés (BO à BN),et c) des moyens pour recevoir et réarranger d'autres signaux des signaux d'adresse et, en réponse, activer en contigulté lesdits plans de mémoire prédéterminés, afin que des variations du nombre de circuits de mémoire reliés à ladite pluralité de modules de mémoire soit automatiquement compensée quand on adresse lesdits modules. 2) Système de gestion de mémoire d'ordinateur qu'on relie à une pluralité de modules de mémoire (1, 2) comportant chacun une pluralité de plans de mémoire (BO à BN) dont certains ont un ou plusieurs circuits de mémoire qui leur sont connectés, caractérisé en ce qu'il comprend: a) des moyens (5) pour produire des signaux d'adresse, b) des moyens (6A, 6B) pour recevoir des premiers signaux prédéterminés desdits signaux d'adresse et, en réponse, produire des signaux d'activation pour activer successivement des plans de la pluralité de plans de mémoire, c) des moyens (5) pour détecter la présence de circuits de mémoire reliés à certains prédéterminés desdits plans de mémoire successivement activés et produire, en réponse, un ou plusieurs signaux de commande, et d) des moyens pour recevoir lesdits signaux de commande et d'autres signaux d'adresse, réarranger lesdits autres signaux d'adresse reçus et, en réponse, activer en contiguité lesdits plans de mémoire prédéterminés, afin que des variations du nombre de circuits de mémoire reliés à ladite pluralité de modules de mémoire soient automatiquement compensées quand on adresse lesdits modules. 3) Système de gestion de mémoire d'ordinateur selon la revendication 2, caractérisé en ce que lesdits moyens pour recevoir lesdits autres signaux d'adresse et de commande sont un ou plusieurs circuits logiques programmables (9) dont des entrées sont reliées auxdits moyens (5) de génération de signaux d'adresse et auxdits moyens de production de signaux de commande, et dont les sorties sont reliées à ladite pluralité de plans de mémoire (BO à BN). 4) Système de gestion de mémoire d'ordinateur qu'on relie à un premier (1) et second (2) module de mémoire comportant chacun une pluralité de plans de mémoire (BO à BN), dont certains ont un ou plusieurs circuits de mémoire qui leur sont reliés, caractérisé en ce qu'il comprend: - a) une commande centrale (5) pour produire des signaux d'adresse et de commande, détecter la présence de circuits de mémoire reliés auxdits plans de mémoire (BOA.à BN) dudit premier module de mémoire, et produire des premiers et des seconds signaux desdits signaux de commande indicatifs de ceux-ci, et b) des premier et second circuits logiques programmables (9) qu'on relie à ladite commande centrale (5) et auxdits premier (1) et second (2) module, pour recevoir respectivement lesdits premiers et seconds signaux de commande, et les autres signaux d'adresse, et délivre, en réponse, des signaux d'activation pour activer en contiguïté desdits plans de mémoire, afin que les variations du nombre de circuits de mémoire reliés auxdits premier et second modules de mémoire soit automatiquement compensées pendant l'adressage desdits modules. ) Système de gestion de mémoire d'ordinateur selon la revendication 4, caractérisé en ce qu'il comprend encore: a) des circuits de commande de rafraîchissement pour engendrer périodiquement des signaux de rafraîchissement, et b) des premier (25 à 29) et second (30 à 34) circuits de décodage d'adresse en rangée et en colonne reliés auxdits circuits de commande de recyclage et, respectivement, aux premier et second circuits logiques programmables, pour produire des signaux de sélection de rangée et de colonne pour activer des rangées et des colonnes desdits plans de mémoire (BO à BN) en réponse à la réception 2.582829 d'un ou plusieurs signaux de rafraîchissement ou desdits signaux d'activation. 6) Système de gestion de mémoire d'ordinateur selon la revendication 5, caractérisé en ce que chacun desdits circuits de décodage d'adresse de rangée et de colonne comprend: a) un inverseur (45) relié à ladite commande centrale, pour en recevoir un signal de commande de sélection de mémoire, b) un circuit à retard (46) relié audit inverseur (45), pour retarder ledit signal de commande de sélection de mémoire reçu, c) une première pluralité de portes NON-ET (11 à 15) dont les entrées sont reliées audit circuit de commande de rafraîchissement et des sorties prédéterminées d'un desdits circuits logiques programmable (9) correspondant, d) une pluralité d'inverseurs (16 à 20) dont les entrées sont reliées audites sorties du circuit logique programmable (9) corres- pondant, pour recevoir et inverser lesdits signaux d'activation, e) une seconde pluralité de portes NON-ET (25 à 29) dont les premières entrées sont reliées aux sorties de ladite première pluralité de portes NON-ET (11 à 15) et les secondes entrées reliées audit inverseur (45), pour produire lesdits signaux de sélection de rangée en réponse à la réception dudit signal de sélection de mémoire et à la production d'un desdits signaux d'activation ou de rafraîchis- sement, et f) une troisième pluralité de portes NON-ET (30 à 34) dont les premières entrées sont reliées auxdits inverseurs (16 à 20) et les secondes entrées reliées audit circuit à retard (46), pour produire lesdits signaux de sélection de colonne en réponse à la réception d'une version retardée dudit signal de sélection de mémoire et desdits signaux d'activation inversés. 7) Système de gestion de mémoire d'ordinateur-selon l'une des revendications 4, 5 ou 6, caractérisé en ce que lesdits circuits logiques programmables (9) sont des circuits logiques à réseaux programmables. 8) Système de gestion de mémoire d'ordinateur selon l'une des revendications 4, 5 ou 6, caractérisé en ce que lesdits circuits logiques programmables (9) sont des réseaux logiques programmables. 9) Méthode de gestion de mémoire d'ordinateur qu'on utilise en combinaison avec un ou plusieurs modules de mémoire comportant chacun une pluralité de plans de mémoire dont certains prédéterminés ont un ou plusieurs circuits de mémoire qui leur sont reliés, caractérisée en ce qu'elle comprend les phases suivantes: a) produire des signaux de commande et d'adresse, b) recevoir des premiers signaux desdits signaux et détecter, en réponse, la présence de circuits de mémoire reliés auxdits plans de mémoire prédéterminés, et c) recevoir des seconds signaux desdits signaux et activer en contigu!té des plans de mémoire prédéterminés en réponse à la réception desdits seconds signaux et à la détection de la présence desdits circuits de mémoire, afin que les variations du nombre de circuits de mémoire reliés auxdits modules de mémoire soient automatiquement compensées pendant l'adressage dudit module. ) Méthode selon la revendication 9, dans laquelle ladite étape consistant à détecter la présence de circuits de mémoire comprend encore les phases suivantes: a) produire un ou plusieurs signaux de données à mémoriser dans lesdits plans de mémoire, et b) retrouver lesdits signaux de données mémorisés dans lesdits plans de mémoire prédéterminés et retrouver des signaux de défaut dans les autres plans de mémoire, et, en réponse, produire d'autres signaux de commande indiquant la présence desdits circuits de mémoire détectés. 11) Méthode de gestion de mémoire d'ordinateur qu'on utilise avec un module de mémoire principal et un module d'extension comportant chacun une pluralité de plans de mémoire dont certains prédéterminés ont un ou plusieurs circuits de mémoire qui leur sont reliés, caractérisée en ce qu'elle comprend les phases suivantes: a) produire des premiers signaux d'adresse pour les appliquer à un premier circuit logique programmable relié au module de mémoire principal et, en réponse, activer successivement les plans de mémoire dudit module principal, b) détecter la présence de circuits de mémoire reliés aux plans de mémoire prédéterminés parmi les plans de mémoire activés dudit module principal, c) engendrer et mémoriser des premier et second signaux de commande qui indiquent que des circuits de mémoire sont reliés auxdits plans de mémoire prédéterminés du module principal, d) appliquer ledit premier signal de commande audit premier circuit logique programmable, e) appliquer ledit second signal de commande à un second circuit logique programmable relié audit module d'extension, et f) engendrer d'autres signaux d'adresse pour appliquer auxdits premier et second circuits logiques programmables et, en réponse, activer en contiguïté lesdits plans de mémoire prédéterminés du premier module et du module d'extension, afin que les variations du nombre de circuits de mémoire reliés audit module principal et audit module d'extension soient automatiquement compensées pendant l'adressage dudit module.