Mémoires - Université Virtuelle de Tunis
Transcription
Mémoires - Université Virtuelle de Tunis
CIRCUITS LOGIQUES SEQUENTIELS Université Virtuelle de Tunis Chap-IV: Mémoires CIRCUITS LOGIQUES SEQUENTIELS Mémoires TRABELSI Hichem Attention ! Ce produit pédagogique numérisé est la propriété exclusive de l'UVT. Il est strictement interdit de la reproduire à des fins commerciales. Seul le téléchargement ou impression pour un usage personnel (1 copie par utilisateur) est permis. 1 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires MÉMOIRES Objectifs Ce chapitre est consacré à l’étude des mémoires à semi-conducteurs, qui sont des éléments de stockage d’un grand nombre de données binaires. Nous définissons dans ce chapitre, le fonctionnement et la structure interne des différents types de mémoires (mémoires mortes et vives). Nous décrivons comment interfacer des mémoires pour faire l’extension de la capacité mémoire et de la longueur des mots. Généralités Les mémoires sont des dispositifs qui permettent de conserver puis de restituer les données binaires. L’enregistrement des données dans la mémoire est appelé opération d’écriture et leur restitution est l’opération de lecture. Comme le montre la figure ci-dessous, une mémoire peut être considérée comme un ensemble de cases mémoires; chaque case qui peut contenir un bit ou un ensemble de N bits appelé mot, est identifiée par un numéro appelé adresse. Donc afin de pouvoir lire ou écrire une information en mémoire, il faut connaître l’adresse à laquelle elle a été stockée ou à laquelle elle va être écrite. 0000 1 0 1 0 1 0 1 0 0001 1 1 1 0 1 0 0 0 0010 1 0 1 1 1 1 1 0 0011 0 0 1 0 1 0 0 1 0100 0 0 1 0 1 1 1 0 0101 1 1 0 0 1 0 1 1 0110 0 0 0 0 1 0 1 0 0111 1 1 1 0 0 0 1 1 1000 0 0 1 0 1 0 0 0 1001 1 1 1 0 1 0 0 0 1010 1 0 1 1 0 1 0 0 1011 0 0 0 0 1 0 0 1 1100 0 0 1 0 0 1 1 1 1101 1 1 0 1 1 0 1 1 1110 0 1 0 0 1 0 1 0 1111 0 0 1 0 0 0 1 1 Mot de 8 bits (00101001) qui se trouve à l’adresse 0011 Adresses Mémoire organisée en tableau de 16 cases de 8 bits chacune La mémoire est caractérisée par le nombre maximum de mots qu’elle peut contenir, appelé capacité mémoire. Elle se définit en bits ou en mots de N bits (le plus couramment utilisé est l’octet qui est un mot à 8 bits). Des multiples de bits, notés KB et MB (Kilo-Bits et Méga-Bits) ou KO et MO (Kilo-Octets et Méga-Octets), sont fréquemment utilisés pour désigner les capacités élevées. On donne : 1 KB = 210 =1024 bits et 1 MB = 220 =1048576 bits. 2 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Un autre paramètre très important caractérisant la performance de la mémoire est son temps d’accès, qui définit la durée entre une demande d’information et l’instant où elle est disponible. La capacité mémoire et le temps d’accès sont les deux caractéristiques principales d’une mémoire. Elles déterminent le choix d’un type de mémoire pour une application particulière. La mémoire, vu de l’extérieur, peut être représentée par la figure ci-dessous, où l’on peut distinguer : • Les entrées adresse Ad "Adress". • Les entrées de données D.I "Data In". • Les sorties de données D.O "Data Out". • Les entrées de commandes : CS et R / W . - La ligne CS valide ou non la mémoire. ( CS pour Chip Select). Si CS = 0: la mémoire est validée et fonctionne correctement. Si CS = 1: la mémoire est invalidée, elle ne répond pas aux adresses et aux opérations de lecture et d’écriture. - La ligne R / W (R pour read et W pour write) précise quelle opération de mémorisation à effectuer : Si R / W = 1: c’est une opération de lecture. Si R / W = 0: c’est une opération d’écriture. Adress (A0-AN-1) CS MEMOIRE Data in D0-DM-1 R/W Data out D0-DM-1 Structure externe d’une mémoire Comme la mémoire possède N lignes d’adresses (A0 jusqu’à N-1), elle peut mémoriser 2N mots de données. Chaque donnée est écrite sur M bits car les lignes de données sont au nombre M (D0 jusqu’à DM-1). La capacité de la mémoire est alors de 2N x M Bits. Exemple: Soit une mémoire ayant une capacité de 8 KO. 1- Combien a-t-elle de lignes de données ? 2- Combien a-t-elle de lignes d’adresses ? 3- Quelle est sa capacité en octets ? Réponse : - Cette mémoire possède 8 lignes de données. - Cette mémoire stocke 8KO =8x1024=8192 mots. Il y a donc 8192 cases mémoires. Puisque 8192 = 213, il faut donc 13 lignes d’adresse. - La capacité de cette mémoire est de 8192 octets. Les mémoires peuvent être classées en deux catégories : mémoires mortes et mémoires vives. Dans chaque catégorie, il y a différents types de mémoires, qui seront étudiées au cours de ce chapitre. 3 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Classification des mémoires Les mémoires peuvent être classées en deux catégories principales : mémoires mortes et mémores vives. Le tableau suivant résume cette classification. Mémoires Mémoires mortes ROM PROM Mémoires vives EPROM à accès aléatoires EEPROM RAM statique à accès séquentiels RAM dynamique FIFO LIFO Classification des mémoires Les mémoires mortes Les différents types de mémoires mortes Les mémoires mortes sont des mémoires que l’on peut uniquement lire. Les informations stockées dans ce type de mémoires ne sont pas perdues quand l’alimentation électrique est coupée, elles sont dites mémoires non volatiles. La programmation peut s’effectuer de différentes manières, d’où un classement en quatre catégories : 1- La mémoire ROM "Read Only Memory" est programmée chez le fabricant du circuit, pendant le processus de fabrication et selon les spécifications du client. Ce type de mémoire est très coûteux et ne convient qu’à des applications de très grande série. 2- La mémoire PROM "Programmable ROM" est programmable par l’utilisateur une seule fois et d’une façon définitive. Une fois programmée, la PROM ne diffère en rien d’une ROM. La programmation de ce type de mémoire consiste à effectuer la rupture de liaisons fusibles. 3- La mémoire EPROM "Erasable Programmable ROM" est programmable et effaçable, par l’utilisateur, autant de fois qu’il le désire. Cependant un effacement de la mémoire est nécessaire avant chaque nouvelle programmation, par exposition du composant pendant quelques minutes (20 mn à 30 mn en moyenne) à une source de rayons ultraviolets . 4- La mémoire EEPROM " Electrically Erasable Programmable ROM" est une version améliorée de l’EPROM. Elle garde les mêmes opérations d’écriture répétée et d’effacement, à la différence que l’opération d’effacement s’effectue par application d’une tension électrique. Avant d’étudier chacune de ces mémoires, étudions la structure générale d’une mémoire morte. 4 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Structure générale d’une mémoire morte Une mémoire morte est constituée d’un ensemble de cellules mémoire dont chacune représente un élément binaire (bit). Ces cellules sont organisées en lignes et colonnes selon une structure matricielle, donnée par la figure ci-dessous. L’adresse d’entrée est décodée et effectue la sélection d’une ligne de mot, qui se met par exemple à l’état haut (toutes les autres lignes sont à l’état bas). Cette sélection a pour effet de transférer le contenu de toutes les cellules mémoires de cette ligne sélectionnée, qui représente un mot de donnée à M bits, à la sortie de la mémoire (avec CS =0). Ligne de selection de mot Ligne de selection de données 0 A0 1 A1 A2 Cellules mémoires Décodeur 2 de lignes Entrées d’adresse 2N-1 AN-1 Buffer à 3 états CS D1 D0 D2 .......... DM-1 Sorties des mots de données Organisation d’une mémoire morte de capacité 2N x M bits Une fois qu’on a introduit l’organisation générale d’une mémoire morte, il faut étudier le schéma interne des cellules mémoires, qui différencient par leurs structures les différents types de mémoires mortes qu’on va étudier dans la suite. Mémoire ROM Les cellules mémoires ROM peuvent être réalisées en technologie bipolaire ou MOS. Cellule mémoire ROM à transistor bipolaire Cette cellule mémoire est constituée d’un transistor bipolaire mis à l’intersection d’une ligne de sélection de mot et d’une colonne de sélection de donnée. L’information inscrite dans la cellule mémoire dépend de la présence ou de l’absence de la connexion entre la ligne de sélection de mot et la base du transistor. En effet, quand la connexion est établie (figure-1), un niveau haut appliqué à la ligne de sélection de mot par la sortie du décodeur impose la saturation du transistor, la ligne de données est alors au niveau haut (car VCE ≈ 0V). Par contre, quand cette connexion est absente (figure-2), un niveau bas est inscrit à la ligne de donnée. Si la ligne de sélection de mot est à l’état bas (non active), le transistor est toujours bloqué quel que soit l’état de la connexion de sa base, par conséquent, la ligne de donnée demeure à l’état bas. 5 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Ligne de sélection de mot Ligne de sélection de mot Vcc Vcc Ligne de sélection de donnée Ligne de sélection de donnée Absence de connexion Cellule mémoire Cellule mémoire R R Figure-1 Figure-2 Cellules mémoire bipolaires Quand la ligne de sélection de mot est active, la présence ou l’absence d’une connexion avec la base, détermine si la valeur mémorisée est 0 ou 1. Ces connexions sont programmées pendant la fabrication du circuit intégré à partir d’un masque élaboré selon les besoins du client. Cellule mémoire ROM à transistors MOS La cellule mémoire disposée à chaque intersection d’une ligne et d’une colonne est constituée d’un transistor NMOS (figure ci-dessous). La résistance de limitation de courant R, commune à tous les transistors d’une même colonne, est remplacée par un NMOS fonctionnant en charge active (pour une meilleure intégration). L’information inscrite dans la cellule mémoire lors de la programmation de la ROM par le constructeur dépend de l’épaisseur de la couche d’oxyde entre la grille et le canal du transistor. Avec une couche mince, le transistor est caractérisé par une tension seuil VS1 de faible valeur, par contre s’il possède une épaisseur d’oxyde élevée, sa tension seuil VS2 est plus importante. C’est ainsi que lors de l’application d’un niveau haut (inférieur à VS2) sur la ligne de sélection de mot, le transistor à faible couche d’oxyde conduit en mettant la ligne de sélection de donnée à laquelle il est connecté à l’état bas (bit 0). Par contre pour le transistor ayant une couche d’oxyde épaisse, il est toujours bloqué et sa ligne de sélection de donnée est à l’état haut (bit 1). Charge active VDD Ligne de sélection de mot NMOS Cellule mémoire Ligne de données Cellule mémoire NMOS Par rapport aux mémoires ROM bipolaires, les mémoires ROM réalisées en technologie MOS ont un encombrement réduit, un coût de fabrication inférieur et une faible consommation , par contre ils sont moins rapides. 6 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Chronogramme d’une mémoire ROM Le chronogramme de la figure ci-dessous illustre le processus de lecture d’une mémoire ROM. La lecture commence par l’application d’une nouvelle adresse suivie d’une mise à zéro de l’entrée CS "Chip Select". Le retard entre l’instant de la présentation de l’adresse aux entrées de la ROM et le moment où la donnée passe de son état haute impédance (H.I) pour apparaître à la sortie de la mémoire, s’appelle le temps d’accès tACC. Ce temps est une caractéristique de la mémoire ROM, il est donné par le fabricant du composant. Un autre paramètre important de synchronisation est le temps tOE, qui est le retard entre l’instant de passage à l’état bas de CS et le moment où la donnée apparaît sur la sortie. Adresse CS tOE H.I Donnée tACC Chronogramme d’une mémoire ROM Mémoire PROM Cellule mémoire PROM à transistor bipolaire La cellule mémoire disposée à l’intersection d’une ligne de mot et d’une ligne de donnée est représentée par la figure ci-dessous. Le transistor bipolaire qui constitue cette cellule mémoire est relié à la ligne de sélection de mot par un fusible en nickel-chrome. A la livraison, tous les fusibles sont intacts, et par conséquent toutes les cellules d’une même ligne de mot sélectionnée sont à l’état "1". Pour programmer un état "0" dans une case mémoire, l’utilisateur doit faire claquer son fusible, en appliquant entre les lignes de mot et de donnée sélectionnées, une tension de quelques dizaines de volts pendant une durée très brève, produisant ainsi l’intensité de courant nécessaire au claquage. Cette programmation est effectuée par l’utilisateur à l’aide d’un dispositif spécial appelé programmateur de PROM. Une fois la PROM programmée, elle ressemble à une ROM puisqu’on trouve certaines cellules dont les connexions sont ouvertes et d’autres dont elles sont fermées pour représenter respectivement un état "0" et "1". Ligne de sélection de mot Vcc Fusible Ligne de sélection de donnée Cellule mémoire R Cellule mémoire PROM bipolaire 7 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Cellule mémoire PROM à transistor MOS La mémoire PROM peut être aussi réalisée en technologie MOS. La figure ci-dessous montre la structure de sa cellule mémoire. Quand le fusible est intact et la ligne de sélection du mot à l’état haut, le transistor conduit en mettant la cellule à l’état "0". Pour programmer un état "1" il faut claquer le fusible. Charge active VDD Ligne de sélection de mot NMOS Fusible Cellule mémoire Ligne de sélection de données Cellule mémoire PROM NMOS Mémoire EPROM Le caractère irréversible du claquage des fusibles reste l’obstacle de l’utilisation de la mémoire PROM, car elle ne peut être programmée plus d’une fois. La mémoire EPROM apporte une solution à ce problème car elle est programmable et effaçable, par l’utilisateur, autant de fois qu’il le désire. Cette mémoire n’est réalisée qu’en technologie MOS. Cellule mémoire La structure de la cellule mémoire de l’EPROM est donnée par la figure ci-dessous. Elle est analogue à celle d’une PROM en technologie MOS, seul le fusible est remplacé par un transistor à grille flottante appelé FAMOS "Floating gate Avalanche injection MOS", dont la structure interne est donnée ci-dessous. Il s’agit d’un transistor PMOS, dont la grille en silicium est isolée du substrat par une couche de SiO2 d’épaisseur 0,1 µm et elle est séparée de la surface supérieure par la même couche d’épaisseur 1 µm. Cette grille n’est pas reliée à aucun contact extérieur, d’où le nom de grille flottante. Si on applique une tension assez importante, de l’ordre de quelques dizaines de volts entre la source et le drain (VDS<0), on provoque un effet d’avalanche de la jonction P+ N drain-substrat, les électrons produits ont une énergie suffisante pour arriver à traverser l’épaisseur de 0,1 µm de la couche SiO2, et chargent la grille flottante négativement. Après la suppression de cette polarisation les électrons injectés restent piégés dans la grille chargée négativement et créent dans le substrat N une couche d’inversion de type P qui relie la source au drain, le transistor est alors conducteur. La programmation de la cellule mémoire, qui consiste à écrire un "1" ou un "0", dépend de l’état du transistor FAMOS. En effet, si veut écrire un "1", le FAMOS ne doit pas être programmé, il est alors bloqué. Par contre, quand il est programmé selon le principe décrit précédemment, il est donc conducteur et la cellule mémoire inscrit un "0". Pour effacer la mémoire, on doit neutraliser les charges piégées sur la grille flottante. Il suffit pour cela d’exposer la puce pendant 20 à 30 minutes à une source de rayons ultraviolets (U.V). L’éclairement se fait à travers une fenêtre en quartz aménagée sur la surface supérieure du 8 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires boîtier de l’EPROM. Après exposition à la source U.V, toutes les cellules mémoires sont programmées à "1". Charge active VDD Ligne de sélection de mot Grille flottante en Si S NMOS Cellule mémoire FAMOS SiO2 Ligne de sélection de données 0,1µm P+ D P+ Substrat N Cellule mémoire EPROM Structure interne du FAMOS A titre d'exemple, on peut étudier la mémoire EPROM 2764 Mémoire EEPROM C’est une mémoire programmable et effaçable électriquement. Le processus d’effacement est plus simple que celui de l’EPROM, car on n’a pas besoin ni de source de rayons ultraviolets, ni de retirer la mémoire de son support pour l’effacer. La technologie de fabrication des EEPROM fait appel à un transistor MNOS "Metal Nitride Oxyde Semicoductor" dont la structure interne est représentée à la figure ci-dessous. La grille est isolée par une couche mince de SiO2 de 2 à 5 nm surmontée d’une couche de nitrure de silicium Si3N4 d’épaisseur 40 à 50 nm. S G P+ D P+ Substrat SiO2 Si3N4 Structure interne du MNOS Quand on porte la grille à un potentiel élevé, de l’ordre de +20V, des électrons peuvent traverser la couche de SiO2 et s’accumulent à l’interface de SiO2-Si3N4. Ces électrons resteront piégés après la coupure de la polarisation. Cette accumulation de charge négative provoque l’augmentation de la tension seuil VS du transistor. Quand la grille est polarisée à un potentiel négatif de même ordre de grandeur, on inverse le signe des charges à l’interface. Le potentiel seuil VS diminue et devient négatif. La figure cidessous représente la caractéristique IDS=f(VGS) du transistor MNOS après l’application sur sa grille d’une tension positive ou négative. 9 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires IDS Après application d’une impulsion négative sur la grille VS2 Après application d’une impulsion positive sur la grille 0 VS1 VGS Caractéristique IDS=f(VGS) du transistor MNOS La cellule mémoire d’une EEPROM a la même structure que l’EPROM sauf qu’il faut changer le transistor FAMOS par le MNOS. Quand le transistor MNOS est bloqué (programmé par une tension positive), la cellule inscrit le bit "1", par contre quand il est conducteur (programmé par une tension négative), la cellule inscrit un "0". A titre d'exemple, on peut étudier la mémoire EEPROM 2817A Les mémoires vives RAM Une mémoire vive RAM "Random Access Memory" est une mémoire dans laquelle on peut écrire et lire les données. Le principal inconvénient de ce type de mémoire est leur volatilité, c’est à dire que les données qu’elles contiennent sont perdues si la tension d’alimentation est coupée. La RAM peut être réalisée de deux façons : - En utilisant des bascules bistables ; la mémoire obtenue est dite statique "SRAM". - En utilisant des capacités dont la charge matérialise l’information, c’est le cas de la mémoire dite dynamique "DRAM". Mémoire vive statique SRAM La RAM statique peut être réalisée en technologie bipolaire ou MOS. Avant d’étudier chacune de ces mémoires, étudions la structure générale d’une RAM statique. Structure générale de la SRAM Comme le montre la figure ci-dessous, la RAM statique (SRAM), ayant une capacité de 2N x M bits, est constituée d’un ensemble de cellules mémoires disposées selon une structure matricielle (en général carrée). Sur chaque ligne est connectée plusieurs mots de M bits. Parmi les N bits d’adresses, certains (A0-AK) servent à sélectionner au moyen du décodeur de lignes une seule ligne de mot, les autres adresses (AK+1-AN-1) servent à sélectionner au moyen du décodeur de colonne un des mots d’une ligne. Chaque cellule mémoire est reliée à une paire de ligne de données, qui représente les bits "0"et "1", commune à toutes les cellules d’une même colonne. Les broches D0-DM-1 ont une double fonction : entrées ou sorties de données, elles sont bidirectionnelles. Les broches CS et R / W sont les entrées de commandes. Si CS =1, il n’est pas possible d’effectuer d’opérations de lecture ou d’écriture. Si CS =0, l’état de R / W détermine le type d’opération : écriture R / W =0, lecture R / W =1. 10 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Ligne de selection de mot Cellules mémoires 0 A0 A1 A2 Entrées d’adresse AK 1 Décodeur 2 de lignes Ligne de bit ’’0’’ Ligne de bit ’’1’’ 2N-1 D0 D1 Circuit d’entrée-sortie des colonnes DM-1 CS Décodeur de colonnes (ou de mots) R/W AK+1 AK+2 AN-1 Structure d’une mémoire vive statique de capacité 2N x M bits Cellule mémoire en technologie bipolaire Une cellule mémoire en technologie bipolaire est constituée de deux transistors bouclés, réalisant une bascule bistable. Cette structure possède deux états électriques dans lesquels un transistor est bloqué et l’autre passant. Ces deux états matérialisent les bits "0" et "1". La cellule mémoire bipolaire, donnée par la figure ci-dessous, est obtenue à partir de deux transistors T1 et T2 multi-émetteurs, formant une bascule à deux états. Le premier représente le bit "0" (quand T1 conduit et T2 bloqué), et le second représente le bit "1" (quand T1 bloqué et T2 conduit). En aucun cas les deux transistors ne sont dans le même état (bloqué ou saturé). 11 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires VCC R Ligne de mot E1 R T1 E’1 T2 E2 E’2 Lignes de données Bit "0" Bit "1" Cellule mémoire statique bipolaire Au repos, la ligne de mot est à l’état bas, aucun courant ne passe par les émetteurs E1 et E2, la cellule n’est pas sélectionnée. Afin d’activer la cellule mémoire pour des opérations de lecture ou d’écriture, le potentiel de la ligne de mot doit être porté à l’état haut. L’état de la bascule peut alors être lu ou modifié au moyen de l’émetteur connecté à la ligne de donnée (E1 ou E2). Dans le cas de la lecture, le courant de repos, qui au départ, circulait dans la ligne de mot, est transféré dans l’une des deux lignes de données, en fonction des états des transistors. En effet, si T1 est conducteur, un courant circule dans la ligne de donnée de bit "0", donc un état bas est lu par l’amplificateur de sortie de la mémoire, par contre, si T2 est conducteur, le courant circule dans la ligne de bit "1", et un état haut est alors lu par l’amplificateur. Dans le cas d’une opération d’écriture, une ligne de donnée est à l’état bas et l’autre à l’état haut. Le transistor dont l’émetteur est connecté à la ligne mise à l’état bas entre en conduction et l’autre se bloque. Pour écrire un "1" la ligne de donnée de bit "1" doit être portée à l’état bas et la ligne de donnée de bit "0" est portée à l’état haut. Pour écrire un "0" on doit faire l’opération inverse. Cellule mémoire en technologie MOS La cellule mémoire NMOS (figure ci-dessous) est constituée de deux inverseurs (T1,T3 et T2,T4) rebouclés pour constituer la bascule bistable, et de deux transistors T5 et T6, qui fonctionnent en interrupteurs, permettant la connexion de la bascule à la ligne de sélection de mot et la paire de ligne de données. A l’état de repos, la ligne de sélection de mot est à l’état bas. Les transistors T5 et T6 sont bloqués et par conséquent les lignes de données sont isolées de la cellule mémoire. L’information reste mémorisée dans la bascule bistable : le bit "1" est caractérisé par T1 en conduction et T2 bloqué, par contre, T1 bloqué et T2 en conduction caractérisent le bit "0". La cellule mémoire est sélectionnée quand les deux interrupteurs T5 et T6 sont fermés par l’application d’un niveau haut sur la ligne de mot. Il est donc évident que l’état de la bascule peut être lu ou modifié à travers les lignes de données. 12 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Bit "0" Lignes de données VDD T3 T4 Q T5 Bit "1" Q T1 T2 T6 Ligne de sélection de mot Cellule mémoire statique NMOS A la lecture, les états de sortie de la bascule Q et Q sont transmis aux lignes de données qui doivent être reliées à un amplificateur différentiel. Si l’information mémorisée est un "1", on a aux sorties de la bascule un niveau haut sur la ligne de donnée de bit "1" et un niveau bas sur la ligne de donnée de bit "0". Si l’information mémorisée est un "0", on a alors l’inverse. A l’écriture, c’est l’état des lignes de données qui force la bascule à se positionner à l’un de ces deux états stables. Un niveau haut appliqué sur la ligne de donnée de bit "1" porte le transistor T1 en conduction, alors qu’un niveau bas sur la ligne de donnée de bit "0" bloque le transistor T2. Chronogrammes des SRAM La mémoire vive est utilisée le plus souvent comme mémoire interne dans un ordinateur. L’unité centrale de traitement (le microprocesseur), effectue en permanence des opérations de lecture et d’écriture, à un rythme très rapide, avec la mémoire. Cette dernière doit être suffisamment rapide pour répondre aux commandes de lecture et d’écriture du microprocesseur ; c’est pourquoi on doit prendre en considération les caractéristiques de synchronisation des SRAM : cycles de lecture et d’écriture représentés par la figure ci-dessous. 13 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Adresses CS R/W=1 H.I H.I Données tACC Cycle de lecture Adresses CS R/W Données Cycle d’écriture Mémoire vive dynamique La mémoire RAM dynamique ou DRAM "Dynamic RAM" n’est réalisée qu’en technologie MOS. Elle permet le stockage de l’information sous forme de charges capacitives dans de minuscules condensateurs MOS, au lieu dans des bascules bistables comme dans le cas des SRAM. A cause de l’épuisement de ces charges en fonction du temps, elles ne peuvent pas être conservées au-delà de quelques millisecondes, il faut donc les régénérer constamment et d’une façon périodique, on parle alors de rafraîchissement des DRAM. Avec l’évolution technologique des circuits intégrés, le circuit de rafraîchissement est intégré à la structure interne de la mémoire. Avec les mémoires dynamiques, on peut obtenir des mémoires de grande capacité, donc un degré d’intégration élevé, et une faible consommation. Cellule mémoire DRAM La cellule mémoire peut être réalisée, comme le montre la figure ci-dessous, à partir d’un seul transistor NMOS (T) assurant la sélection et d’un condensateur C servant à la mémorisation. En pratique, le condensateur n’a pas d’existence distincte du transistor, mais il en fait partie puisqu’il représente la capacité drain-substrat, de valeur inférieure au picofarad. 14 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Ligne de sélection de mot T C Ligne de données Cellule mémoire dynamique à un transistor La cellule mémoire est activée par l’application d’un niveau haut sur la ligne de sélection de mot, le transistor est passant, et la capacité C est alors connectée à la ligne de donnée pour effectuer les opérations d’écriture ou de lecture. Pour l’écriture d’un "1", la ligne de donnée est portée à un niveau haut pour charger C à son potentiel, par contre pour l’écriture d’un "0", la ligne de données est portée à l’état bas et décharge la capacité C. Pour lire le contenu de la cellule mémoire, on recueille sur la ligne de donnée la tension aux bornes de C. Selon que la capacité C est chargée ou non, elle caractérise l’information "1" ou "0". On constate que la cellule mémoire dynamique est beaucoup plus simple que la cellule mémoire statique puisqu’elle comporte un seul transistor MOS (au lieu de six dans le cas de la SRAM). Elle permettra donc une très grande densité d’intégration. L’inconvénient majeur de ce type de mémoire vient de l’inévitable décharge progressive de C, qui ne peut être conservée au delà de quelques millisecondes à cause des courants de fuite. Pour palier cette perte de l’information, il faut la régénérer constamment, c’est l’opération rafraîchissement de la mémoire. L’opération de rafraîchissement consiste à lire l’information stockée dans C avant qu’elle n’ait disparu, et de la réécrire de nouveau afin de maintenir la charge de la capacité C. Ce rafraîchissement doit être systématiquement exécuté pour toutes les cellules mémoires de la DRAM, pour cela il faut adjoindre des circuits supplémentaires à la structure de la cellule mémoire donnée par la figure précédente. Loin d’être complet, le schéma de la figure ci-dessous illustre le principe du rafraîchissement. Le circuit de rafraîchissement est commun à toutes les cellules d’une même ligne de données. Ligne de sélection de mot T Ligne de données C VREF Comparateur - + Lecture Amplificateur Ecriture Interrupteur MOS de rafraîchissement Cellule mémoire dynamique avec circuit de rafraîchissement 15 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires Après la sélection de la cellule mémoire, la tension lue est appliquée à un comparateur pour améliorer la sensibilité de sa détection. En effet, si la tension qui vient d’être lue est supérieure à VREF (elle représente la tension minimale niveau haut), la sortie du comparateur est à l’état 1, par contre si elle est inférieure, la sortie du comparateur est à l’état 0. La sortie du comparateur est appliquée à l’interrupteur de rafraîchissement qui, lorsqu’il est fermé, réinjecte via un amplificateur l’information lue dans la capacité C pour entretenir la tension entre ses bornes. A l’état de repos, la ligne de sélection de mot est à l’état bas, le transistor est bloqué et la cellule mémoire est isolée de la ligne de donnée, elle mémorise l’information qui doit être rafraîchie à intervalle régulier et d’une façon permanente. Structure interne d’une RAM dynamique La mémoire dynamique est un ensemble de cellules mémoires organisées sous forme matricielle. Chaque cellule est repérée par une ligne de mot et une ligne de données. Comme il s’agit en général d’une mémoire de grande capacité, et afin de limiter le nombre de broches et le dimensionnement du boîtier, les entrées d’adresse sont multiplexées, c’est la raison pour laquelle ce type de mémoire n’a que N/2 lignes d’adresse pour une capacité de 2N mots. L’adresse doit alors être fournie au boîtier de mémoire en deux temps, pour cela, il y a deux types de commandes d’adresse : - RAS "Row Adress Strobe", ce signal permet de mémoriser sur front descendant, dans un registre, la première partie de l’adresse (adresse des rangées). - CAS "Column Adress Strobe", qui, sur son front descendant, mémorise dans un autre registre la deuxième partie de l’adresse (adresse des colonnes). A titre d’illustration, on va étudier le circuit intégré de la RAM dynamique DRAM 4116 Association de mémoires Il est très courant d’associer dans un système plusieurs mémoires soit pour diversifier les mémoires soit pour augmenter la capacité mémoire. Les exemples suivants illustrent des notions très importantes que l’on doit connaître quand on interface plusieurs circuits mémoires. Extension de la longueur du mot Ce type d’extension sert à augmenter le nombre de bits qui constitue le mot mémoire. En montant en parallèle toutes les entrées d’adresses et de commande, et en laissant séparées les broches de données, il est possible d’atteindre l’extension requise. A titre d’exemple, supposons que l’on veuille obtenir une mémoire de 1 K x 8 bits à partir de mémoires de 1k x 4 bits. Il est possible d’assembler deux de ces mémoires de 1K x 4 bits pour obtenir la mémoire recherchée. 16 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires La figure ci-dessous montre comment on peut assembler les deux mémoires. A0 A1 A2 . . A9 Bus d’adresse CS R/W A0 A1 A2 ….. A9 A0 A1 A2 ….. A9 R/W R/W CS Mem-0 D0 D1 D2 D3 CS Mem-1 D0 D1 D2 D3 D0 D1 D2 D3 D4 D5 D6 D7 Bus de données Extension de la longueur du mot La mémoire Mem-0 mémorise les 4 bits de rang inférieur de chacun des 1024 mots (1K) et la mémoire Mem-1 mémorise les 4 bits de rang supérieur. Un mot de 8 bits se trouve alors sur le bus de donnée de la mémoire. L’assemblage de deux mémoires de 1K x 4 bits est équivalent à une seule mémoire de capacité 1K x 8 bits. Afin d'illustrer cette notion d'extension de la longueur de mot, lancer l’applet Extension de la capacité mémoire L’extension de la capacité mémoire est l’augmentation du nombre de mots mémorisables tout en conservant le même nombre de bits par mot. Avec l’augmentation de la capacité mémoire, le nombre d’adresses nécessaires à la sélection des mots mémorisables doit augmenter aussi. Le doublement de la capacité mémoire entraîne 1 bit supplémentaire dans l’adresse. A titre d’exemple, réalisons une mémoire de 2K x 4 bits à partir de mémoires de 1K x 4 bits. Il est possible en assemblant deux mémoires de 1K x 4 bits d’obtenir une mémoire de 2K x 4 bits, comme le montre la figure ci-dessous. 17 TRABELSI Hichem Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS _____________________________________________________________________________________________________________________________________________ Chap-IV : Mémoires A0 A1 . . A9 A10 Bus d’adresse R/W A0 A1 A2 ….. A9 A0 A1 A2 ….. A9 R/W R/W CS Mem-0 D0 D1 D2 D3 CS Mem-1 D0 D1 D2 D3 D0 D1 D2 D3 Bus de données Extension de la capacité mémoire Afin d'illustrer cette notion d'extension de la capacité mémoire, lancer l’applet. 18 TRABELSI Hichem