Brevet FR2673316A1 — publié le 19920828

DISPOSITIF D'ADRESSAGE SEQUENTIEL D'UNE MEMOIRE, NOTAMMENT POUR CARTE A MEMOIRE. La présente invention se rapporte aux dispositifs qui permettent d'adresser séquentiellement (c'est à dire en principe sans possibilité de saut) les mémoires des systèmes informatiques, notamment celles contenues dans les cartes à mémoire connues généralement sous le nom de "cartes à puce". Elle s'applique plus particulièrement aux cartes du type synchrone, mais elle peut aussi s'appliquer aux cartes du type asynchrone. Il est connu, comme représenté sur la figure 1, d'adresser successivement les différents mots d'une mémoire 101 en comptant les bits d'un signal d'horloge H appliqué à un compteur binaire 104. Ce compteur est incrémenté par le signal d'horloge, et il comporte suffisamment d'étages pour que ses différents états successifs donnent la succession de toutes les adresses des mots de la mémoire. Le décodage de ces états par un ensemble de portes logiques permet d'obtenir ces adresses. Pour faciliter l'implantation de cet ensemble de portes logiques dans le circuit intégré constituant le système informatique inséré dans la carte, on divise généralement en deux ce dispositif de décodage en effectuant un prédécodage à l'aide d'un prédécodeur 103, et un décodage final avec un décodeur final 102.Le prédécodeur est relié au décodeur final par un ensemble de lignes de prédécodage dont le nombre est important, mais est néanmoins plus faible que celui des lignes d'adresses qui relient le décodeur final à la mémoire et dont le nombre est identique à celui des mots à adresser. Un tel dispositif de décodage est encombrant et occupe donc une place importante sur le substrat où sont intégrés la mémoire et ses circuits d'exploitation, ce qui réduit le nombre de mots mémoire disponibles et/ou augmente le coût de l'ensemble. Pour pallier ces inconvénients, l'invention propose un dispositif d'adressage séquentiel d'une mémoire intégrée comprenant n mots munis chacun d'une entrée d'adressage, principalement caractérisé en ce qu'il comprend un registre à décalage comprenant n étages munis chacun d'une sortie reliée à l'une des dites entrées, et des moyens pour introduire dans le premier étage de ce registre un bit de commande et pour faire circuler ce bit d'étage en étage en provoquant au passage dans chaque étage l'émission vers le mot de la mémoire auquel il est relié d'un signal commandant l'adressage de ce mot. D'autres particularités et avantages de l'invention apparaîtront clairement dans la description suivante faite à titre d'exemple non limitatif en regard des figures annexées, qui représentent: - la figure 1, le schéma d'une mémoire et de son dispositif d'adressage, selon l'art connu; - la figure 2, le schéma d'une mémoire et de son dispositif d'adressage selon un premier mode de réalisation de l'invention, avec des moyens de contrôle et d'exploitation de cette mémoire; - la figure 3, le schéma d'une mémoire et de son dispositif d'adressage selon un deuxième mode de réalisation de l'invention; - la figure 4, un premier exemple de réalisation du sélecteur 305 de la figure 3; - la figure 5, un deuxième exemple de réalisation de ce sélecteur; - la figure 6, le schéma électrique d'un premier exemple de réalisation d'un étage du registre à décalage 302 de la figure 3;; - la figure 7, le diagramme des signaux nécessaires à l'étage de la figure 6; - la figure 8, le schéma d'un deuxième exemple de réalisation d'un étage du registre 302; - la figure 9, le diagramme des signaux nécessaires à l'étage de la figure 8; - la figure 10, le schéma d'un exemple de réalisation d'un étage du circuit de sélection 305 de la figure 3;et - la figure 11, le diagramme des signaux nécessaires à l'étage de la figure 10. Le dispositif selon l'invention représenté sur la figure 2 comprend un microprocesseur 204 (on pourrait avoir une logique câblée) qui sert à gérer l'ensemble des organes contenus dans un circuit intégré lui-même placé dans une carte à puce. Ce microprocesseur reçoit des ordres de traitement par l'intermédiaire d'une connexion d'entrée et délivre les résultats de ces traitements sur une connexion de sortie. Les traitements consistent notamment dans la lecture séquentielle d'une mémoire 201 adressée par des moyens d'adressage 202 fonctionnant sous la commande d'un signal d'horloge H délivré par le microprocesseur. L'invention réside dans la manière de réaliser les moyens d'adressage 202. Pour simplifier la description, nous parlerons dans la suite de ce texte seulement de la lecture des mots de la mémoire, mais il faut bien comprendre que l'invention concerne toutes les opérations où l'on adresse ces mots, non seulement pour les lire mais aussi par exemple pour les écrire. Selon l'invention, ces moyens de d'adressage sont constitués d'un simple registre à décalage comportant un nombre d'étages égal au nombre de mots de la mémoire 201. Chacun de ces étages correspond à un mot de la mémoire et est relié à l'entrée de commande de la lecture du mot auquel il correspond par une connexion de lecture Cj. Ainsi sur la figure la mémoire comprend n mots et le registre n étages, et les étages 1,2...,j,...,n sont reliés respectivement aux entrées de commande de lecture des mots 1,2...,j,...,n par les connexions Cl,C2,...,Cj,...,Cn. Au début de la lecture de la mémoire, le microprocesseur charge le premier étage du registre avec un bit 1 par exemple (ou 0 selon les conventions de signe et les technologies utilisées), ce qui provoque la lecture du mot N01 de la mémoire. Ce chargement est unique pendant tout le processus de lecture séquentiel de la mémoire et ne se reproduira que lors du cycle de lecture suivant, qui démarrera de nouveau par la lecture du mot N01. Par convention cette étape correspondra au premier cycle d'horloge. Au deuxième cycle d'horloge, le signal d'horloge H appliqué par le microprocesseur au registre à décalage fait progresser ce bit 1 de l'étage N 1 du registre à l'étage N02, ce qui provoque la lecture du mot N02 de la mémoire, et ainsi de suite. Au cycle d'horloge Noj, le bit 1 arrive dans l'étage Noj du registre, ce qui provoque la lecture du mot N j de la mémoire. Enfin au cycle d'horloge NOn, le bit 1 arrive dans le dernier étage du registre, ce qui provoque la lecture du dernier mot de la mémoire. Le processus s'arrête alors car le microprocesseur a par exemple compté les cycles d'horloge et repéré ainsi qu'il est arrivé à la lecture du dernier mot de la mémoire. Le cas échéant le microprocesseur peut alors relancer la lecture en écrivant de nouveau un bit 1 dans le premier étage du registre à décalage et en continuant à envoyer le signal d'horloge H à ce registre. Pendant la durée de cette lecture, le contenu des mots ainsi lus dans la mémoire est traité dans le microprocesseur et le résultat de ce traitement est délivré sur la sortie de celui-ci. Dans le mode réalisation décrit ci-dessus, on accède aux données contenues dans la mémoire séquentiellement, ce qui, pour les mémoires de grande capacité qui sont maintenant utilisées de plus en plus souvent, peut prendre un temps assez long. Il serait donc souhaitable d'utiliser des modes d'adressage non séquentiels permettant de démarrer l'adressage à n'importe quelle adresse. Un tel mode d'adressage permettrait aussi de diviser la mémoire en fichiers ou en zones correspondant à des fonctionnalités différentes et/ou pouvant être adressées en fonction de conditions différentes. On pourrait également utiliser des fichiers dont les mots ne sont pas tous contigus dans la mémoire, alors qu'ils paraissent l'être, vu du côté utilisateur. Cette dernière possibilité serait utile par exemple pour un utilisateur qui souhaiterait agrandir le fichier auquel il a accès, après que la mémoire ait été configurée lors de la personnalisation de la carte. On peut obtenir un tel mode d'adressage non séquentiel avec divers dispositifs, mais ceux-ci sont relativement complexes et prennent beaucoup de place sur le substrat sur lequel sont intégrés la mémoire et ses circuits d'exploitation. Par ailleurs il est bien clair qu'un registre à décalage simple tel que décrit plus haut ne permet pas un tel adressage non séquentiel. L'invention propose donc d'utiliser, comme représenté sur la figure 3, un registre à décalage particulier dont les étages peuvent être sélectionnés par de moyens de sélection, ce qui les rend, suivant le cas, actifs ou transparents pour adresser ou non les mots de la mémoire auxquels ils sont reliés, lorsque le bit d'adressage progresse dans ce registre. Le système représenté sur la figure 3 comprend, comme sur la figure 2, une mémoire 301 comportant n mots, un registre à décalage 302 comportant n étages reliés respectivement aux n mots de la mémoire par n connexions d'adressage Cl-Cn et un microprocesseur 304 gérant l'ensemble, notamment en chargeant un bit 1 dans le premier étage du registre et en le faisant progresser à l'aide d'un signal d'horloge H. Ce système comprend en outre un dispositif de sélection 305 muni de n sorties reliées respectivement aux n étages du registre par n connexions d'adressage Sl-Sn. Chacune de ces connexions permet, lorsqu'elle est active, de sélectionner l'étage du registre auquel elle est reliée et de le rendre alors lui-même actif pour autoriser la lecture du mot de la mémoire auquel il est relié, lorsque le bit 1 chargé au départ dans l'étage 1 atteindra cet étage. Pour que ces connexions de sortie du sélecteur soient rendues actives, le microprocesseur envoie au sélecteur des signaux de commande SEL qui déterminent, en fonction de la série d'adresses que l'on souhaite lire dans la mémoire, les sorties du sélecteur à rendre actives. Ce processus a lieu dans une première étape, avant que le microprocesseur ne commande dans une deuxième étape la lecture proprement dite en injectant le bit 1 dans le registre à décalage 302 puis en le faisant progresser d'étage en étage dans ce registre. Dans cette deuxième étape, le bit 1 ne stationne alors pendant un cycle d'horloge dans un étage du registre que si cet étage est rendu actif par le sélecteur 305. Si l'étage n'est pas rendu actif par le sélecteur, il est transparent et le bit passe immédiatement, dés le début du cycle, à l'étage suivant, et ainsi de suite jusqu'au prochain étage actif. Ainsi en supposant par exemple sur la figure 3 que tous les étages aient été rendus actifs, sauf l'étage j; au cycle d'horloge j-l le bit 1 arrive dans l'étage j-1 et provoque, par l'intermédiaire de la connexion Cj-1, la lecture du mot j-1 de la mémoire. Au cycle d'horloge j, le bit 1 traverse l'étage j et arrive immédiatement dans l'étage j+1 en provoquant, par l'intermédiaire de la connexion j+1, la lecture du mot j+1. Le mot j est donc ainsi ignoré et on obtient, vu du microprocesseur , une lecture séquentielle, ou plutôt pseudo-séquentielle, des mots 1, 2, ..., j-1, j+1, ... n. Le sélecteur 305 peut être réalisé de différentes manières. Ainsi on peut utiliser, comme représenté dans un exemple simple sur la figure 4, des circuits logiques permettant de réaliser une logique combinatoire. Dans cet exemple de la figure 4, le signal SEL est formé de 2 bits en parallèle qui permettent de sélectionner, à l'aide de 4 portes ET 401 à 404 dont certaines entrées sont inverseuses, 4 groupes d'étages dans le registre à décalage. Chaque sortie de ces portes est reliée à un ensemble d'entrées des étages du registre pour déterminer une page dont la lecture sera sélectionnée par le signal SEL. La mémoire sera ici divisée en 4 pages de tailles identiques, S1-Sn/4, Sn/4-Sn/2, Sn/2-S3n/4, et S3n/4-Sn. On pourrait bien entendu faire des pages de tailles différentes, voire mélanger les mots entre les pages. En utilisant tous les bits disponibles sur le bus du microprocesseur, on peut obtenir un sélecteur permettant un grand nombre de sélections différentes. Une variante de ce système consiste à utiliser une structure du type "logique programmable" connue sous l'abréviation "PLA", qui n'est somme toute qu'un ensemble de circuits logiques de base avec lesquels on peut former un ensemble logique par simple programmation et sans avoir à modifier des connexions physiques. Une telle logique combinatoire présente l'inconvénient de devenir rapidement complexe dés que le nombre de sélections différentes augmente un tant soit peu. On retrouve alors des problèmes semblables à ceux posés par le système de la figure 1. Une autre solution consiste alors à utiliser pour réaliser le sélecteur un ou des registres à décalage, comme représenté sur la figure 5 là aussi dans un exemple simple. Dans cet exemple, on utilise un seul registre à décalage 505 comportant n étages, comme le registre 302 dont il faut sélectionner certains étages. Les sorties de ces n étages du registre 505 sont reliées respectivement aux entrées de sélection du registre 302 par des connexions S1, S2...Sj-1, Sj, Sj+l...Sn. Les signaux de commande SEL appliqués par le microprocesseur au registre 505 comprennent d'une part un signal d'horloge H (pour simplifier puisque ce signal comporte généralement deux phases), et un signal binaire formé d'une succession de bits 1 et 0 arrivant au rythme du signal d'horloge. Ces bits entrent d'abord dans le premier étage du registre, puis ils progressent d'étage en étage jusqu'à ce que tous les étages du registre soient remplis de 1 ou de 0. Le processus est le même que celui qui a été décrit pour les registres 202 et 302, si ce n'est que dans ce cas le registre ne contenait jamais qu'un seul 1 à la fois dans un étage et des 0 dans tous les autres. On pourrait également utiliser dans le sélecteur, pour mémoriser cette sélection, des cellules non-volatiles. Ainsi on pourrait répartir la mémoire une fois pour toutes parmi les applications, pendant la phase de personnalisation du composant. A la fin de ce processus, le signal d'horloge appliqué au registre 505 s'arrête et ce registre reste chargé de la manière qui a été déterminée par le microprocesseur en fonction des besoins de lecture de la mémoire. Le registre sera de nouveau chargé d'une autre manière lorsque d'autres besoins de lecture seront nécessaires. Les entrées de sélection des étages du registre de commande de lecture 302 reçoivent donc, par l'intermédiaire des connexions S1 à Sn, des bits 1 ou 0 qui les rendent, selon le cas et la logique de commande utilisée, actifs ou transparents. L'étape de lecture de la mémoire peut alors se dérouler. Par exemple un bit 1 sur l'entrée de commande d'un étage rendra celui-ci actif et cet étage commandera alors, lorsque le bit 1 de commande de lecture arrivera dans l'étage, la lecture du mot de la mémoire auquel il est relié. Inversement un bit 0 sur l'entrée de commande d'un étage rendra celui-ci transparent et fera sauter le bit 1 de commande de lecture directement à l'étage suivant. On peut ainsi déterminer une suite quelconque de mots qui seront lus de manière pseudo-séquentielle dans la mémoire, en déterminant la séquence correspondante de 1 et de 0 qui sera introduite dans le registre de sélection 505. La seule limitation est que bien entendu la succession des mots ne peut pas être modifiée pour permettre de lire des mots situés avant ceux qui ont déjà été lus, comme par exemple pour lire le mot j-1 après le mot j. C'est ce qui différencie ce type d'adressage de la mémoire d'un adressage purement aléatoire comme dans une mémoire RAM. On remarquera aussi que dans une page qui est sélectionnée, les mots doivent généralement être adressés séquentiellement. Dans le cas le plus simple on divise la mémoire en pages, deux par exemple, que l'on désire lire exclusivement l'une de l'autre. Ces pages seront par exemple consacrées à deux applications distinctes, l'une s'étendant par exemple de l'adresse 1 à l'adresse j-1, et l'autre de l'adresse j à l'adresse n. Pour lancer la première application et lire les mots 1 à j-l, on charge alors les étages 1 à j-1 du registre sélecteur 505 avec des bits 1, et les étages j à n de ce registre avec des bits 0. Ceci rend actifs les étages 1 à j-1 du registre de lecture, et transparents ses étages j à n. On remarque que compte-tenu de l'étage d'entrée (le NO 1) de ce registre sélecteur, et donc du sens de progression des bits à l'intérieur de celui-ci, il faut dans cet exemple introduire d'abord n-(j-l) bits 0, puis j-l bits 1. Inversement, pour lancer la deuxième application, il faut introduire d'abord n-(j-1) bits 1, puis j-1 bits 0. Selon une variante on pourrait utiliser deux registres à décalage sélecteurs séparés, un pour chaque page. Cette variante pourrait faciliter l'implantation sur le substrat et surtout permettrait de changer plus rapidement d'application, puisqu'on pourrait charger les deux registres en parallèle. On peut bien sur étendre cette variante à plus de deux registres, la limite étant fixée essentiellement par les connexions de commande disponibles sur le microprocesseur pour obtenir les signaux SEL. Un premier exemple de réalisation d'un étage d'un registre à décalage de lecture tel que décrit plus haut est représenté sur la figure 6, et les signaux necessaires à son fonctionnement sur la figure 7. Pour des raisons de commodité dactylographique, on désignera dans ce texte les signaux inverses, dits aussi BARRE, par les signaux normaux mis entre parenthèses. Deux transistors à entrée inverseuse 601 et 602 sont connectés en série avec un transistor 603 entre une source d'alimentation + et la masse. La grille du transistor 601 reçoit l'horloge (H1) et les grilles des transistors 602 et 603 la sortie (Qj-l) de l'étage précédent. Le point commun aux deux transistors 602 et 603 est relié à la grille d'un transistor 604, qui est relié à la masse par un transistor 605 dont la grille reçoit l'horloge H2. Une porte NON-OU 606, dont le schéma électrique est connu, reçoit sur une première entrée le signal de sélection Sj de l'étage provenant de l'étage correspondant du sélecteur 305. Sa deuxième entrée est reliée au transistor 604. La sortie de cette porte délivre le signal Cj de commande de lecture du mot correspondant dans la mémoire 301. Trois transistors 607, 608 et 609 sont connectés en série entre la deuxième entrée de la porte 606 et la masse. La grille du premier reçoit le signal Sj, celle du second le signal Qj-1 dont (Qj-1) est le signal complémentaire, et celle du troisième l'horloge H1. Deux amplificateurs inverseurs 610 et 611, dont le schéma électrique est connu, sont montés tête-bêche pour former une bascule connectée d'un côté à la deuxième entrée de la porte 606 et de l'autre à deux transistors 612 et 613 connectés en parallèle à la masse. La grille du transistor 612 reçoit le signal Qj+1 provenant de l'étage suivant, et la grille du transistor 613 un signal de remise à zéro RAZ. La sortie Qj de l'étage est disponible sur le point commun aux amplificateurs 610 et 611 et aux transistors 612 et 613, et la sortie complémentaire (Qj) se trouve sur la deuxième entrée de la porte 606. Le fonctionnement de cet étage nécessite trois signaux d'horloge dont le diagramme est représenté sur la figure 7. Une première horloge H1 passe d'un état 0 à un état 1 entre les instants tl et t2. Une deuxième horloge (H1) est la complémentaire de H1. Une troisième horloge H2 passe d'un état 0 à un état 1 entre les instants t2 et t3. Au départ tous les étages du registre sont remis à zéro par un signal RAZ délivré par le microprocesseur. Ainsi Qj et Cj sont à 0 et (Qj) est à 1. Chaque étage, et donc l'étage numéro j représenté sur la figure 6, reste dans cet état jusqu'à ce que le bit 1, entré dans l'étage 1 et progressant dans le registre comme décrit plus haut, arrive dans l'étage précédant, ici l'étage numéro j-i. On a alors Qj-1=1 et (Qj-1)=0. A ce moment deux cas peuvent se présenter: - l'étage j n'est pas sélectionné et Sj=1 (dans la logique utilisée dans ce schéma); - l'étage j est sélectionné et Si=0. Dans le premier cas: Compte-tenu de la table logique de la porte NON-OU 606, le signal Cj de commande de la lecture du mot correspondant de la mémoire reste toujours à 0 et ce mot n'est donc jamais lu, ce qui est bien le résultat recherché. Le bit 1, représenté par les états Qj=1 et (Qj)=O est transmis sans retard à l'étage suivant, ce qui est aussi le résultat recherché. En effet lorsque Qj-1 passe à 1 à l'instant tl, cas où l'étage j-l n'est pas sélectionné comme on le verra plus loin, les transistors 608 et 609 deviennent passants puisque alors que le transistor 607 reste passant puisque Sj=1 en permanence. Par contre le transistor 605 est bloqué puisque H2=0, et les actions de (Qj-1) sur les transistors 602 et 603, et de (H1) sur le transistor 601 sont alors sans effet. La bascule 610/611 change donc d'état et l'on obtient Qj=1 et (Qj)=0. Le 1 est bien entré dans l'étage j. Si l'étage suivant j+1 est lui aussi non sélectionné, soit Su+1=1, cet état ne dure pas puisque cet étage suivant reçoit lui aussi tout de suite le I et vient faire rebasculer la bascule 610/611 par le transistor 612 qui reçoit Qj+l=l sur sa grille et devient passant. L'étage j ne peut plus alors rebasculer de nouveau, puisqu'il a lui-même fait rebasculer l'étage j-l en renvoyant Qj=l sur le transistor 612 de cet étage j-1. Le bit 1 est donc transmis d'étage en étage, lorsqu'ils ne sont pas sélectionnés, avec un très léger retard correspondant au double basculement successif de ces étages sur le front montant de H1. Si par contre l'étage suivant est sélectionné, soit Sj+1=0, il ne basculera, comme on le verra par la suite, que sur le front montant de H2, et l'étage j gardera le 1 jusqu'au cycle d'horloge suivant, ce qui est sans importance puisque cela n1 influe pas sur le signal de lecture Cj, comme on l'a vu. Dans le deuxième cas, où l'étage j est sélectionné et Sj=0: Tant que l'on aura (Qj)=l, on aura Cj=0. La commande de lecture, correspondant à Cl=1, sera donc déclenchée par le passage du bit 1 dans l'étage, pendant lequel on aura Qj=1 et (Qj)=0. Si l'étage précédent j-l n'est pas sélectionné, il bascule, comme on l'a vu plus haut, au temps tl lorsque H1 passe dans l'état 1, en négligeant le retard dû à la propagation. On a alors (Qj-1)=0, ce qui bloque le transistor 603 et rend passant le transistor 602. Comme le transistor 601 est rendu passant par (Hl),on obtient un état 1 sur la grille du transistor 604 qui est alors rendu passant, alors que le transistor 605 est maintenu bloqué par H2. Comme par ailleurs Sj maintient le transistor 607 bloqué, il ne se passe rien et l'étage reste dans l'état Qj=0, ce qui ne remet pas l'étage précédent dans l'état Qj-1=0, justifiant ce qui a été dit plus haut. Lorsque à l'instant t2 l'horloge H2 passe à l'état 1, elle rend passant le transistor 605. Comme le transistor 604 est encore passant, compte tenu des charges accumulées bien que (H1) soit repassé dans l'état 0 à ce même instant t2, la deuxième entrée de la porte 606 reçoit un état 0, ce qui provoque le basculement de la bascule 610/611 et donc le passage de l'étage j dans l'état Qj=l, (Qj)=0, avec émission du signal de commande de lecture Cl=1. A ce moment l'étage j-l est remis dans l'état Qj-1=0, (Qj-1)=1 par l'action de Qj sur son transistor 612. Si par contre l'étage précédent est sélectionné, il ne bascule, comme on vient de le voir, que sur la montée de l'horloge H2. Si l'étage j-2 était lui-même sélectionné, on pourrait toujours raisonner par récurrence et remonter au cas d'un étage précédent non sélectionné pour revenir au cas précédent. Dans ce cas où l'étage j -1 est sélectionné, (Qj-1)=1 pendant l'état 1 de H1 et le transistor 604 reste toujours bloqué, ce qui empêche l'étage de basculer pendant le déroulement du cycle des trois horloges où l'étage j-l bascule. Quand cet étage j-l a basculé,(Qj-l) passe à l'état 0, ce qui permet au cycle suivant des horloges de débloquer le transistor 604 pendant l'état haut de H1. L'étage j bascule alors lorsque l'horloge H2 monte, avec un retard d'un cycle d'horloge sur le basculement de l'étage j-l, ce qui est bien le résultat recherché. En passant à 1, Qj fait alors de nouveau basculer l'étage j-l pour avoir (Qj-l)=l et donc Cj-1=0, ce qui permet, comme voulu, de ne pas lire simultanément deux mots de la mémoire. Cet exemple de réalisation physique du registre de commande de lecture permet d'utiliser un nombre restreint de transistors et d'obtenir une structure statique sans noeuds flottants mémorisant l'information. On minimise ainsi la place utilisée sur le substrat et on garantit le bon fonctionnement du circuit dans tous les cas de figure, ce qui permet de combattre certains problèmes de fraude. On pourrait, sans sortir du cadre de l'invention, réaliser une structure dynamique permettant de supprimer les bascules. Dans le deuxième exemple de réalisation d'un étage 302, représenté sur la figure 8, avec les signaux correspondants sur la figure 9, le signal Qj-l arrive sur deux transistors 801 et 802 dont les grilles reçoivent respectivement les signaux (Sj) et Sj. La sortie du transistor 801 délivre le signal Qj et elle est reliée au + de l'alimentation par un transistor inverseur 803 dont la grille reçoit un signal NPRECH. La sortie du transistor 802 est reliée à l'entrée d'un amplificateur inverseur 805 et au + de l'alimentation par un transistor inverseur 804 dont la grille reçoit un signal RAZ. Elle est également reliée au point commun d'un transistor inverseur 807 monté en série avec un transistor 808 relié à la masse. Les grille de ces transistors 807 et 808 sont reliées ensemble à la sortie de l'amplificateur 805, qui délivre également le signal Cj. Le transistor 807 est lui-même relié au + de l'alimentation par un transistor inverseur 806 dont la grille reçoit le signal Sj. La sortie de l'amplificateur 805 est aussi reliée à la grille d'un transistor 809 relié d'un côté à la sortie du transistor 801 et de l'autre à une entrée recevant un signal PASS. Les signaux Sj et (Sj) proviennent d'un circuit de sélection tel que 305 sur la figure 3. Lorsque l'étage n'est pas sélectionné, Sj=1 et (Sj)=0. La commande de la lecture d'un mot se produit quand le signal d'horloge H passe à 0. Ce signal, représenté sur la figure 9, n'est pas directement utilisé dans l'étage décrit, mais il cadence les autres signaux. Quand H passe à 1, le circuit peut commander deux actions différentes: programmation du registre, ou incrémentation c'est à dire changement de ligne de mot. Ainsi le signal en entrée Qj-l passe sur la sortie pour donner Qj uniquement lorsque H=1. Pour cela, le signal NPRECH reste à O en dehors des moments correspondant à l'incrémentation. Pendant l'incrémentation NPRECH passe à 1 et le signal PASS à 0. Lorsque la ligne est sélectionnée, comme la sortie de l'amplificateur 805 est à 1, le transistor 809 est passant et Qj passe à 0 jusqu'à ce que la prochaine ligne soit sélectionnée. Pour ce mot ainsi sélectionné, Qj-1 passe à 0, mais Qj ne change pas. Par contre, pour tous les mots précédents qui ne sont pas sélectionnés, le 0 en entrée passe à travers le transistor 801, puisque (Sj)=i. Après cette phase, le signal RAZ passe à 0, ce qui remet toutes les lignes de mot à 0. Toutefois le signal transmis précédemment est mémorisé sur la sortie Qj. C'est ensuite au signal Sj+l de passer à 1, et le signal Q présent sur l'entrée de l'étage correspondant à la prochaine ligne de mot sélectionnée est transmis à l'intérieur de cet étage. Le transistor 806 permet pendant cette phase de rendre flottante la sortie du transistor 802 et de forcer cette sortie correctement à 0. Comme le signal sur l'entrée du transistor 802 est flottant à ce moment, il faut s'arranger pour que la capacité parasite 810 sur l'entrée de 802 soit plus grande que la capacité 811 sur sa sortie, ce qui est facile à obtenir par les procédés habituels de dessin des masques de circuits intégrés. Alors la sortie Cj, correspondant à la ligne de mot sélectionnée, passe à 1. Ce deuxième exemple de réalisation permet de minimiser le nombre de transistors utilisés par étage. La figure 10 représente un exemple de réalisation d'un étage de sélection permettant justement de sélectionner une cellule telle que celles des figures 6 ou 8. On a utilisé dans cet étage des circuits mémoires non volatiles, afin de pouvoir mémoriser la sélection même si l'alimentation est coupée (cas des cartes bancaires par exemple). La partie qui est à gauche de la figure permet de programmer la sélection. Deux transistors en série 901 et 902 reçoivent sur leurs grilles des signaux dJhorloge H1 et (H1), ce qui permet de sélectionner successivement tous les étages en faisant progresser les signaux de sélection P d'un étage à l'autre. Ainsi 901 reçoit Pj-1 et 904 transmet Pj. Deux amplificateurs inverseurs 902 et 903, montés tête-bêche et connectés au point milieu de 901/904, permettent de mémoriser la sélection de l'étage pendant un coup d'horloge. Un transistor 905, connecté au point milieu 901/904, reçoit sur sa grille un signal d'écriture WR, ce qui permet d'appliquer à la partie qui est à droite de la figure une haute tension de programmation provenant d'une source HT 906. Des paires de transistors 907/908 reliés en série sont connectées en parallèle entre la sortie de 905 et une ligne commune AG. Le transistor 908 de chaque paire est du type inscriptible (EPROM ou fusible par exemple) et reçoit une commande d'inscription par une ligne commune VC lorsque la tension de programmation est appliquée. L'autre transistor 907 de la paire reçoit une commande de sélection distincte Ai. La sortie de 905, et de tous les 907, est appliquée à une première entrée d'une porte NON/OU 909, de type connu, qui reçoit sur une deuxième entrée une impulsion P. La sortie de cette porte délivre le signal de sélection Sj et est également reliée à la grille d'un transistor 910 connecté entre le + de l'alimentation et la première entrée de la porte. Le signal (Sj) est disponible sur cette première entrée. Pour programmer la cellule, l'une quelconque des entrées Ai reçoit un signal qui débloque le transistor 907 correspondant lorsque la HT est appliquée. Simultanément la ligne VC est portée à 1, et la ligne AG est laissée flottante. La grille flottante du transistor 908 ainsi sélectionné se charge donc et ce transistor mémorise la sélection. Pour lire le mot de mémoire correspondant à la cellule qui est sélectionnée, on adresse celle-ci par l'une des entrées Ai, tout en portant la ligne AG à 0. Si alors le transistor 908 correspondant a été programmé comme expliqué ci-dessus, (Sj) passe à 0 et reste dans cet état en permanence, alors que Sj passe à 1 pendant la durée d'une impulsion de lecture P adressée sur la deuxième entrée de la porte 909. Lorsque par contre la cellule n'est pas sélectionnée, aucun des transistors 908 ne permet le passage du 0 de la ligne AG par un transistor 907 sélectionné par Ai. On a alors en permanence Sj=0 et (Sj)=1. La description ci-dessus a été faite en supposant que le circuit, ou la carte, contenait un microprocesseur, pour faciliter les explications. On pourrait, toujours sans sortir du cadre de l'invention, utiliser des organes de gestion extérieurs, comprenant éventuellement un microprocesseur, communiquant avec les circuits décrits par un connecteur comme celui normalisé pour les cartes à puce. REVENDICATIONS 1- Dispositif d'adressage séquentiel d'une mémoire intégrée (201) comprenant n mots munis chacun d'une entrée d'adressage, caractérisé en ce qu'il comprend un premier registre à décalage (202) comprenant n étages munis chacun d'une sortie reliée (Cl-Cn) à l'une des dites entrées, et des moyens (204) pour introduire dans le premier étage de ce registre un bit de commande (1) et pour faire circuler ce bit d'étage en étage en provoquant au passage dans chaque étage l'émission vers le mot de la mémoire auquel il est relié d'un signal commandant l'adressage de ce mot. 2- Dispositif selon la revendication 1, caractérisé en ce qu'au moins un étage du registre à décalage (202) comprend en outre une entrée, et en ce que le dispositif comprend en outre des moyens de sélection (305) reliés (S1-Sn) à cette entrée pour empêcher ledit étage de commander l'adressage du mot auquel il est relié. 3- Dispositif selon la revendication 2, caractérisé en ce que les moyens de sélection comprennent des cellules non volatiles (908) pour mémoriser la sélection lorsque le dispositif n'est pas alimenté. 4- Dispositif selon l'une quelconque des revendications 2 et 3, caractérisé en ce que les moyens de sélection (305) sont reliés à un ensemble d'entrées des étages du registre à décalage (302). 5- Dispositif selon l'une quelconque des revendications 2 à 4, caractérisé en ce qu'un étage du registre (302), sélectionné pour ne pas commander l'adressage du mot auquel il est relié, transmet immédiatement et sans autre retard que celui de propagation, le bit de commande (1) à l'étage suivant. 6- Dispositif selon l'une quelconque des revendications 2 à 5, caractérisé en ce que les moyens de sélection comprennent un ensemble de circuits logiques (401-404) formant une logique combinatoire permettant de décoder des signaux de sélections (SEL) pour déterminer les étages du registre (302) qui doivent être neutralisés. 7- Dispositif selon la revendication 6, caractérisé en ce que cet ensemble de circuits logiques est du type PLA. 8- Dispositif selon l'une quelconque des revendications 2 à 5, caractérisé en ce que les moyens de sélection comprennent au moins un deuxième registre à décalage (505) comportant un ensemble d'étages munis chacun d'une sortie reliée (S1-Sn) à une entrée d'un étage du premier registre à décalage (302), et des moyens (304) pour charger ce deuxième registre avec un ensemble de bits (1/0) de sélection permettant de sélectionner les étages du premier registre reliés aux étages du deuxième registre chargés avec ces bits de sélection. 9- Dispositif selon l'une quelconque des revendications 2 à 8, caractérisé en qu'un étage du premier registre à décalage comprend: - un premier (601) et un deuxième (602) transistors à entrée inverseuse et un troisième (603) transistor reliés en série entre une source (+) d'alimentation et la masse, la grille du premier transistor étant reliée à une deuxième ((il)) horloge complémentaire d'une première (Hl) horloge, et les grilles des deuxième et troisième transistors étant reliées à une deuxième ((Qj-l)) sortie de l'étage précédent complémentaire d'une première (Qj-1) sortie de cet étage précédent;; - une porte NON-OU (606) délivrant sur sa sortie le signal de commande (Cj) d'adressage et ayant une première entrée (Sj) pour recevoir le signal de sélection de l'étage et une deuxième entrée reliée à une deuxième sortie ((Qj)) de l'étage, complémentaire d'une première sortie (Qj), ces sorties étant destinées à être reliées à l'étage suivant; - un quatrième (604) et un cinquième (605) transistors connectés en série entre la deuxième entrée de la porte (606) et la masse, la grille du quatrième transistor étant reliée au point commun des deuxième et troisième transistors, et la grille du cinquième transistor étant relié à une troisième horloge (H2);; - un sixième (607), un septième (608) et un huitième (609) transistors connectés en série entre la deuxième entrée de la porte (606) et la masse, la grille du sixième transistor étant reliée à la première entrée de la porte, la grille du septième transistor étant reliée à la première sortie (Qj-1) de l'étage précédent et la grille du huitième transistor étant reliée à la première horloge (H1); - deux amplificateurs inverseurs (610,611) reliés tête-bêche pour former une bascule connectée d'un côté à la deuxième entrée de la porte et de l'autre à la première sortie (Qj) de l'étage; - un neuvième transistor reliant la première sortie (Qj) de l'étage à la masse et dont la grille est reliée à la première sortie (Qj+1) de l'étage suivant;;et - un dixième transistor reliant la première sortie (Qj) de l'étage à la masse et dont la grille est reliée à une entrée de remise à zéro (RAZ). 10- Dispositif selon l'une quelconque de revendications 2 à 8, caractérisé en en ce qu'un étage du premier registre à décalage comprend: - un premier transistor (801) connecté entre l'entrée (Qj-l) et la sortie (Qj) de l'étage et destiné à recevoir sur sa grille le signal de sélection barre ((Sj)) de l'étage; - un deuxième transistor inverseur (803) connecté entre le + de l'alimentation et la sortie de l'étage et destiné à recevoir sur sa grille un signal de préchargement (NPRECH); - un troisième transistor (802) connecté d'un côté à l'entrée de l'étage et destiné à recevoir sur sa grille le signal de sélection (Sj) de l'étage; - un quatrième transistor inverseur (804) connecté entre le + de l'alimentation et l'autre côté du troisième transistor et destiné à recevoir sur sa grille un signal de RAZ;; - un cinquième (806) et un sixième (807) transistors inverseurs connectés en série en le + alimentation et la masse avec un septième transistor (808); le point commun aux sixième et septième transistors étant relié à l'autre côté du troisième transistor; la grille du cinquième transistor étant destinée à recevoir le signal de sélection de l'étage (Sj), et les grilles des sixième et septième transistor étant réunies; - un amplificateur inverseur (805) dont l'entrée est reliée à l'autre côté du troisième transistor et dont la sortie est reliée aux grilles des sixième et septième transistors; et - un huitième transistor (809) relié entre la sortie de l'étage et une connexion destinée à recevoir un signal PASS; la grille de ce transistor étant reliée à la sortie de l'amplificateur. 11- Dispositif selon l'une quelconque des revendications 2 à 7, caractérisé en ce que un étage du deuxième registre à décalage comprend: - un premier (901) et un deuxième (904) transistors reliés en série entre l'entrée (Pj-l) et la sortie (Pj) du registre; les grilles de ces transistors étant destinées à recevoir des signaux d'horloge inversés (Hl,(H1)); - deux amplificateurs inverseurs (902,903) connectés tête-bêche au point milieu des premier et deuxième transistors; - un troisième transistor (905) relié d'un côté au dit point milieu, dont la grille est destinée à recevoir un signal d'écriture (WR); - un générateur de haute tension d'alimentation (906) relié à l'autre côté du troisième transistor;; - une porte NON-OU (909) ayant une première entrée destinée à recevoir une impulsion de lecture (P) et une deuxième entrée reliée à l'autre côté du troisième transistor et destinée à délivrer le signal de sélection barre ((Sj)); - un ensemble de paires de transistors (907,908) connectées en parallèle entre la deuxième entrée de la porte et une ligne d'alimentation (AG); chaque paire comprenant un quatrième (907) et un cinquième (908) transistors connectés en série; la grille de chaque quatrième transistor étant destinée à recevoir un signal de sélection (Ai);les cinquièmes transistors étant du type inscriptible et ayant leurs grilles réunies ensemble pour recevoir un signal de commande de programmation (VC); et - un sixième transistor inverseur (910) connecté entre le + alimentation et la deuxième entrée de la porte; la grille de ce transistor étant réunie à la sortie de la porte pour délivrer le signal de sélection (Sj).