Brevet FR2605765A1 — publié le 19880429

PROCEDE D'ADRESSAGE D'UNE MEMOIRE ET COMPTEUR D'ADRESSE POUR LA MISE EN OEUVRE DU PROCEDE. La présente invention concerne un procédé d'adressage d'une mémoire. Elle concerne aussi un compteur d'adresse perfectionné pour la mise en oeuvre du procédé. Les mémoires sont des composants électroniques permettant d'enregistrer et de stocker sous forme binaire divers types d'informations. Pour faciliter la gestion d'une mémoire, cette dernière est en général découpée en zones de longueur aléatoire. Les conditions d'accès à ces zones peuvent être différentes, soit à cause de la technologie dans laquelle est réalisée la mémoire, soit à cause 1 0 de restrictions imposées par l'application qui peut réserver l'accès à certaines zones à des utilisateurs privilégiés ou similaires. D'autre part, dans certaines applications o la sécurité est très importante telles que les applications "cartes à mémoire", les zones sont elles-mêmes découpées en blocs comportant un nombre fixe de mots, chaque mot étant constitué par un certain nombre de positions binaires ou bits. Les blocs peuvent éventuellement être découpés en sous-blocs, sous-sousblocs et ainsi de suite, tous ces éléments comportant un nombre fixe de mots. Dans ce cas, le ou les premiers mots des blocs, sous-blocs ou soussous-blocs ont une fonction particulière d'autorisation d'accès au reste du bloc, sous-bloc, sous- sous-bloc... En général, l'accès aux différents mots d'une mémoire est réalisé à l'aide d'un compteur d'adresse utilisant plusieurs types de commande. Dans le cas notamment des mémoires à logique de commande câblée, le compteur d'adresse comporte une commande d'incrémentation unitaire permettant un balayage séquentiel d'un mot au mot suivant et une remise à zéro permettant un retour à l'adresse zéro. Or, lorsque la mémoire est découpée en blocs dont le ou les premiers mots ont une fonction particulière d'autorisation d'accès au reste du bloc, ce système d'adressage est particulièrement long. En effet, il est en général nécessaire de revenir en début de bloc pour écrire les conditions d'accès au bloc après avoir écrit certains mots dans le bloc. Ceci ne peut être réalisé qu'en remettant l'adresse à zéro et en incrémentant l'adresse de manière unitaire jusqu'à obtenir l'adresse du ou des premiers mots du bloc. Ceci est identique pour l'accès aux sous-blocs et aux sous- sousblocs. En conséquence, il existe une demande pour un procédé d'adressage permettant d'accéder facilement au niveau du bloc et éventuellement au niveau des sous-blocs et sous-sous-blocs inclus les uns dans les autres et dans les blocs. Ainsi, la présente invention a pour objet un procédé d'adressage d'une mémoire divisée en au moins une zone, elle-même divisée en blocs et sousblocs inclus les dans les autres, chaque bloc étant composé de 2n mots (avec n 1) et ies sous-blocs étant composés de 2nl, 2n2,... 2nm mots, avec ni, n2,... nm > 0 et choisis tels que n > ni > n2 >... > nm, et chaque mot étant adressable par l'intermédiaire d'un compteur d'adresse binaire, caractérisé en ce que l'adressage est réalisé de manière sélective, soit par balayage séquentiel d'un mot au mot suivant, soit au niveau du bloc. De manière préférentielle, l'adressage est réalisé de manière sélective, soit par incrémentation unitaire, soit par incrémentation de 2n (avec n 1). Selon une autre caracteristique de la présente invention lorsque les sousblocs sont présents, l'incrémentation peut être réalisée au niveau des différents sous-blocs par des incrémentations de 2nl, 2n2, 2nm. D'autre part, le procédé comporte une possibilité de retour en début de bloc. Ce retour en début de bloc est réalisé, de préférence, par remise à zéro des n bits de poids faible de l'adresse. Lorsque les sous-blocs sont présents, le procédé comporte aussi une possibilité de retour en début de sous-bloc réalisé de préférence par remise à zéro des ni, n2,..., nm bits de poids faibles de l'adresse avec nl>n2>...>nm. La présente invention concerne aussi un compteur d'adresse binaire du type comportant m étages avec 2m correspondant au nombre total de mots de la mémoire, chaque étage présentant une sortie et une entrée remise a zero, ledit compteur réalisant un comptage pas à pas, caractérisé en ce qu'il comporte de plus des moyens pour réaliser une incrémentation de 2n (n étant inférieur ou égal à m) et des moyens de remise à zéro des n bits de poids faible de l'adresse. Selon une autre caractéristique, lorsque les sous-blocs sont présents, il comporte des moyens pour réaliser des incrémentations de 2nl, 2n2,..., 2nm avec n > nl > n2... > nm et des moyens de remise à zéro des ni, n2,..., nm bits de poids faible de l'adresse. Selon un mode de réalisation préférentiel, les moyens pour réaliser une incrémentation de 2n ou 2nl, 2n2..., 2nm, sont constitués par une porte OU exclusif dont les entrées reçoivent respectivement la nième, nlième,... , nmième sortie du compteur et une impulsion de saut et dont la sortie est connectée en entrée de l'étage n+l, nl+l,..., nm+l du compteur. D'autre part, selon un mode de réalisation préférentiel, les moyens de remise à zéro des n ou ni, n2,..., nm bits de poids faible sont constitués par une porte OU recevant en entrée un signal de remise à zéro de bloc ou de sous-blocs et le signal de remise à zéro 2r du compteur la sortie de la porte OU étant connectée sur les entrées remises à zéro des n, ni, n2,..., nm étages de poids faible du compteur. D'autres caractéristiques et avantages de la présente invention apparaîtront à la lecture de la description d'un mode de réalisation faite ci-après avec référence aux dessins ci-annexés dans lesquels: - la figure 1 est un schéma synoptique succinct d'une mémoire à laquelle peut s'appliquer la présente invention, - la figure 2 est un schéma représentant une bascule utilisée dans un compteur d'adresse binaire, - la figure 3 représente schématiquement un compteur d'adresse binaire selon l'art antérieur, et - la figure 4 représente un compteur d'adresse binaire selon un mode de réalisation de la présente invention. Pour simplifier la description dans les figures les mêmes éléments portent des références identiques. Sur la figure 1, on a représenté, sous forme d'un schéma synoptique, une mémoire ainsi que certains des circuits d'entrée/sortie et des circuits de connexion à la mémoire. Dans le cadre de la présente invention, la mémoire I peut être aussi bien une mémoire RAM qu'une mémoire ROM, une mémoire EPROM, une mémoire EEPROM ou similaire. Dans le mode de réalisation représenté, on a choisi à titre d'exempie une mémoire comportant 16 324 cellules-mémoire agencées sous forme d'une matrice comportant 128 rangées ou lignes et 128 colonnes. On notera que le schéma synoptique de la figure 1 illustre une représentation fonctionnelle et non un agencement topologique réel du circuit intégré. D'autre part, les 128 colonnes Y1 à Y128 sont reliées à des sélecteurs de colonne 2. De manière plus spécifique, on a représenté sur la figure 1, 8 sélecteurs de colonne qui correspondent en fait chacun à un multiplexeur connecté à 16 lignes de colonne et permettant de sélectionner une des 16 lignes de colonne pour une programmation ou pour une connexion avec un des circuits tampons d'entrée/sortie 6. En effet, la mémoire représentée à titre d'exemple comporte des mots de 8 bits comme cela sera expliqué de manière plus détaillée ci-après. Les sélecteurs de colonne 2 sont connectés à un décodeur de colonne 3 qui présente 16 sorties et permet ainsi de sélectionner une des- 16 colonnes reliées à chaque sélecteur de colonne. Par ailleurs, les 128 lignes XI à X128 sont connectées à un décodeur de ligne 4. Le décodeur de colonne 3 et le décodeur de ligne 4 sont tous deux connectés par l'intermédiaire de circuits tampon non représentés à un compteur d'adresse 5 qui présente 11 sorties A0 à AI0. Le décodeur de colonne 3 est relié aux quatre sorties A0, AI, A2, A3 de poids faible du compteur d'adresse 5 tandis que le décodeur de ligne est relié aux autres sorties A4 à A10. Ce compteur d'adresse reçoit d'une logique de commande 7 un certain nombre de signaux de commande. Dans les mémoires de l'art antérieur, les signaux de commande sont essentiellement le signal d'incrémentation unitaire I et un signal de remise à zéro du compteur référencé RAZ. Dans le mode de réalisation de la présente invention, le compteur d'adresse 5 reçoit en outre des signaux de saut In et In1 permettant un adressage au niveau du bloc et des sous-blocs et les signaux de remise à zéro de bloc RAZB et de sous- blocs RAZB1 permettant une remise à zéro au niveau d'un bloc et d'un sous- bloc. La logique de commande émet en outre des signaux tels que le signal W permettant la lecture ou l'écriture dans la mémoire. En fait, une mémoire telle que la mémoire 1 est destinée à enregistrer et stocker sous forme binaire un certain nombre d'informations. En général, certaines de ces informations ont un accès réservé et sont enregistrées dans des endroits spécifiques de la mémoire. Pour faciliter la gestion d'une mémoire, celle-ci est le plus souvent découpée en zones de dimensions aléatoires, une telle zone a été symbolisée par les deux traits continus dans la mémoire de la figure 1. D'autre part, pour une meilleure gestion des informations, une zone est le plus souvent divisée en blocs de dimensions fixes et éventuellement en sous-blocs inclus les uns dans les autres. Ainsi, dans le mode de réalisation de la figure 1, la zone représentée a été divisée en deux blocs de 32 mots de S bits et chaque bloc a été divisé en deux sous-blocs de 16 mots de 8 bits. Lorsque la mémoire est ainsi découpée, il est important pour obtenir un gain de temps appréciable lors de l'accès à un mot de pouvoir adresser la mémoire au niveau d'un bloc et éventuellement d'un sous-bloc. Pour cela, conformément à la présente invention, on a mis en oeuvre un procédé d'adressage qui permet au compteur de s'incrémenter soit par pas unitaire, c'est-à-dire d'un mot au mot suivant à partir de l'adresse "0", soit par pas de 2n, à savoir dans le mode de réalisation représenté, par pas de 25 = 32 mots, ce qui permet de passer aisément d'un bloc à l'autre, soit par pas d- 2nl, à savoir, dans le mode de réalisation représentée, par pas de 24 = 16 mots. D'autre part, pour éviter une remise à zéro générale du compteur alors que l'adressage reste au niveau du bloc, on a aussi prévu un signal RAZB permettant une remise à zéro au niveau d'un bloc et un signal RAZBI permettant une remise à zéro au niveau d'un sous-bloc. Pour ce faire, et comme expliqué de manière plus détaillée ci-après, le signal RAZB remet à zéro les n bits de poids faible du compteur d'adresse et le signal RAZBI remet à zéro les nl bits de poids faible du compteur d'adresse, n étant supérieur à ni. Cette possibilité d'adressage au niveau du bloc et du sous-bloc permet un gain de temps très appréciable. En effet, l'incrémentation de 2n qui permet de passer d'un bloc au bloc suivant en une seule commande au lieu de 2n commandes, donne un gain de temps directement proportionnel à la longueur des blocs. En fait, plus les blocs seront longs, plus le gain de temps sera important. Par ailleurs, la possibilité de remise à zéro au niveau du bloc améliore Ig aussi le gain de temps. En effet, lorsque l'on écrit dans un bloc, il est parfois nécessaire de revenir écrire le premier mot du bloc pour modifier les conditions d'accès du bloc ainsi écrit. Si la possibilité de remise à zéro au niveau du bloc n'existe pas, il faut écrire les mots choisis, puis revenir à l'adresse "O" et incrémenter le compteur jusqu'au début du bloc choisi pour écrire le premier mot. Avec la remise à zéro sélective, on écrit les mots du bloc choisi, puis on revient au début du bloc pour écrire le mot de contrôle d'accès. Le. gain de temps est dans ce cas fonction de la position du bloc dans l'espace mémoire. Les gains sont en fait plus importants pour les blocs situés à des adresses élevées. Le même raisonnement peut être effectué pour les sous-blocs. On décrira maintenant avec référence aux figures-2 à 4, un mode de réalisation d'un compteur d'adresse utilisable dans un système électronique à méemoire réalisé en logique câblée. Le compteur d'adresse habituellement utilisé est constitué à partir de bascules avec remise à zéro. Une bascule de base a -été représentée à titre d'exemple sur la figure 2. Cette bascule comporte une entrée incrémentation I et une entrée remise à zéro RAZ ainsi qu'une seule sortie S. Elle est constituée de six portes NI 01 à 06. Les six portes NI 01 à 06 sont connectées de la manière représentée sur la figure 2. Cette manière étant bien connue de l'homme de métier, elle ne sera pas redécrite ici. Avec la bascule de la figure 2, sur le front descendant du signal appliqué sur l'entrée I, la sortie S change d'état. Ainsi, la sortie S passe à "O" si elle était à "1" et vice-versa. D'autre part, une impulsion à "1" appliquée sur l'entrée RAZ force la sortie S à "0". Comme représenté sur la figure 3, un compteur d'adresse est réalisé par l'assemblage de m bascules, à savoir onze bascules pour un mode de réalisation correspondant à la figure 1. La sortie de chaque bascule B est connectée à l'entrée I de la bascule correspondant à l'étage suivant. D'autre part, les onze sorties A0, AI, A2, A3, A4, A5, A6, A7, A8, A9, AIO des bacules seront envoyées sur les décodeurs de lignes et de colonnes. De plus, toutes les entrées RAZ des bascules B sont connectées en parallèle à un signal de remise à zéro RAZ. Pour la mise en oeuvre de la présente invention, le compteur de la figure 3 a été modifié comme représenté sur la figure 4 de telle sorte que le compteur puisse incrémenter par pas de 2n ou par pas de 2nl, c'est-à-dire par pas de 25 ou par pas de 24 dans le mode de 1 5 réalisation représenté, et puisse réaliser une remise à zéro au niveau du bloc ou du sous-bloc en remettant à zéro les n ou nI, à savoir cinq ou quatre bits de poids faible uniquement. Pour cela, on a prévu, entre la cinquième bascule et la sixième bascule, une porte OU exclusif 10 qui reçoit en entrée la sortie A4 de la cinquième bascule et un signal d'incrémentation In issu de la logique de commande. Ainsi, lorsqu'une impulsion est appliquée sur l'entrée In, on fait basculer la sortie A5 de la bascule, ce qui entratne une incrémentation de l'adresse de 25. De même, une porte O exclusif ' a été prévue entre la quatrième et la cinquième bascule. Cette porte 10' reçoit en entrée la sortie A3 de la quatrième bascule et le signal d'incrémentation Inl issu de la logique de commande. Si une impulsion Inl est appliquée sur la porte 10', la sortie A4 bascule, ce qui entraine une incrémentation de l'adresse de 24. D'autre part, pour obtenir une remise à zéro au niveau du bloc, on a prévu une porte OU 11 qui reçoit en entrée le signal RAZ et un signal RAZB issu de la logique de commande et dont la sortie est connectée sur les entrées remise à zéro des cinq bascules de poids faible donnant les sorties A4 à A0. De même, pour obtenir une remise à zéro au niveau du sous-bloc, on a prévu une porte OU 11' qui reçoit en entrée le signal RAZ et un signal RAZBI issu de la logique de commande et S dont la sortie est connectée sur les entrées remise a zéro des quatre bascules de poids faible Le compteur d'adresse décrit ci- dessus a été donné a titre d'exemple. Il est évident pour l'homme de l'art que d'autres types de compteurs d'adresse peuvent être utilisés pour la mise en oeuvre de la présente invention. Le compteur décrit présente l'avantage d'une très grande simplicité. D'autre part, il est évident pour l'homme de l'art que les sous- blocs peuvent être divisés et/ou une incrémentation et une remise zéro peuvent être prévues à ce niveau. () RÉPUBLIQUE FRAN AISE 2 605 766 INSTITUT NATIONAL DE LA PROPRIÉTÉ INDUSTRIELLE PARIS Ce numéro n'a donné lieu à aucune publication 1% W Ln oN REVENDICATIONS 1. Un procédé d'adressage d'une mémoire divisée en au moins une zone, elle-même divisée en blocs et sous-blocs inclus les uns dans les autres, chaque bloc étant composé de 2n mots (avec n > 1) et les sous-blocs étant composés de 2nli, 2n2,..., 2nm mots, avec ni, n2,..., nm,, 0 et choisis tels que n > ni > n2 >... > nm, et chaque mot étant adressable par l'intermédiaire d'un compteur d'adresse binaire, caractérisé en ce que l'adressage est réalisé de manière sélective, soit par balayage séquentiel d'un mot au mot suivant, soit au niveau du bloc. 2. Un procédé selon la revendication 1, caractérisé en ce que l'adressage est réalisé de manière sélective soit par incrémentation unitaire, soit par incrémentation de 2n (avec n >,, 1). 3. Un procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comporte un retour en début de bloc. 4. Un procédé selon la revendication 3, caractérisé en ce que le retour en déDut de bloc est réalisé par remise à zéro des n bits de poids faible de l'adresse. 5. Un procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, lorsque les sous-blocs sont présents, l'adressage est en plus réalisé par incrémentation de 2nl, 2n2,... 2nm. 6. Un procédé selon l'une quelconque des revendications I à 5, caractérisé en ce que, lorsque les sous-blocs sont présents, il comporte un retour en début de sous-blocs réalisé par remise à zéro de nl, n2,..., nm bits de poids faible de l'adresse. 7. Un compteur d'adresse binaire du type comportant m étages (AO, A1,... A6) avec 2m correspondant au nombre total de mots de la mémoire, chaque étage présentant une sortie et une entrée remise à zéro, pour la mise en oeuvre du procédé selon l'une quelconque des revendications I à 6, ledit compteur réalisant un comptage pas à pas, caractérisé en ce qu'il comporte de plus des moyens (10) pour réaliser une incrémentation de 2n (n étant inférieur ou égal à m). 8. Un compteur selon la revendication 7, caractérisé en ce qu'il comporte de plus des moyens (10') pour réaliser des incrémentations de 2nl, 2n2,..., 2nrm. 9. Un compteur selon l'une quelconque des revendications 7 et 8, caractérisé en ce que les moyens (10 ou 10') pour réaliser une incrémentation de 2n, 2ni, 2n2,..., 2nm, sont constitués par une porte OU exclusif dont les entrées reçoivent respectivement la sortie (A4 A3) de l'étage n, ni, n2,... nm du compteur et une impulsion de saut (In ou Inl') et dont la sortie est connectée en entrée de l'étage n+l, nl+l, n2+1,..., nm+l du compteur. 10. Un compteur selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comporte de plus des moyens (11) de remise a zéro des n bits de poids faible de l'adresse. 11. Un compteur selon l'une quelconque des revendications 7 à , caractérisé en ce qu'il comporte des moyens (11') de remise à zéro des ni, n2,..., nm bits de poids faible de l'adresse. 12. Un compteur selon les revendications 10 ou 11, caractérisé en ce que les moyens de remise à zéro des n, ni, n2,..., nmn bits de poids faible sont constitués par une porte OU (11 ou 11') recevant en entrée un signal de remise à zéro du bloc (RAZ B) ou du sous-bloc (RAZ BI) et le signal de remise à zéro du compteur(RAZ), la sortie de la porte OU étant connectée sur les entrées remise à zéro des n, ni, n2,..., nm étages de poids faible du compteur.