Extrait du cours mémoires mortes et logique programmable
VI.1 Mémoires mortes
Nous avons consacré le chapitre précédent à l’étude des mémoires vives, avec accès en lecture et écriture mais volatiles. Cependant pour certaines applications, il est nécessaire de pouvoir conserver des informations (programmes, données, …) de façon permanente même lorsque l’alimentation électrique est interrompue. On utilise alors des mémoires mortes ou mémoires à lecture seule (ROM : Read Only Memory). Dans ce cas les informations contenues en mémoire ne peuvent être accédées qu’en lecture. Les informations ne peuvent être modifiées ni intentionnellement, ni accidentellement. L’intérêt de ces mémoires réside dans le fait que cette mémoire permanente est accessible à la grande vitesse propre aux circuits électroniques à semi-conducteur.
VI.1.a Principe
Extérieurement une mémoire morte ressemble à un bloc mémoire sans ligne d’entrée ni commande d’écriture. Ce système peut se restreindre à k lignes d’adresse, n lignes de sortie et un signal de sélection du circuit.
Une telle mémoire morte contient 2k mots de n bits. Nous pouvons considérer que chacun de ces mots porte un code. Ainsi une mémoire morte peut être réalisée avec un encodeur de 2k lignes et n sorties associé à un décodeur pour activer une de ces 2k lignes (fig. 2).
VI.1.b Application des ROMs
Les domaines d’application des mémoires mortes sont très nombreux. Certains ont déjà été rencontrés dans ce cours, comme la conversion de code. La génération de caractères, pour un terminal ou une imprimante, en est un exemple. Un caractère peut être considéré comme une matrice de points, chaque point à afficher étant défini par un 1 dans la matrice. Chaque ligne de cette matrice est représentée par un mot de n bits, n étant le nombre de colonnes. Pour un certain nombre de polices permanentes, les matrices peuvent être stockées en mémoire morte dans le périphérique.Les ROMs peuvent être également utilisées pour conserver certains programmes et les données associées. C’est le cas pour les calculateurs de poche ou pour les programmes de démarrage et de chargement qui s’exécutent automatiquement lors de la mise sous tension d’un ordinateur.
VI.2 Mémoires programmables par l’utilisateur : PROM
Pour faire fabriquer une mémoire morte le client doit fournir la table de vérité au fabricant qui se charge de réaliser les masques, puis de produire les circuits. La réalisation des masques est une opération onéreuse qui suppose une production importante pour être amortie. Par ailleurs dans la phase de développement d’un système, on peut être amené à modifier le contenu d’une ROM, pour corriger des erreurs ou apporter des modifications. Cela peut s’avérer très coûteux. D’autre part la fabrication des premiers circuits demande quelques mois.
VI.2.a Techniques de programmation
Plusieurs procédés sont possibles pour l’enregistrement de l’information binaire. Citons pour commencer la méthode des fusibles. Pour chaque bit ou nœud de la matrice existe une diode et un fusible. Initialement les fusibles sont conducteurs, les bits sont donc tous à 1. La définition des 0 se fait à l’aide d’un programmateur de PROM qui, en fonction de la table de vérité, détruit les fusibles en indiquant l’adresse du mot contenant le bit à modifier et en injectant un courant sur la sortie correspondante. Cette méthode de programmation présente quelques risques pour l’ensemble du circuit. Le schéma de la figure 5 est identique à celui de la figure 3, les fusibles encore présents assurant les mêmes connexions.
V.3 Réseaux logiques programmables
Les mémoires mortes programmables furent les premiers membres d’une famille de composants : les circuits logiques programmables (CLP ou PLD : Programmable Logique Device). Cette famille est aujourd’hui très nombreuse et très variée, comme l’illustre la multitude d’acronymes : PAL, SPLD, EPLD, CPLD, FPGA, etc. La figure 9 donne une représentation symbolique simplifiée d’une PROM de 16 mots de 4 bits. Les portes ET reçoivent 4 variables directes ou inverses. Les connections de gauche, correspondant au décodeur et représentées par des disques noirs, sont figées. Les croix à droite représentent des connexions programmables.
……….
Cours maintenance mémoires mortes et logique programmable (2256 KO) (Cours PDF)