Mémoires mortes on vient d'étudier les mémoires vives accessibles en lecture et en écriture mais volatiles de nombreuses applications demandent de pouvoir conserver des informations, même si l'alimentation électrique est coupée Mémoires mortes et logique programmable mémoires mortes, le plus souvent accessibles en lecture seulement ROM (Read Only Memory) les informations stockées ne peuvent être modifiées, ni intentionnellement ni accidentellement accès généralement très rapide F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 1 F. Touchard Cours Architecture Mémoires mortes 2 Mémoires mortes chaque mot peut être considéré comme un code et la mémoire réalisée avec un encodeur de 2k lignes et n sorties associées à un décodeur pour activer une de ces 2k lignes principe bloc mémoire sans lignes d'entrée ni commande d'écriture k lignes d'adresse ESIL Département d'Informatique 1ère année 2006-2007 2k mots de n bits CS n lignes de sortie F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 3 F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 4 Mémoires mortes Mémoires mortes exemple d'une mémoire de 4 mots de 4 bits on préfère le plus souvent une organisation matricielle réalisation possible de l'encodeur avec des diodes une partie de l'adresse identifie les lignes l'autre partie identifie les colonnes mêmes remarques pour l'assemblage de blocs mémoires que pour les mémoires vives table de vérité F. Touchard Cours Architecture X1 X0 Y3 Y2 Y1 Y0 0 0 1 0 1 0 0 1 1 1 0 1 1 0 0 0 1 0 1 1 1 1 1 1 ESIL Département d'Informatique 1ère année 2006-2007 5 F. Touchard Cours Architecture Mémoires mortes ESIL Département d'Informatique 1ère année 2006-2007 6 Mémoires mortes visualiser sur un écran à balayage des caractères constitués de 8 lignes de 5 points applications des ROMs stockage de programme dans des systèmes embarqués calculatrice BIOS machine à laver mémorisation de 8 mots de 5 bits conversion de code un compteur permet de balayer périodiquement ces 8 mots pour les afficher en permanence exemple de la génération de caractères pour un terminal ou une imprimante pour adresser tous les caractères, on va utiliser leur code ASCII caractère = matrice de points (1 pour le point à afficher) chaque ligne de la matrice est un mot de n bits (n = nombre de colonnes) peut être stocké dans une ROM à l'intérieur du périphérique F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 7 code ASCII de N (en hexadécimal) : 4E16 = 10011102 code ASCII de R (en hexadécimal) : 5216 = 10100102 F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 8 Mémoires mortes Mémoires mortes d'où les 8 mots nécessaires pour chacune des lignes de chaque caractère et leurs adresses génération de fonction numérique exemple : sin(x), x Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 /2] l'intervalle [0, /2] est divisé en N = 2k intervalles, la variable xi prenant les valeurs centrales : xi = i 1 x avec i [ 0,N 1] 2 et x= 2N chacune des valeurs est identifiée par l'indice i, qui peut être utilisé comme une adresse si on code dans la cellule mémoire associée à l'adresse i le nombre fi = Partie Entière [(2n - 1) sin xi] on obtient une grandeur proportionnelle à sin xi codée sur la totalité de la gamme dynamique des n bits Look-up Table associée à un compteur et un convertisseur numériqueanalogique : possibilité de génération de signaux périodiques et le schéma de principe du dispositif F. Touchard [0, 9 F. Touchard Mémoires mortes Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 10 Mémoires programmables par l'utilisateur génération de fonctions logiques PROM exemple : pouvoir effectuer une des 8 fonctions logiques sur 2 variables Programmable Read Only Memory pour éviter d'avoir à demander une fabrication spéciale des mémoires mortes f0 (a,b) = a.b f1 (a,b) = a.b f2 (a,b) = a.b f3 (a,b) = a+b f4 (a,b) = a+b f5 (a,b) = a+b f6 (a,b) = a b f7 (a,b) = a b coûteux lent intéressant pour la phase de développement d'un produit ou pour de petites séries facile d'écrire la table de vérité des 8 fonctions par rapport aux 4 combinaisons de a et b, puis de mémoriser les 32 valeurs dans une ROM: a b 32 bits S fi F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 11 F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 12 Mémoires programmables par l'utilisateur Mémoires programmables par l'utilisateur techniques de programmation réalisation de la programmation méthode des fusibles méthode des anti-fusibles une diode et un fusible à chaque noeud de la matrice on fait fondre un diélectrique dans une zone de faibles dimensions située à l'intersection de 2 électrodes 1ère électrode en silicium polycristallin 2ème électrode réalisée dan un implant fortement dopé n+ diélectrique constitué de couches d'oxyde et de nitrure de silicium initialement tous les fusibles sont conducteurs et donc tous les bits sont à 1 la définition des 0 se fait à l'aide d'un programmateur de PROM qui est capable de détruire les fusibles en indiquant l'adresse du bit du mot à modifier et en injectant un courant sur la sortie correspondante mais la manoeuvre est risquée pour le circuit... la fusion du diélectrique entraine la diffusion des dopants méthodes des anti-fusibles aucune connection initialement F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 13 F. Touchard Mémoires programmables par l'utilisateur Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 14 Mémoires programmables par l'utilisateur d'autres technologies sont possibles, faisant intervenir diverses combinaisons électrodes-diélectrique multi-programmation des PROM en utilisant des transistors à effet de champ MOS (Metal Oxyde Semiconductors) mais toutes ces technologies sont irréversibles du point de vue de la configuration de la PROM la grille permet d'induire un canal entre la source et le drain une tension positive sur la grille va attirer les électrons et repousser les trous une partie des électrons va se recombiner avec les trous, créant une inversion de population induisant un canal n entre les implants de la source et du drain Le transistor est alors passant pour programmer le noeud, on fait passer un courant intense entre la source et le drain. Des électrons acquièrent une énergie suffisante pour atteindre la grille flottante où ils sont piégés. Quand la charge piégée est suffisante, elle masque le champ induit par la grille et le transistor est bloqué de façon permanente F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 15 F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 16 Mémoires programmables par l'utilisateur Mémoires programmables par l'utilisateur pour "déprogrammer" le circuit, il faut décharger la grille flottante NOVRAM (Non volatile RAM) EEPROM associée à une RAM. Sert à sauvegarder rapidement (< 10ms) le contenu de la RAM en cas de coupure de courant exposition aux rayonnements UV pendant quelques dizaines de minutes Erasable Programmable Read-Only Memory (EPROM) par effet tunnel en appliquant des tensions électriques suffisamment importantes entre la grille, la source et le drain action plus rapide et sans être obligé de retirer le circuit du système où il est monté Electrically Erasable Programmable Read-Only Memory (EEPROM) mémoires flash EEPROM dans laquelle on peut atteindre plusieurs cellules en parallèle (octet ou mot), diminuant sensiblement les temps d'accès en écriture l'effacement ne peut se faire que par bloc on trouve maintenant des circuits pour lesquels on mesure la quantité d'électrons piégés dans la grille flottante, permettant ainsi de stocker plusieurs bits dans une même cellule le cycle d'écriture d'une EEPROM est environ 1000 fois plus lent que celui d'une RAM les temps d'accès en lecture des RAM, ROM, EPROM, EEPROM sont comparables F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 17 F. Touchard Réseaux logiques programmables Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 18 Réseaux logiques programmables la famille des circuits logiques programmables (PLD) est vaste et variée Programmable Array Logic (PAL) matrices des connexions OU figée PAL, SPLD, EPLD, CPLD, FPGA matrice des connexions ET programmable exemple d'une PROM de 16 mots de 4 bits 4 entrées pour les portes ET connexions figées 16 entrées pour les portes OU connexions programmables F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 19 F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 20 Réseaux logiques programmables Réseaux logiques programmables Programmable Logic Array (PLA) ou Field Programmable Logic Array (FPLA) toujours plus de sophistication dans les catalogues des fabricants canaux d'entrée/sortie bidirectionnels grâce à des portes 3-états qui permettent de commander le sens d'utilisation possibilité de ré-injecter des sorties dans le réseau des ET (variables intermédiaires) utilisation d'un réseau de bascules D avec une horloge commune les 2 matrices sont programmables maximum de souplesse PAL, PLA, FPLA constituent la famille des SPLD (Simple Programmable Logic Device) entrée programmable au niveau des portes ET et OU sortie accessible à l'extérieur et pouvant être utilisée comme variable interne injectée dans le réseau de connexions programmables programmation de fonctions séquentielles F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 21 F. Touchard Réseaux logiques programmables Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 22 Réseaux logiques programmables exemple d'une PLA combiné à une bascule D circuits de plus en plus complexes Complex Programmable Logic Devices (CPLD) plusieurs PALS rassemblées en cellules (macrocellules) macrocellules regroupées en blocs logiques qui peuvent être reliés par une matrice de connexions programmable F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 23 F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 24 Réseaux logiques programmables Field Programmable Gate Arrays (FPGA) blocs d'entrée/sortie blocs logiques matrices de connexions programmables techniques de programmation analogues à celles des ROMs peut se faire aussi avec une SRAM F. Touchard Cours Architecture ESIL Département d'Informatique 1ère année 2006-2007 25