Académique Documents
Professionnel Documents
Culture Documents
Chapitre 7 :
Mémoires et Interface Mémoire
Objectives
Les objectifs de ce chapitre sont:
- Les mémoires semi-conducteurs sont directement connectées à la CPU (P), qui lui fournissent
notamment le code et les données le plus rapidement possible mémoires primaires (RAM, ROM)
- Le temps d’accès mémoire est appelé la ‘Vitesse de la Mémoire‘. C’est la différence entre le moment
ou l’adresse est présentée et le moment ou la donnée est fin prête.
- La mémoire est plus performante, et par conséquent plus chère, si son temps d’accès est petit.
- Ces temps sont de quelques ‘ns’ aux 100s de ‘ns’.
Types de mémoires
ROM (Read Only Memory) Alimentation éteinte Contenu existe toujours: Mémoire Non Volatile
Lecture seule
PROM ProgrammableROM.
Mémoire programmée par l’utilisateur en ‘brûlant’ en permanence l’information dans
ses locations (puisque chaque bit est un fusible) Brûleur/Programmeur de ROMs.
Si par erreur l’utilisateur se trompe, la PROM est à jeter PROM = OTP.
EPROM ErasableProgrammableROM.
Elle possède une fenêtre pour laisser passer les radiations UV et effacer le programme.
VPP 1 28 VCC
1er problème: le procédé d’effacement du programme prend 20 minutes.
A12 2 PGM
A7 N.C.
A6 A8 2eme problème: le procédé d’effacement du programme: La EPROM est retirée de son ‘
A5 A9
A11 Socket’ de la carte système, ensuite déposée sur l’équipement d’effacement pour
A4
A3 OE l’exposer aux UV, reprogrammée par le brûleur avec une alimentation spécifique de
A2 A10
A1 CE 12.5V ou plus (VPP), et enfin la placée à nouveau dans son Socket.
A0 O7
O0
O1
2764
(UV ROM)
O6
O5
O2 O4
GND 14 15 O3
EEPROM : ElectricallyErasableProgrammableROM.
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
5/ 27
EEPROM ElectricallyErasableProgrammableROM.
La méthode d’effacement est instantanée puisqu’elle se fait électriquement
pas besoin de retirer la mémoire de la carte système (Pas de Brûleur et d’Effaceur), mais
Un circuit avec VPP (maintenant 5-7V est valable) dans la carte système est prévu pour cela.
Autre avantage: un byte ou une partie de locations peuvent être effacées contrairement à EPROM.
Inconvénient: Prix/bit de EEPROM est plus élevée que EPROM.
Flash (E)(EP)ROM A partir de 1990. L’effacement du contenu se fait en moins d’une seconde (en flash).
Mémoire Flash Contrairement à EEPROM, le contenu entier est effacé. Récemment des Flash ont vu le jour qui
permettent d’effacer Bloc/Bloc mais pas un octet individuel.
Les mémoires Flash sont de plus en plus plus utilisées pour mettre à jour les BIOS ROM d’un PC.
Certains technologues croient être possible de remplacer des disques durs par des Mémoires Flash
à cause de leurs temps d’effacement et de re-programmation faibles. L’avantage de leur temps
d’accès faible, 100ns (puisqu’elles sont en semi-conducteurs), comparativement aux disques
magnétiques, se fait au détriment de leur « cycles d’effacement/re-programmation » d’environ
10000 (nombre de fois que la puce peut être effacée/re-programmée avant son usure). A noter que
Celui des disques magnétiques est infini.
Mask ROM ROM programmée par le fabricant de CI, et non pas par l’utilisateur Grand volume et certain que
le contenu ne changera pas. Le prix/unité est moins chère par rapport aux autres catégories de ROM.
Tests avec UV-ROM. Ensuite Code/Données dans Mask ROM pour un grand volume.
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
6/ 27
RAM (Random Access Memory) Alimentation éteinte perte du contenu : Mémoire Volatile
Lecture et Écriture
SRAM StaticRAM.
Ses cellules de stockage sont des bascules semi-conducteurs (FFs), donc rapide et pas besoin
de rafraîchissement pour maintenir ses données contrairement aux DRAMs.
SRAMs sont utilisées comme mémoires caches pour les accès rapides du P dans un PC.
DRAM DynamicRAM.
Besoin de mémoires de haute densité (capacité) pour les PCs Intel (1970) DRAMs.
Du temps d’IBM PCs, les cartes mères étaient munis de 16K-DRAMS (bits). Aujourd’hui nos
PCs sont équipés de 128/256M- DRAMs (Attention bits pas octets en parlant de mémoires)
Problématique : Paquetage d’un grand nombre de cellules dans une puce avec le nombre de pins d’adresse
puce mémoire volumineuse.
La méthode conventionnelle pour adresser 1M-DRAM 20 lignes d’adresses et 1 ligne de données, en plus
des signaux de contrôle E/L, CS, VCC, et GND remettre en cause le concept de haute-densité et petit
paquetage des DRAMs.
La solution pour réduire le nombre de pins pour l’adressage des DRAMs est le
Multiplexage/Démultiplexage des lignes d’adresses en 2 moitiés.
La structure interne d’une DRAM est constituée d’une matrice de lignes et de colonnes de cellules
(ou bits). La première moitié des pins d’adresses est appelée ligne et l’autre moitié porte le nom de colonne.
Dans l’exemple de 1M-DRAM, la 1ere moitié des 20 lignes d’adresses est envoyée aux pins A9-A0.
En activant le pin RAS (Row Adress Strobe), les bascules (Latch) internes prennent en compte ces
lignes. Ensuite l’autre moitié des lignes d’adresses est envoyée aux pins A9-A0, et en activant
le pin CAS (Column Adress Strobe), les bascules internes, de la même façon, prennent en compte ces lignes.
Soit une économie de pins de [20–(10+1+1)] 8 pins.
Cette économie nécessite un circuit multiplexeur 2x1 en dehors de DRAM et un circuit de Demultiplexeur à
l’intérieur de chaque DRAM. Aujourd’hui ces complexités (RAS, CAS, Multi/Demul, Rafraîchissement) sont
incluses dans un circuit contrôleur de DRAM conçu pour faciliter l’interfaçage des DRAMs.
Note: Des Ps nécessitant des RAM < 64K-octets utilisent SRAM au lieu de DRAM
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
9/ 27
Avec l’organisation 1Mx1: 10 pins d’adresses (A0-A9) + 1 pin de données + CAS + RAS + VCC,
GND, R/W
Avec l’organisation 256Kx4 : 9 pins d’adresses (A0-A8) + 4 pin de données (D0-D3) + CAS + RAS +
VCC, GND, R/W
Note: 256Kx4 SRAM 18 pins d’adresses (A0-A17) + 4 pin de données (D0-D3), VCC, GND, R/W
Densité DRAM => puces de très-haute densité pour l’économie d’espace des circuits imprimés,
cartes mères de PCs. La configuration des mémoires (DRAM) dans un PC diffère d’un PC à l’autre suivant
l’époque et le fabriquant.
NV-RAM NonVolatileRAM.
SRAMs et DRAMs sont des RAM volatiles. NV-RAMs ne le sont pas (comme ROM) et la
CPU peut y écrire et lire (comme S/D RAM).
NV-RAMs consomment moins de puissance puisqu’elles utilisent les mêmes CMOS-cellules des SRAMs.
NV-RAMs utilisent un circuit de contrôle intelligent qui permet de connecter VCC aux batteries en cas
Ou l’alimentation extérieure cesse pour la remplacer par celle des batteries internes.
Prix/Cellule des NV-RAMs est extrêmement plus cher comparé aux autres RAMs.
A noter que le maintien de l’énergie peut durer 10 ans après l’extinction de l’alimentation extérieure.
La CPU fournit l’adresse de la donnée désirée, un circuit de décodage approprié permet de la décoder pour
localiser la donnée dans la mémoire.
La puce mémoire possède un pin « CS ou CE » qui est activé pour pouvoir accéder au contenu de la mémoire.
En connectant la CPU à la mémoire, les bus de données sont connectés aux pins de données de la mémoire, et
MEMR/MEMW aux pins RD/WR de la mémoire. Les lignes d’adresses les moins significatives sont connectées
aux pins d’adresse de la mémoire, et celles les plus significatives sont utilisées pour activer CS.
D0
.
Circuit de D7
Décodage D7 … D0
Simple
A0 A0
Pour sélectionner la puce mémoire, . .
. .
A21-A16 sont choisies par le . .
D0
.
.
D7
D7 … D0
La bande d’adresses qui
sélectionne la mémoire de
A0 A0
la figure est donc:
.
.
.
.
.
.
16Kx8
A19-A0 = A13 A13
ROM
E8000h – EBFFFh P A14
A15
A
B
Y0
Y1
C DECODEUR Y2 CS
A16
3-8 Y3
A17 G2A
Y4
A18 G2B 74LS138 Y5 OE Vpp
Y6
A19 G1 Y7 Vcc
MEMR
Pour sélectionner le DECODEUR A17-A18-A19 = 100. Les 3 lignes A14-A15-A16 sélectionnent une puce mémoire
parmi 8 mémoires. Celle de la figure est sélectionnée à la sortie Y2 du décodeur, soit quand A14-A15-A16 = 010.
Son avantage est sa versatilité. On peut le programmer pour plusieurs combinaisons de bandes d’adresse.
Le décodeur 74138 possède une seule combinaison, préalablement figée par le fabricant. L’utilisateur
doit élaborer les connections entre la mémoire et la CPU suivant cette combinaison.
Autre avantage est que 16L8 possède 10 entrées (au lieu de 6 pour le décodeur 74138). Ceci nous permet de
connecter plus de lignes d’adresses à son entrée.
SA0 A0 D7 … D0
. .
. .
. .
SA12 A12
BIOS
SA13 A Y0
SA14 B
DECODEUR Y1 . CS
SA16 SA15 C Y2
SA17 ROM ADR_SEL 3-8 Y3 .
G2B
SA18 SMEMR
Y4 . 8Kx8 ROM
SA19 G2B 74LS138 Y5
Y6
RESET G1 Y7 X6
RAM dans IBM PC est de type DRAM, elle est utilisée par MS-DOS et les programmes d’applications: WORD,
EXCEL, … et autres chargées par l’utilisateur. L’arrangement des mémoires est souvent appelée Banques Mémoires.
Par exemple une mémoire 64K-octets dans la carte mère est 1 banque de 8 puces (C.I), d’organisation 64Kx1,
ou 4 banques de 32 puces, d’organisation 16Kx1.
D7 D6 D5 D4 D3 D2 D1 D0 Parité
Banque : 64K x (8+1) 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1
Banque 3: 16K x (8+1) 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1
Banque 2: 16K x (8+1) 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1
Banque 1: 16K x (8+1) 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1
Banque 0: 16K x (8+1) 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1 16Kx1
Banque 9: 64K x 9 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1
.
.
.
Banque 0: 64K x 9 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1 64Kx1
Configuration II
D7…D4 D3…D0 Parité
Banque 3: 64K x 9 64K x 4 64K x 4 64Kx1
A19 … A16 Banque Adresses
numéro (Hex)
Banque 2: 64K x 9 64K x 4 64K x 4 64Kx1
0000 0 00000 : 0FFFF
+ Adresse Décode+
Accès Mem/IO).
TCLAV
Sinon Ajout de Cycles
d’Attente
A8/A19
TDVCL (Setup) TCLAV = Time CLK
Low Address Valid
H. I. H. I.
AD0/AD7 Adresse Donnée
TCLDV TAVDV = Time Add.
Valid Data Valid
TAVDV
TDVCL = Time Data
ALE Valid CLK Low
TCLML
TRLDV TCLDV = Time CLK
IOR/MEMR Low Data Valid
du P8088
TCLML = Time CLK
Low M/IO Read Low
T/R
TRLDV = Time Read
DEN Low Data Valid
DEN
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
20/ 27
Cycles de L/E d’un système à base de P8088
(IBM PC/XT)
T1 (Cycle Horloge) T2 T3 T4
TCLML
Notes:
TDVWH (Tsetup)
IOW/MEMW
du P8088 1. Les données seront
prises au front
T/R montant de MEMW.
T1 (Cycle Horloge) T2 T3 T4
READY
Th
Ts
READY
8284 P
DMA RDY
Rappel Tout comme P8086/286, le P8088 possède un bus interne de 16-bits mais son bus de données externe est de
Rappel:
8 bits. Les P8086/286/386SX ont des bus externes de 16-bits. Mais l’architecture interne du P80386SX est de 32-bits.
L’avantage d’un bus externe plus large (des P8086/286/386SX) par rapport a celui du P8088 est la bande passante plus
Large mais au détriment du coût à cause des circuits imprimés plus volumineux.
C’est pourquoi les PCs équipés d’un P80386SX (32-16bits) sont moins chers que ceux équipés de P80386 (32-32bits).
La conception d’un bus externe 16-bits des PCs équipés de P8086/286/386SX était très répandue durant plusieurs années.
BHE A0 Adresses (Hex)
Banques Impaire et Paire
0 0 D0-D15 (Mot Pair)
0 1 D8-D15 (Octet Impair)
A1
A0 ……..… A15
D7 …….. D0
D7 …..… D0
74LS245
ROM De la CPU
64Kx8
(Paire)
A16
A0 DIR CS
Du Décodeur
D15…..….. D8
A0 ……..… A15
D7 …….. D0
MEMR
ROM
74LS245
64Kx8
(Imp.)
BHE DIR
CS
Les changements ramenés par le P80286 ont considérablement améliorés les performances du P8086 car:
- Multiplexage des bus de Donnée/Adresse n’existe plus.
- Le cycle bus est réduit de 4 à 2 (devenu standard pour les autres P80x86)
doubler la vitesse de recherche d’instructions de la mémoire.
Ts (Cycle Horloge) Tc Ts Tc
Cycle ‘R’ Mémoire
PCLK
MEMR
DEN
T/R
READY
X X
D0/D15 Donnée Valide
MEMW
DEN
READY
T/R
‘1’
Diagramme Temporel d’un cycle Écriture Mémoire d’un P80286
Ts (Cycle Horloge) Tc TW Ts
Cycle ‘W’ Mémoire
PCLK
X Donnée Valide X
D0/D15
TW
MEMW
DEN
READY
Bus Bandwidth: Mesure la rapidité des bus à transférer lis informations (opcodes, opérandes) entre la CPU et M/IO
La vitesse de la CPU doit correspondre à la plus haute Bande Passante du bus même si elle est de loin plus rapide.