Mémoires mortes et logique programmable

publicité
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
Téléchargement