Brevet FR2668622A1 — publié le 19920430

CIRCUIT DE CONTROLE D'ACCES A UNE MEMOIRE La présente invention concerne un dispositif contrôleur d'accès à une mémoire dynamique coopérant avec des moyens de détection et de correction d'erreurs. Un tel dispositif est connu du brevet des Etats-Unis d'Amérique n 4.542.454. L'objet de ce brevet est de proposer un dispositif qui permette à la fois d'effectuer le rafraîchissement des mémoires dynamiques et de profiter de ces cycles pour détecter des éléments binaires en erreur et les corriger rapidement lorsque l'erreur détectée porte sur un seul élément binaire. Pour cela deux modes sont revendiqués, un premier mode pour le rafraîchissement des données proprement dit et un second mode selon lequel il est accédé à la mémoire pour simultanément rafraîchir les données et détecter et corriger les erreurs d'un élément binaire dans les données. Ces fonctions sont réalisées au moyen d'une pluralité de circuits discrets. Le processus de rafraîchissement s'effectue en même temps sur toutes les banques, rafraîchissement selon les lignes de données du type habituellement nommé '^RAS onlyfl, sauf sur l'une des banques où un véritable cycle de lecture avec détection et correction d'erreurs est exécuté. Tous les mots d'une banque sont ainsi examinés à l'occasion de chaque rafraîchissement général, puis le dispositif effectue l'examen d'une autre banque. Cependant, ce dispositif comporte plusieurs inconvénients. Un premier inconvénient majeur tient au fait que l'utilisation d'un tel dispositif entraîne une perte de performance. En effet, un rafraîchissement du type RAS only" est très pénalisant en ce qui concerne sa durée et la vitesse est de ce fait très sensiblement diminuée. De plus, actuellement il est à constater une forte inclination à la miniaturisation ce qui ne va pas dans le sens de l'utilisation du dispositif de l'art antérieur qui est constitué d'une pluralité de circuits discrets. Enfin, dans les dispositifs connus, la fonction de détection et de correction d'erreurs est effectuée au moyen d'un circuit par lequel transitent les signaux de données indépendant de celui utilisé spécifiquement pour le contrôle d'accès à la mémoire où transitent les signaux d'adresses. Ceci entraîne l'inconvénient suivant : en cas d'instabilité d'un élément binaire, c'est-à-dire lorsque celui-ci ne peut être de manière indiscutable discriminé à un niveau 1 ou à un niveau 0, il peut arriver que l'élément binaire instable soit corrigé à tort ou qu'au contraire, il ne soit pas corrigé alors qu'un très court instant plus tard, il est devenu incorrect sur le trajet des données entre le circuit de détection et de correction d'erreurs et la mémoire où sont stockées lesdites données. La présente invention propose un dispositif du genre précité mais qui ne présente pas les divers inconvénients de ce dispositif connu. Pour cela, le dispositif contrôleur d'accès à une mémoire dynamique du type mentionné dans le préambule est remarquable en ce qu'il est monolithiquement intégré dans un circuit d'application spécifique constitué d'un bloc de transit des données associé à un bloc de commande comportant, entre autres, des moyens de jonction réalisant directement et de manière interne l'interface électrique et temporelle entre les différents signaux présents sur le bus d'un microprocesseur et une pluralité de banques de la mémoire dynamique dont la capacité est programmable à partir dudit circuit ainsi que des moyens de détection et correction d'erreurs améliorés, les signaux de données reçus directement étant transmis vers la mémoire, après insertion d'un code correcteur d'erreurs, les erreurs simples étant ensuite, après détection, systématiquement et automatiquement corrigées lors de la lecture desdits signaux. Ainsi le dispositif selon l'invention est, de par son intégration monolithique, de volume réduit et donc de très faible encombrement. La programmation autorise de plus un choix souple et aisé de la capacité des différentes banques de mémoire. En outre, le bus du microprocesseur étant directement connecté aux entrées du dispositif, signaux de données, d'adresses et de commande transitent par celui-ci et sont ainsi traités de manière interne, ce qui a pour résultat et pour principal avantage d'améliorer la qualité de la correction des erreurs. En effet, lorsque se présente un élément binaire instable, celui-ci est contrôlé et corrigé (s'il y a lieu) dans le même composant.Pour cela, il est directement enregistré sans possibilité de changement dans l'instant suivant et il est transmis, après insertion d'un code correcteur d'erreurs destiné à la détection et correction des éventuelles erreurs, vers la banque de mémoire adressée, puis remis en forme à la lecture. Tous les éléments binaires sont ainsi générés, après avoir été corrigés (s'il y a lieu) automatiquement sans défaut. Selon une autre caractéristique remarquable, le présent dispositif comporte un moyen de commutation de mode autorisant le passage du mode contrôleur d'accès à une mémoire dynamique avec détection et correction d'erreurs à un mode contrôleur d'accès à une mémoire statique avec contrôle de parité, les broches du circuit reliées à la mémoire étant alors réaffectées pour ladite mémoire statique et le bloc de transit de données étant, en lecture, spécialement adapté à cet effet. Selon une forme de réalisation préférée, le moyen de commutation de mode est une broche du circuit sur laquelle est appliqué un signal de commande approprié, broche qui, dans le circuit, est connectée au bloc de transit des données et au bloc de commande pour, en réponse au signal de commande et en fonction du mode commuté, sélectionner le trajet et aiguiller les données. Ainsi grâce à cette caractéristique avantageuse, il suffit de commander le dispositif selon l'invention en appliquant un signal approprié (par exemple une tension de référence) sur une de ces broches prévue à cet effet pour disposer d'une interface capable de gérer, soit une mémoire dynamique avec détection et correction d'erreurs, soit une mémoire statique, par exemple une antémémoire, bénéficiant d'une protection par contrôle de parité. De manière générale, sur une carte mémoire quelconque, deux dispositifs conformes à l'invention peuvent être implantés pour gérer et contrôler, l'un une mémoire dynamique, l'autre une mémoire statique, les deux dispositifs utilisés étant donc identiques, seule la commande de la broche de mode privilégiant un mode plutôt que l'autre. Suivant une autre caractéristique du dispositif selon l'invention, le bloc de transit de données comporte de plus des moyens de stockage intermédiaire de profondeur n, n étant le nombre de mots désirés stockés, les mots en provenance du bus du microprocesseur pour une écriture dans la mémoire étant stockés à la vitesse de l'horloge du microprocesseur puis écrits dans la mémoire à la vitesse de ladite mémoire, alors que la lecture de la mémoire est effectuée à la vitesse de ladite mémoire. Cette caractéristique d'adaptation de débit entre la mémoire et le microprocesseur est avantageuse et ceci d'autant plus que l'interface est prévue pour convenir, directement ou moyennant une légère adaptation, à différents bus de divers types de microprocesseurs. Ainsi, par exemple, elle convient particulièrement et de manière directe, à un MC 68030 ou à un MC 68040 de chez Motorola, deux microprocesseurs qui peuvent être exploités également en mode llburstVV (transmission d'une salve ou d'un paquet de mots). L'utilisation de ce mode "burst", en ce qui concerne le premier microprocesseur n'est pas toujours d'un grand intérêt. Par contre, pour atteindre les performances optimales du second microprocesseur, il est impératif de pouvoir l'utiliser également selon ce dernier mode.Comme lesdits moyens de stockage du dispositif se présentent comme un pipeline fonctionnant dans les deux sens, en écriture, par exemple avec un 68040, 4 mots de 32 bits peuvent être transmis et stockés à la vitesse du bus du microprocesseur, c'est-à-dire à chaque cycle d'horloge, mots qui sont ensuite chargés en mémoire à la vitesse de celle-ci et donc de manière asynchrone. En lecture, par contre, les mots sont lus à la vitesse de la mémoire les uns après les autres. Dans le cas d'une utilisation du dispositif en association avec un microprocesseur du type MC 68040 dont le nombre de mots transmis par paquet ou par salve est égal à 4, la profondeur n est donc égale à 4. Le dispositif selon l'invention est en outre remarquable en ce que le bloc de commande comporte, entre autres, un registre de commande pour imposer divers modes de paramètres de fonctionnement, un registre d'état fournissant les informations relatives aux corrections d'erreurs ou aux erreurs de parité et un registre de test permettant de contrôler le fonctionnement de l'ensemble du dispositif contrôleur d'accès et mémoire associée. L'accès au registre de commande n'est autorisé que pour les opérations d'écriture. Ce registre permet, entre autres, de valider ou non la correction d'une erreur, d'imposer une interruption si la correction d'erreur n'est pas désirée ou si une erreur double est détectée, de vérifier la présence ainsi que la capacité de la mémoire associée, de contrôler la fréquence d'horloge du microprocesseur etc..., et principalement d'autoriser des accès directs à la mémoire lorsque celle-ci est une mémoire statique. Le registre d'état fournit les informations relatives aux corrections d'erreurs, ou pour une mémoire statique, aux erreurs de parité ou aux adresses de début d'un cycle burst. Son accès n'est permis que pendant une opération de lecture. Ainsi il permet, entre autres, de savoir si une erreur simple ou double s'est produite, dans quelle banque et éventuellement à quelle adresse ou si une erreur de parité est apparue sur une adresse ou une donnée. L'accès au registre de test n'est également permis que durant une opération de lecture. Ce registre permet, entre autres, de réaliser des diagnostics, de tester le fonctionnement de l'ensemble contrôleur - mémoire associée, par exemple en imposant une erreur. La description suivante, en regard des dessins annexés, le tout donné à titre d'exemple, fera bien comprendre comment l'invention peut être réalisée. La figure 1 présente un schéma synoptique synthétique du dispositif selon l'invention. La figure 2 propose un exemple d'agencement du bloc de transit des données permettant de préciser le chemin emprunté dans le sens écriture dans la mémoire. La figure 3 propose un exemple d'agencement du bloc de transit des données permettant de préciser le chemin emprunté dans le sens lecture de la mémoire. La figure 4 donne un exemple de structure du bloc de commande. Sur la figure 1 est représenté un schéma synoptique du dispositif contrôleur d'accès à une mémoire dynamique DMC coopérant avec des moyens de détection et de correction d'erreurs. Conformément à l'idée de l'invention, ce dispositif est monolithiquement intégré dans un circuit d'application spécifique constitué d'un bloc de transit des données DPB associé à un bloc de commande COB comportant, entre autres, des moyens de jonction réalisant directement et de manière interne l'interface électrique et temporelle entre les différents signaux AS (monodirectionnels), CS (bidirectionnels), DS (bidirectionnels) présents sur le bus d'un microprocesseur MPR et une pluralité de banques de la mémoire dynamique DMEM dont la capacité est programmable à partir dudit circuit ainsi que des moyens de détection et de correction d'erreurs améliorés, les signaux de données reçus directement étant transmis vers la mémoire, après insertion d'un code correcteur d'erreurs, les erreurs simples étant ensuite, après détection, systématiquement et automatiquement corrigées lors de la lecture desdits signaux. Sur le schéma synthétique de la figure 1 les moyens de jonction sont inclus dans les blocs DPB et COB et les moyens de détection et de correction d'erreurs sont inclus dans le bloc DPB. Le bloc DPB fixant le chemin des données à lire et à écrire dans la mémoire, est décrit de manière détaillée avec les figures 2 et 3 et le bloc COB avec la figure 4. De manière générale, le bloc DPB est en relation directe, d'une part avec le microprocesseur MPR au moyen des signaux de données bidirectionnels DS provenant du microprocesseur MPR pour une écriture dans la mémoire DMEM ou d'une lecture de la mémoire DMEM vers le microprocesseur MPR, et d'autre part avec la mémoire DMEM au moyen de signaux MD également bidirectionnels provenant de la mémoire DMEM lors d'une lecture de celle-ci ou du microprocesseur pour être stockés dans ladite mémoire lors d'une écriture dans celle-ci. De même, le bloc COB est en relation directe avec le microprocesseur MPR par l'intermédiaire des signaux d'adresses monodirectionnels AS permettant d'opérer la sélection des banques et emplacements de la mémoire DMEM pour une écriture ou une lecture de données et par l'intermédiaire des signaux de commande bidirectionnels CS pour la gestion de l'interface bus microprocesseur et des commandes externes et la génération des commandes relatives au décodage des divers modes et fonctions internes. Enfin le bloc COB est en liaison directe avec la mémoire DMEM au moyen des signaux bidirectionnels MMA caractéristiques des adresses multiplexées de la mémoire DMEM et au moyen des signaux monodirectionnels EXMC spécifiques des commandes imposées à la mémoire DMEM. D'autre part, à l'intérieur du dispositif DMC, les blocs DPB et COB sont interconnectés et échangent également des signaux. Ainsi le bloc COB émet vers le bloc DPB, d'une part un signal de commande interne ICDP relatif aux séquences imposées et aux informations d'état ou de test et d'autre part un signal de commande OCDP autorisant la transmission des données du bloc DPB vers la mémoire DMEM. De même, le bloc DPB émet vers le bloc COB un signal ID significatif des données présentées à son entrée. En outre, selon une caractéristique avantageuse, le dispositif selon l'invention comporte un moyen de commutation de mode autorisant le passage du mode contrôleur d'accès à une mémoire dynamique avec détection et correction d'erreurs à un mode contrôleur d'accès à une mémoire statique avec contrôle de parité, les broches du circuit reliées à la mémoire étant alors réaffectées pour ladite mémoire statique et le bloc de transit des données étant, en lecture, spécialement adapté à cet effet. Plus particulièrement, dans la forme de réalisation ici décrite, le moyen de commutation de mode est une broche du circuit sur laquelle est appliqué un signal de commande approprié, broche qui, dans le circuit, est connectée au bloc de transit des données et au bloc de commande pour, en réponse au signal de commande et en fonction du mode commuté, sélectionner le trajet et aiguiller les données. Le moyen de commutation de mode est donc ici une des broches du circuit en liaison avec le microprocesseur MPR par l'intermédiaire des signaux de commande CS du bus. Le signal de commande appliqué est un signal de référence, par exemple une tension de 0 V ou de 5 V, la tension appliquée correspondant à la sélection d'un mode. Selon le mode désiré, un trajet est imposé aux données qui sont aiguillées à l'intérieur du bloc DPB. Lors d'une opération d'écriture, le chemin emprunté par les données est le même (décrit avec la figure 2) que les données soient destinées à être stockées en mémoire dynamique après insertion d'un code correcteur d'erreurs ou en mémoire statique après ajout d'un bit de parité par octet.Lors d'une opération de lecture, le trajet emprunté par les données n'est plus totalement identique (décrit avec la figure 3), le bloc DPB étant conçu pour cela de manière appropriée. De la même manière, les broches du dispositif reliées une mémoire dynamique DMEM sont réaffectées lorsque celles-ci sont reliées à une mémoire statique. Ainsi, pour différencier ces deux cas, sur la figure 1 apparaît une double appellation, la première relative à une liaison du dispositif avec une mémoire dynamique DMEM déjà décrite séparée par une barre de fraction d'une seconde relative à une liaison du dispositif avec une mémoire statique, par exemple une antémémoire CMEM. La transmission de données entre le dispositif et la mémoire statique CMEM est ainsi appelée CD, les commandes imposées par le dispositif à la mémoire statique CMEM sont mentionnés EXCC. Enfin les adresses de la mémoire statique (étiquettes) ainsi que les validations des mots à transmettre sont sélectionnées et imposées au moyen des signaux CTVB. Sur la figure 2 est proposé un exemple d'agencement du bloc de transit des données DPB qui permet de préciser le chemin emprunté par les données lors d'une écriture dans la mémoire. Dans la description suivante, et suivant un exemple préféré, le microprocesseur MPR est supposé être un microprocesseur 32 bits et plus particulièrement un MC 68040 de chez Motorola. Le bus DS achemine les données à l'entrée du bloc DPB qui, conformément à l'invention, comporte des moyens de stockage intermédiaire de profondeur n, n étant le nombre de mots désirés stockés, n est ici choisi égal à 4 pour satisfaire au mode wvburstfl du MC 68040. Les mots en provenance du bus DS du microprocesseur MPR sont stockés à la vitesse de l'horloge du microprocesseur puis écrits dans la mémoire à la vitesse de celle-ci. Selon une application préférée, les moyens de stockage intermédiaire des données à écrire dans une mémoire dynamique ou une mémoire statique sont constitués de n = 4 circuits de verrouillage (L1, L2, L3 et L4) communément appelés VVlatchesY1, montés en parallèle, et d'un multiplexeur M1 placé en série avec le dernier circuit de verrouillage L4. Les données DS sont distribuées aux entrées des différents circuits de verrouillage L1, L2, L3 et L4, la sortie du circuit L4 étant connectée à une entrée du multiplexeur M1 qui permet de sélectionner un octet parmi les 4 d'un mot entier de 32 bits lors d'une écriture partielle (écriture d'un mot constitué de 1,2 ou 3 octets et donc de taille inférieure à 32 bits).Une seconde entrée du multiplexeur M1 reçoit des mots de données PCOR de taille inférieure à 32 bits et qui, détectés en erreur, lors d'une lecture de la mémoire dynamique, sont réinjectés pour être retraités dans le chemin d'écriture de données. Les sorties des quatre circuits L1, L2, L3 et M1 sont directement reliées aux entrées GA, GB, GC et GD de quatre générateurs de code correcteur, également montés en parallèle, respectivement CCG1, CCG2, CCG3 et CCG4. L'utilisation de 4 générateurs, chacun affecté à un étage des moyens de stockage intermédiaire, permet ainsi d'accélérer avantageusement le calcul relatif à la détection et à la correction d'erreurs dans les mots A stocké en L1, B en L2, C en L3 et D en L4. Les différentes sorties des générateurs CCG1, CCG2, CCG3 et CCG4 sont reliées aux entrées AM, BM, CM, DM d'un multiplexeur M2 qui sélectionne le code correcteur d'erreurs en fonction du mot à écrire A, B, C ou D. Chaque générateur de code correcteur possède deux sorties, une première sortie CC relative à la correction par code correcteur du mot stocké à son étage et qui est utilisée lorsque le mot doit être écrit dans une mémoire dynamique et une seconde sortie PTY relative au contrôle de parité par octet du mot stocké et de son étiquette à un étage donné, et qui est utilisée dans le cas où le mot doit être stocké dans une mémoire statique. Chaque paire de sorties CC et PTY est connectée aux entrées du multiplexeur M2, ainsi les sorties CC et PTY du générateur CCG1 sont connectées aux entrées AM du multiplexeur M2, celles de CCG2 aux entrées BM de M2, celles de CCG3 aux entrées CM de M2, et enfin celles de CCG4 aux entrées DM de M2.La sélection de l'information à utiliser est imposée au multiplexeur M2 au moyen de deux signaux MEC et CMC, chacun correspondant à un mode sélectionné, c' est-à-dire relatif au signal appliqué sur la broche du moyen de commutation de mode. Le signal MEC autorise l'utilisation des informations CC du mode contrôleur d'accès à une mémoire dynamique avec détection et correction d'erreurs, les informations transmises à la mémoire DMEM étant alors les signaux ECC relatifs au code correcteur d'erreurs, et le signal CMC autorise l'utilisation des informations PTY du mode contrôleur d'accès à une mémoire statique avec contrôle de parité, les signaux DTP étant alors transmis à la mémoire CMEM. Les signaux ECC/DTP sont transmis à la mémoire DMEM/CMEM par le bus MD/CD. Les sorties des circuits L1, L2, L3 et M1 sont de plus connectées aux entrées AI, BI, CI, DI d'un multiplexeur M3. Le circuit M3 multiplexe ses quatre entrées relatives aux mots A, B, C, D pour fournir un mot DW de 32 bits sur le bus MC/CD reliant le circuit DMC à la mémoire DMEM ou CMEM. Sur la figure 3 est proposé un exemple d'agencement du bloc de transit de données DPB qui précise le chemin emprunté par les données lors de la lecture d'une mémoire DMEM/CMEM par un microprocesseur MPR, de préférence un MC 68040. Ainsi, en provenance de la mémoire DMEM/CMEM, sont acheminées en lecture sur le bus MD/CD, et à la vitesse de ladite mémoire, les données DW ainsi que les informations relatives au code correcteur destiné à la détection et correction des erreurs ECC ou celles relatives à la parité DTP. Selon une application préférée, les moyens de stockage intermédiaire de données sont constitués de n = 4 circuits de verrouillage L5, L6, L7 et L8 montés en parallèle pour le stockage des données lues à partir d'une mémoire statique CMEM et de 2 circuits de verrouillage Lg et L1o, l'un pour les données, l'autre pour le code correcteur d'erreurs pour le stockage des données lues à partir d'une mémoire dynamique DMEM. Ainsi, lors d'une lecture d'une mémoire statique CMEM, les données DW avec leurs bits de parité associés DTP sont avantageusement mémorisées dans les 4 circuits de verrouillage L5, L6, L7 et L8 montés en parallèle, chacun mémorisant un mot de données de 32 bits avec ses 4 bits de parité associés (1 bit par octet). De même, lorsque les données sont lues à partir d'une mémoire dynamique DMEM, chaque mot de données DW de 32 bits est avantageusement mémorisé dans le circuit de verrouillage Lg alors que le code correcteur ECC est mémorisé dans le circuit de verrouillage L10. De plus, en lecture, les moyens de détection et de correction d'erreurs comportent un générateur de code correcteur CCG5, pour recalculer le code sur les données lues à partir de la mémoire dynamique DMEM, suivi d'un circuit de correction CORC pour calculer le syndrome et corriger la donnée en erreur. C'est en effet à la lecture que les corrections sont effectuées. Par conséquent, à la sortie du circuit de verrouillage Lg est connecté le générateur de code correcteur CCG5 qui recalcule le code sur les données DW en provenance de la mémoire DMEM, données qui ont été mémorisées dans le circuit L9. La sortie du générateur CCG5 est reliée à une entrée du circuit de correction CORC qui reçoit ainsi le code recalculé RECC.Une seconde entrée est connectée à la sortie du circuit de verrouillage L10 pour recevoir le code lu ECC à partir de la mémoire DMEM et mémorisé dans ledit circuit Lolo. Enfin, une troisième entrée connectée également à la sortie du circuit de verrouillage Lg reçoit les données lues DW. A partir des informations présentes à ces trois entrées, le circuit de correction CORC calcule, pour chaque bit, le syndrome pour une erreur simple pour éventuellement corriger la donnée si celle-ci est en défaut, ceci bien entendu en tenant compte de l'état de la broche de mode. Le circuit CORC est actif pour le mode MEC contrôleur d'accès à une mémoire dynamique avec détection et correction d'erreurs. Enfin, le circuit CORC mémorise des informations relatives au contenu du registre d'état et du registre de test. En outre, les différentes sorties des moyens de stockage intermédiaire en lecture sont reliées aux entrées 32 bits d'un multiplexeur M4. Ainsi, la sortie du circuit L5 est reliée à l'entrée A du multiplexeur M4, la sortie de L6 à l'entrée B de M4, la sortie de L7 à l'entrée C de M4, la sortie de L8 à l'entrée D de M4, de même que la sortie de Lg à l'entrée E de M4. Le rôle du multiplexeur M4 est de sélectionner en fonction de l'état de la broche de mode (c'est-à-dire en fonction des signaux MEC ou CMC) soit le mot de la mémoire CMEM parmi les 4 présents aux entrées A, B, C et D à fournir au microprocesseur, ceci si le signal CMC est actif, soit la donnée non corrigée de la mémoire DMEM reçue à l'entrée E et ceci si le signal MEC est actif. Enfin un dernier multiplexeur M5 permet de choisir entre la donnée directe DD transmise à la sortie du multiplexeur M4, la donnée corrigée DCOR présentée à la sortie du circuit CORC, le mot d'état SW et le mot de test TW transmis par le bloc COB. Les données à la sortie du multiplexeur M5 sont alors acheminées par le bus DS. La sortie du circuit CORC est également reliée à la seconde entrée du multiplexeur M1 (figure 2) pour la correction des écritures partielles PCOR (mot de taille inférieure à 32 bits). L'association des figures 2 et 3 permet de reconstituer le bloc de transit des données DPB qui est la réunion des chemins empruntés par les données soit en écriture soit en lecture. Sur la figure 4 est représenté un exemple de structure du bloc de commande COB coopérant avec le bloc de transit des données DPB pour former le dispositif selon l'invention DMC. Conformément à une caractéristique du dispositif DMC, le bloc de commande comporte, entre autres, un registre de commande pour imposer divers modes de paramètres de fonctionnement, un registre d'état fournissant les informations relatives aux corrections d'erreurs ou aux erreurs de parité et un registre de test permettant de contrôler le fonctionnement de l'ensemble dispositif contrôleur d'accès et mémoire associée. De manière plus générale, le bloc de commande COB est composé lui-même de différents blocs interconnectés. Un premier bloc IAL dit de réception des adresses, qui est connecté au bus d'adresses AS. Ce bloc est essentiellement constitué d'une batterie de circuits de verrouillage qui, en entrée du dispositif DMC, reçoivent et mémorisent les différentes adresses. Un second bloc DBS de décodage et de sélection des banques de la mémoire permet d'effectuer le décodage des accès aux registres internes et à la mémoire DMEM/CMEM ainsi que celui de la banque considérée en fonction des différentes extensions existantes.Ce bloc DBS contient le registre de commande CR dont les mots de commande permettent de tenir compte du type de microprocesseur (par exemple MC 68040 ou MC 68030), de la fréquence de fonctionnement, des extensions possibles concernant la programmation du nombre et de la capacité des banques de la mémoire, et également de fonctions spécifiques aux tests. Ce bloc fournit donc de manière avantageuse le numéro de la banque sélectionnée par le registre de commande CR lors d'une opération d'écriture ou de lecture. Le bloc DBS reçoit le signal IDC, partie des informations ID émises par le bloc DPB. Un troisième bloc AMX est relié au bloc IAL qui lui transmet les adresses mémorisées. Le bloc AMX effectue alors le multiplexage des adresses ligne/colonne MMA de la mémoire dynamique DMEM ou des bits d'étiquette et de validation de mot CTVB de la mémoire statique. Ce bloc AMX comporte en outre un circuit d'incrémentation utilisé pour le mode wwburstfl et qui peut être rebouclé sur n = 4 mots pour convenir à l'emploi du MC 68040 ou qui peut être également incrémenté sur n Koctets en vue d'autres applications. Enfin un quatrième bloc SEQ est prévu pour assurer les séquencements internes et externes au dispositif DMC, bloc qui reçoit les signaux de commande CS. Le registre d'état SR ainsi que le registre de test TR sont inclus dans le bloc SEQ.Ce bloc gère l'interface bus du microprocesseur, génère les commandes internes ICDB pour le bloc DBS, ICA pour le bloc AMX, ICDP et OCDP pour le séquencement et la commande du bloc de transit de données DPB pour la transmission desdites données vers la mémoire et également la transmission vers le bloc DPB de mots et d'informations en provenance du registre d'état SR et du registre de test TR. Enfin le bloc SEQ génère également les commandes externes EXMC pour la mémoire DMEM ou EXCC pour la mémoire CMEM. En outre le bloc DBS reçoit la partie utile des adresses PA1 des signaux d'adresses AS pour la sélection et le décodage des registres et des fonctions internes, le bloc DBS, après décodage, transmettant les signaux DEC pour la sélection des registres et des fonctions propres au bloc SEQ Le bloc SEQ reçoit de plus d'une part des signaux d'adresses PA2 prélevés à la sortie du bloc IAL permettant de commander pour l'écriture les séquences du bloc AMX et d'autre part les signaux AR pour la gestion de sortie des données lors d'un cycle de lecture. Dans un mode de réalisation préféré, le dispositif DMC permet de gérer quatre banques de mémoire dynamique, la capacité de chaque banque pouvant être de 4 ou de 16 mégaoctets (Moctets). Ces quatre banques peuvent être réparties sur différents supports physiques désignés ciaprès "carte mère" et "carte fille". La carte mère permet de recevoir une banque de mémoire. Une première carte fille peut supporter également une banque de mémoire selon une configuration dite de faible capacité (capacité de 16 Moctets), alors qu'une seconde carte fille peut supporter une ou deux banques de mémoire selon une configuration dite de grande capacité (capacité de 32 Moctets). La capacité des banques de mémoire peut être choisie de manière indépendante de 4 ou de 16 Moctets sur chaque carte.Cependant une même capacité est imposée aux deux banques de mémoire qui peuvent être supportées par la carte fille dite de grande capacité. Un tel agencement autorise de manière avantageuse la programmation et la gestion, par le dispositif DMC, d'une grande variété de capacités mémoire. Le dispositif DMC dispose d'un mot de commande du registre de commande CR qui permet de spécifier la présence ou l'absence de chaque support physique ainsi que la capacité des banques de mémoire qu'il supporte. Selon l'arrangement décrit précédemment et le contenu du mot de commande, la capacité des banques de mémoire peut varier de manière étagée de 4 à 64 Moctets. Le dispositif DMC présente une originalité qui consiste à offrir avantageusement une visibilité d'adressage continu de l'ensemble des banques réparties sur les supports physiques présents quelle que soit leur configuration. Ainsi de manière remarquable le dispositif DMC est programmable de sorte que l'adressage physique de la mémoire constituée à partir du microprocesseur soit continu, de l'adresse O jusqu'à l'adresse correspondant à la capacité installée. Concernant les divers registres contenus dans le bloc de commande COB, leur fonctionnement peut être, de manière non limitative, exemplifié comme suit. Dans l'application décrite, le registre de commande CR est un registre 16 bits dont l'accès n'est autorisé, en réponse à une adresse spécifique, que pour les opérations d'écriture. L'opération d'écriture est effectuée à partir de mots de 32 bits dont seuls les 16 bits (Bo à B15) de poids faible sont utilisés, chaque bit ayant sa propre attribution qui peut être différente selon que la mémoire associée est une mémoire dynamique DMEM ou statique CMEM. Le bit B15 détermine une remise à zéro ou à un des bits suivants (Bo à B14). Selon l'état (0 ou 1) du bit B15, les bits Bo à B14 de l'opérande indiquent (selon leur état 0 ou 1) quels sont les bits du registre de commande CR à remettre à zéro ou à un. Le bit B14 prévient que la banque de la mémoire dynamique DMEM qui doit être installée sur la carte mère n'est pas connectée ou qu'un niveau 0 doit toujours être écrit lorsque la mémoire associée est une mémoire statique CMEM. En association avec une mémoire statique CMEM, les bits B8 à B13 sont inutilisés, alors qu'à un niveau 1, ils sont significatifs associés à une mémoire DMEM.Le bit B13 indique que la capacité mémoire est choisie de 16 Moctets, le bit B12 qu'une carte fille de faible capacité est présente et le bit B11 que la capacité de cette dernière est 16 Moctets, le bit B10 qu'une carte fille de grande capacité est présente et le bit Bg que la capacité de cette dernière est 32 Moctets. Enfin le bit B8 valide une erreur bus sur détection à la lecture d'une erreur double. Le bit B7 mis à 1 impose de ne pas écrire dans la mémoire DMEM, les lectures d'erreurs doubles ou écritures partielles ne modifiant pas ladite mémoire, et le bit B6 indique que l'horloge du microprocesseur est inférieure ou égale à 33 MHz. Le doublet B7 et B6 associé à une mémoire statique CMEM permet de sélectionner un mode parmi 4 : test de la mémoire, test de la partie donnée, test de l'étiquette ou mode standard. Pour une mémoire DMEM ou CMEM, le bit B5 indique un mode incrément et le bit B4 précise que le microprocesseur est un MC 68040. Les bits B1 à B3 sont inutilisés avec une mémoire CMEM.Avec une mémoire DMEM, le bit B3 mis à 1 impose la remise à zéro des bits de contrôle relatifs à la correction d'erreurs pour réaliser des diagnostics, le bit B2 mis à 1 empêche une correction d'être effectuée sur une donnée lue ou sur une écriture partielle. Si B2 est à zéro, la fonction détection et correction d'erreurs est effective. Enfin les bits B1 et Bo mis à zéro signifient pour B1 qu'aucune interruption n'est demandée sur détection d'une erreur double (ou supérieure à deux bits) et pour Bo qu'une interruption ntest pas réclamée sur détection d'une erreur simple. De manière générale, erreur double signifie erreur sur 2 ou plus de 2 bits. Deux bits en erreur sont systématiquement détectés alors qu'une erreur sur plus de 2 bits n'est pas toujours détectée. La correction d'erreur, quant à elle, n'est effectuée que sur une erreur simple. Associé à une mémoire CMEM, le bit Bo autorise pour des cycles autres que ceux du microprocesseur des accès directs à la mémoire. En outre, certaines informations CRI du registre de commande CR sont transmises vers le bloc DPB, en particulier le bit B14 vers le multiplexeur M2, le bit B3 vers le circuit de verrouillage L10 et le bit B2 vers le circuit de correction CORC. De même, dans l'exemple décrit, le registre d'état SR est un registre 32 bits accessible en lecture en réponse à une adresse spécifique. Les informations qu'il transmet concernent essentiellement l'opération de détection des erreurs ainsi que l'établissement de diagnostics internes ou relatifs à la mémoire associée. Les bits Bo à B14 sont la recopie des bits Bo à B14 du registre de commande CR que le dispositif soit associé à une mémoire DMEM ou CMEM. La transmission des informations contenues dans cet ensemble de bits est référencée CSI sur la figure 4, lesdites informations peuvent être également utilisées pour tester le registre de commande CR. Concernant l'utilisation du dispositif en association à une mémoire DMEM, les bits B15 à B31 ont les significations suivantes. Les bits B28 à B31 sont relatifs à l'adresse de bits en erreur (erreur simple ou erreur double) dans la mémoire DMEM, ils sont représentatifs des 4 bits de poids fort du premier accès à la mémoire. Les bits B24 à B27 déterminent la banque sélectionnée dans laquelle est rangé le(s) bit (s) en erreur (erreur simple ou erreur double). Le bit B23 au niveau 1 indique une erreur double. Les bits B16 à B22 représentent les 7 bits de syndrome de la première erreur détectée, bits de syndrome calculés par le circuit de correction CORC. Enfin, le bit B15 au niveau 1 indique une erreur simple. La valeur des bits B28 à B31 et B16 à B22 n'est significative que si le bit B23 ou le bit B15 est à un niveau 1. Dans le registre d'état SR, les informations relatives aux bits en erreur sont effacées après chaque lecture. D'autre part, lorsque des erreurs multiples sont détectées, seule la première après la lecture du dernier état du registre SR est enregistrée, dans ce cas, l'adresse (bits 28 à B31), la banque sélectionnée (bits B24 à B27) et le syndrome (bits B16 à B22) sont relatifs à ladite erreur. Lorsque le dispositif selon l'invention est utilisé en association avec une mémoire CMEM, les bits B15 à B31 du registre SR ont les significations suivantes. Les 4 bits B28 à B31 déterminent le début d'une adresse de lecture pour le mode "burst", le bit B31 correspond à l'adresse 0, aux 3 autres bits correspondent des adresses incrémentées de la valeur 4. Les bits B24 à B27 permettent de déterminer le mot parmi 4 dans lequel il y a un défaut. Le bit B23 prévient qu'une donnée présente une erreur de parité. Les bits B16 à B22 sont inutilisés alors que le bit B15 indique qu'une erreur de parité est trouvée dans l'étiquette. Les bits B15 et B23 sont remis à zéro après chaque lecture du registre SR. Le registre de test TR est également un registre 32 bits accessible en lecture en réponse à une adresse spécifique. Il fournit des informations relatives à la détection et à la correction d'erreurs nécessaires à la réalisation de diagnostics. Les bits B15 5 à B31 sont la recopie des informations STI des bits B15 à B31 du registre d'état SR. Les 7 bits B8 à B14 sont représentatifs des informations IDT (partie du signal ID) des 7 bits de contrôle engendrés et mémorisés lors de la dernière opération d'écriture par le multiplexeur M2 du bloc DPB. Le bit B7 est inutilisé alors que les 7 bits Bo à B6 sont les informations TRI relatives aux 7 bits de contrôle émis pour effectuer la dernière opération de lecture ou d'écritures partielles PCOR. L'état des bits Bo à B6 est figé lorsque survient une erreur simple ou une erreur double. Dans un mode important d'application, deux dispositifs DMC selon l'invention peuvent être utilisés, l'un utilisé comme contrôleur d'antémémoire fonctionnant concurremment avec un second utilisé comme contrôleur mémoire. Le contrôleur d'antémémoire gère alors des mémoires statiques pour les données et pour les étiquettes. Les parties données et étiquettes de l'antémémoire sont protégées par des bits de parité. Le contrôleur d'antémémoire peut, de plus, fonctionner comme un simple contrôleur de mémoire statique par l'utilisation d'un mode de fonctionnement programmable dans le registre de commande. Ce circuit permet la gestion d'une écriture du type connu sous le nom de "write through", ainsi que le mode de création et de mise à jour des données. Le mode d'antémémoire retenu est de type parallèle, l'antémémoire étant en parallèle avec la mémoire sur le bus du microprocesseur, un signal autorisant l'obtention d'un fonctionnement cohérent des deux contrôleurs. Un mécanisme permet d'utiliser ces contrôleurs avec un processeur tel que le MC 68040 possédant des antémémoires intégrées dont la politique d'écriture est de type "copyback", la cohérence des données avec l'ensemble mémoire et antémémoire externe étant de type "invalide" ou mise à jour. mise à jour En outre, il est possible de gérer des maîtres du bus autres que le microprocesseur, par exemple pour des cycles autres que ceux du microprocesseur de gérer des accès directs à la mémoire (bit Bo du registre de commande, pour le dispositif DMC associé à l'antémoire) avec la possibilité de créer des entrées ou non dans 1' antémémoire. Dans une application pratique du dispositif conforme à l'invention, le circuit d'application spécifique de technologie CMOS est un boîtier de 160 broches dans lequel environ 10000 portes sont utilisées. La répartition des différentes broches est la suivante. L'interface avec le bus du microprocesseur est assurée par 78 broches, 32 pour les données, 32 pour les adresses et 14 pour les différents signaux de commande. L'interface avec le bus de données côté mémoire est assurée par 39 broches pour une mémoire dynamique (32 pour les données et 7 pour les bits de contrôle) ou par 37 broches pour une mémoire statique (32 pour les données, 4 pour les bits de parité associés à chaque octet de donnée et 1 pour le bit de parité pour 1' étiquette), 7 broches sont ainsi réaffectées. La transmission des signaux de commande de la mémoire est assurée par 22 broches dont la plupart sont réaffectées pour une utilisation avec mémoire statique. De plus, 5 signaux sont appliqués sur 5 broches, 1 signal de remise à zéro, 2 signaux de test communs que la mémoire soit dynamique ou statique et 2 signaux spécialisés et réaffectés selon l'utilisation avec mémoire dynamique ou mémoire statique. Enfin sur les 16 broches restantes sont réparties la tension d'alimentation (+ 5 V) et la masse( 0 V). En conclusion, un tel dispositif est d'utilisation avantageuse. Sa conception et son intégration en font un circuit d'encombrement réduit. Il offre un choix programmable de la capacité des différentes banques de la mémoire. Il intègre efficacement les fonctions de contrôle d'accès à la mémoire et de détection et correction d'erreurs en assurant en particulier une correction systématique des erreurs simples. De plus, ses moyens de stockage intermédiaire des données permettent de profiter pleinement des performances d'un microprocesseur utilisé en mode "burst" alors que ses différents registres internes confèrent une remarquable testabilité de l'ensemble contrôleur mémoire associée. Enfin, il autorise un changement de mode simple et astucieux permettant le passage d'un mode contrôleur d'accès à une mémoire dynamique avec détection et correction d'erreurs à un mode contrôleur d'accès à une mémoire statique, et plus particulièrement une antémémoire, avec contrôle de parité. Une combinaison de deux circuits identiques en parallèle peut être ainsi utilisée, chaque circuit gérant son mode particulier imposé par l'état d'une simple broche de commutation de mode. #VEND ICA TIONS 1. Dispositif contrôleur d'accès à une mémoire dynamique coopérant avec des moyens de détection et de correction d'erreurs caractérisé en ce qu'il est monolithiquement intégré dans un circuit d'application spécifique constitué d'un bloc de transit des données associé à un bloc de commande comportant, entre autres, des moyens de jonction réalisant directement et de manière interne l'interface électrique et temporelle entre les différents signaux présents sur le bus d'un microprocesseur et une pluralité de banques de la mémoire dynamique dont la capacité est programmable à partir dudit circuit ainsi que des moyens de détection et de correction d'erreurs améliorés, les signaux reçus directement étant transmis vers la mémoire, après insertion d'un code correcteur d'erreurs, les erreurs simples étant ensuite, après détection, systématiquement et automatiquement corrigées lors de la lecture desdits signaux. 2. Dispositif contrôleur d'accès à une mémoire dynamique selon la revendication 1, caractérisé en ce qu'il comporte, en outre, un moyen de commutation de mode autorisant le passage du mode contrôleur d'accès à une mémoire dynamique avec détection et correction d'erreurs à un mode contrôleur d'accès à une mémoire statique avec contrôle de parité, les broches du circuit reliées à la mémoire étant alors réaffectées pour ladite mémoire statique et le bloc de transit de données étant, en lecture, spécialement adapté à cet effet. 3. Dispositif contrôleur d'accès à une mémoire dynamique selon la revendication 2, caractérisé en ce que le moyen de commutation de mode est une broche du circuit sur laquelle est appliqué un signal de commande approprié, broche qui, dans le circuit, est connectée au bloc de transit des données et au bloc de commande pour, en réponse au signal de commande et en fonction du mode commuté, sélectionner le trajet et aiguiller les données. 4. Dispositif contrôleur d'accès à une mémoire dynamique selon l'une des revendications 1 à 3, caractérisé en ce que le bloc de transit de données comporte de plus des moyens de stockage intermédiaire de profondeur n, n étant le nombre de mots désirés stockés, les mots en provenance du bus du microprocesseur pour une écriture dans la mémoire étant stockés à la vitesse de l'horloge du microprocesseur puis écrits dans la mémoire à la vitesse de ladite mémoire, alors que la lecture de la mémoire est effectuée à la vitesse de ladite mémoire. 5. Dispositif contrôleur d'accès à une mémoire dynamique selon la revendication 4, caractérisé en ce que le moyen de stockage intermédiaire est constitué, d'une part de n circuits de verrouillage montés en parallèle et d'un circuit de multiplexage placé en série avec au moins un des circuits de verrouillage pour le stockage des données à écrire dans une mémoire dynamique ou une mémoire statique, et d'autre part de n circuits de verrouillage montés en parallèle pour le stockage des données lues à partir d'une mémoire statique et de deux circuits de verrouillage, l'un pour les données, l'autre pour le code correcteur d'erreurs pour le stockage des données lues à partir d'une mémoire dynamique. 6. Dispositif contrôleur d'accès à une mémoire dynamique selon la revendication 4 ou 5, caractérisé en ce que les moyens de détection et de correction d'erreurs comportent, d'une part n générateurs de code correcteur montés en parallèle et associés à un circuit de multiplexage, les entrées des générateurs de code correcteur étant directement reliées en série aux moyens de stockage intermédiaire, alors que les différentes sorties desdits générateurs sont reliées aux entrées du circuit de multiplexage et d'autre part un générateur de code correcteur, pour recalculer le code sur les données lues en provenance de la mémoire dynamique, suivi d'un circuit de correction pour calculer le syndrome et corriger la donnée en erreur. 7. Dispositif contrôleur d'accès à une mémoire dynamique selon l'une des revendications 1 à 6, caractérisé en ce que le bloc de commande comporte, entre autres, un registre de commande pour imposer divers modes de paramètres de fonctionnement, un registre d'état fournissant les informations relatives aux corrections d'erreurs ou aux erreurs de parité et un registre de test permettant de contrôler le fonctionnement de l'ensemble du dispositif contrôleur d'accès et mémoire associée. 8. Dispositif contrôleur d'accès à une mémoire dynamique selon la revendication 7, caractérisé en ce qu'il est programmable de sorte que l'adressage physique de la mémoire constituée à partir du microprocesseur soit continu, de l'adresse O jusqu'à l'adresse correspondant à la capacité installée.