Vous êtes sur la page 1sur 27

1/ 27

Chapitre 7 :
Mémoires et Interface Mémoire

Section 7.1: Les principes fondamentaux

Section 7.2: La carte mémoire d’un PC IBM

Section 7.3: Interface mémoire d’un 8088-IBM PC/XT

Section 7.4: Cycles de L/E d’un système à base de


P8088 (IBM PC/XT)

Section 7.5: Cycles de L/E et Interface mémoire d’un


système à base de P80286/386SX

Section 7.6: Largeur de Bande du Bus Mémoire des PC à


base de P80x86
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
2/ 27

Objectives
Les objectifs de ce chapitre sont:

- Décrire et comprendre les termes « Capacité, Organisation, et


Vitesse » associés aux mémoires semi-conducteurs.
- Comparer les différents types de mémoires ROM: PROM,
EPROM, EEPROM, Flash EPROM, et ROM Masquée.
- Comparer les différents types de mémoires RAM: SRAM, DRAM,
et NV-RAM.
- Connaître les différentes méthodes de décodage d’adresse des
puces mémoires.
- Décrire la carte mémoire d’un IBM PC en termes d’allocation
RAM, VDR, et ROM.
- Expliquer comment vérifier l’intégrité des données mémoire avec
les méthodes ‘Checksum’ et bit-parité.
- Décrire le diagramme de la configuration mémoire dans les
mémoires conventionnelles.
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
3/ 27

Section 7.1: Les principes fondamentaux

- 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)

Caractéristiques de base de la mémoire


- La Capacité Mémoire: est le nombre de bits qu’une mémoire semi-conducteur peut stocker
(K/M/G-bits). A ne pas confondre avec la capacité de stockage des ordinateurs.
-Mémoire comme C.I.  X-bits (Fabricant Semi-Conducteur : 8M  8M-bits)

-Mémoire d’un Ordinateur  X-octets (Vendeur de PC : 8G  8G-octets)


- L’Organisation Mémoire: est la façon d’organiser les locations mémoires. Chaque location peut
contenir y-bits (y =1, 4, 8, …). Ce nombre dépend du nombre de pins (lignes) de données connectés
à la puce mémoire. Alors que le nombre de locations (en général 2x) dépend du nombre de pins
d’adresse (x)  La puce mémoire contient au total y . 2x bits.

- 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’.

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


4/ 27

Les principes fondamentaux

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

Les principes fondamentaux

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

Les principes fondamentaux

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.

Chaque cellule FF (correspondant à 1 bit) contient au moins 6 transistors  volumineuse


donc sa capacité de stockage est moindre comparée à sa concurrente DRAM.
A0 1 18 VCC
A1 2 A6
A2 A7
A3
A4
2147H A8
A9
Récemment des SRAM à 4 transistors, en plus de la technologie CMOS adoptée  SRAM
de haute-capacité mais toujours moins que DRAM.
(Intel 4096x1 SRAM)
A5 A10
DO A11
WE DI
GND 9 10 CS
Le prix de SRAM/cellule est plus chère par rapport aux DRAM.

SRAMs sont utilisées comme mémoires caches pour les accès rapides du P dans un PC.

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


7/ 27

Les principes fondamentaux

DRAM  DynamicRAM.

Besoin de mémoires de haute densité (capacité) pour les PCs  Intel (1970)  DRAMs.

Utilisation de condensateurs comme moyen de stockage de l’information (cellules ou bits)

Avantage: Taille d’une cellule réduit (1 condensateur au lieu de 4/6 transistors) 


haute densité, prix/bit moindre, consommation puissance/bit moindre par rapport aux SRAMs.
A8 1 16 GND
DI 2 CAS Inconvénient: A cause des fuites (décharge des condensateurs)  circuit de rafraîchissement
WE DO Rafraîchissement périodiques  pendant ces périodes, les données ne peuvent être accéder
RAS (256Kx1 DRAM) A6  temps d’accès plus grands comparés à ceux de SRAMs.
A0 A3
A2 A4
A5
Évolution: 1K-bits (1970), 4K-bits (1973), 16K-bits (1976), 64-256K/1-4M-bits (années 1980s)
A1
WE 8 9 A7 116-64-256M-bits (1990s), 1G-bits (2000s), 1T-bits (future)

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)

Rappel: - En parlant de carte mère d’IBM PC de 256K  256K-octets de DRAM


- Une mémoire DRAM à une capacité de 256K  256K-bits

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


8/ 27

Les principes fondamentaux


Adressage de DRAMs

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

Les principes fondamentaux


Organisation de DRAMs

EPROM  x8 (8-bits) de données.


SRAM  x4 ou bien x8 de données.
DRAM  ont des organisations x1, x4, ou x16.

1M-DRAM  1Mx1, ou 256Kx4.

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.

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


10/ 27

Les principes fondamentaux

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 des batteries internes (Lithium) comme source d’énergie.

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.

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


11/ 27

Les principes fondamentaux


Exemples de RAMs

RAM Nom Vitesse (ns) Capacité Organisation Nombre de Pins


SRAM 6116-1 100 16K 2Kx8 24

6116LP-70 70 16K 2Kx8 24

6264-70 100 64K 8Kx8 28

62256LP-10 100 256K 32Kx8 28

DRAM 4116-20 200 16K 16Kx1 16


4116-12 120 16K 16Kx1 16
4416-15 150 64K 16Kx4 18
41256-6 60 256K 256Kx1 16
414256-10 100 1M 256Kx4 20
511000P-8 80 1M 1Mx1 18
514100-7 70 4M 4Mx1 20
NV-RAM DS1220 100 16K 2Kx8 24
DS1225 150 64K 8Kx8 28
DS1230 70 256K 32Kx8 28

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


12/ 27

Les principes fondamentaux


METHODES DE DECODAGE D’ADRESSES

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 . .

Concepteur comme « 000011 ». A15 A15 64Kx8


On dit que la mémoire est décodée P A16 SRAM
par A21-A16 = 000011. .
.
.
CS
La puce mémoire est sélectionnée A21
RD WR
A21-A0 se trouvent dans la bande MEMR
d’adresse: 030000h – 03FFFFh MEMW

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


13/ 27

Les principes fondamentaux

CIRCUIT DE DECODAGE AVEC LE DECODEUR 3-8 ‘74xx138’ Le plus utilisé

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.

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


14/ 27

Les principes fondamentaux

CIRCUIT DE DECODAGE AVEC LE PAL ’16L8’

Son inconvénient contrairement au décodeur 74138, il nécessite un Brûleur (Programmeur) et un logiciel


approprié (PALASM) pour le programmer.

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.

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


15/ 27

Section 7.2: La carte mémoire d’un PC IBM


UnP80x86 en réel mode travaille avec 20 lignes d’adresse, soit il peut cibler une mémoire de 1Mo.

Les premières Cartes Mère étaient équipées de 64K-256K de RAM.


Le reste était laissé à l’utilisateur pour l’expansion (Carte Mémoire
Plug-in). Celles qui ont suivi ont la capacité totale de 640K. FFFFFh
FE000h BIOS
ROM
Des 640K de RAM, des portions sont réservés au vecteur d’interruption,
256K
espace temporaire BIOS, DOS, stockage temporaire des paramètres
BASIC. Les montants réservés pour chaque dépend de la version DOS. C0000h
BFFFFh
VDR
La CPU sauvegarde sur la VDR des informations à afficher sur l’écran 128K
A0000h
d’un PC, et un contrôleur vidéo s’en charge pour les afficher. 9FFFFh
RAM
Juste un portion des 128K de VDR est utilisée pour des informations 640K
vidéo, le reste est pour le DOS. Le montant de cette portion dépend du (Mémoire
type de la carte d’adaptation vidéo installée, le mode du système vidéo: Conventionnelle
graphique ou texte, et de la résolution. - Programmes
d’applications)
00000h
Des 256K de ROM, des montants sont réservés, entre autres au BIOS
ROM, compilateur BASIC, contrôleur du disque dur. Carte Mémoire d’IBM PC

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


16/ 27
Section 7.3:Interface mémoire d’un
8088-IBM PC/XT
SD0
.
.
SD7

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

En allumant le PC, RESET est activé  CS:IP (=


Bande d’Adresse Y Allocation ROM FFFF0h)  lecture de BIOS (pour tester la CPU, RAM,
ROM, initialiser les périphériques, etc. C’est pour ça que la BIOS
FE000 : FFFFF Y7 BIOS ROM
est située en haut de la mémoire PC).
FC000 : FDFFF Y6 Compiler BASIC
FA000 : FBFFF Y5 Compiler BASIC
Intégrité des données dans la ROM: Checksum
1. Additionner les octets de la ROM sans CF
F8000 : F9FFF Y4 Compiler BASIC
2. Le Cà2 du résultat. L’octet trouvée est le dernier de
F6000 : F7FFF Y3 Compiler BASIC
la série. Pour vérifier, on fait la somme des octets,
F4000 : F5FFF Y2 (Y1, Y0) ROM Vide pour l’utilisateur avec le Checksum. Le résultat devrait être ’00h’,
sinon corruption de quelques données .
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
17/ 27

Interface mémoire d’un 8088-IBM PC/XT

INTERFACAGE DRAM - IBM PC

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

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


18/ 27

Interface mémoire d’un 8088-IBM PC/XT


CONFIGURATIONS POSSIBLES DES DRAM DANS IBM PC Mémoire 1Mo  640Ko (D)RAM
( 00000  9FFFF)
Configuration I

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

0001 1 10000 : 1FFFF


Banque 1: 256K x 9 256K x 4 256K x 4 256Kx1

1001 9 90000 : 9FFFF
Banque 0: 256K x 9 256K x 4 256K x 4 256Kx1
Note: A15 … A0  0000:FFFF
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
19/ 27
Section 7.4: Cycles de L/E d’un système à base de
P8088 (IBM PC/XT)
En fonctionnement normal (État d’Attente = 0), P8088/86 fournit 4 cycles d’horloge (T1,2,3,4) pour une L/E Mem. ou E/S.
T1 (Cycle Horloge) T2 T3 T4
En Générale:
T1,2,3,4 > T(Data/Adr.
Clk T1+T2+T3+T4 (Cycle d’accès M/IO: Lec./Ect.) DeMux + Bus Buffer
Diagramme Temporel d’un cycle Lecture IO/M

+ 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 = Time CLK


Clk T1+T2+T3+T4 (Cycle d’accès M/IO: Lec./Ect.) Low M/IO Low

TCLDV = Time CLK


Low Data Valid

A8/A19 TDVWH = Time Data


TCLDV TCHDX (Dat_Thold) Valid M/IO WR High (Tsu)

AD0/AD7 Adresse Donnée Valide X TCHDX = Time CLK


High Data X (Data Thd)

TWHDX = Time M/IO


TWHDX (Thold) Write High Data Xed (Thd)
(Pour être sûr que lO/M
ALE A pris la donnée)

TCLML
Notes:
TDVWH (Tsetup)
IOW/MEMW
du P8088 1. Les données seront
prises au front
T/R montant de MEMW.

2. Touts les spécifications


DEN temporelles sont données
par le constructeur.
Diagramme Temporel d’un cycle Écriture IO/M
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
21/ 27
Cycles de L/E d’un système à base de P8088
(IBM PC/XT)

1 Cycle d’horloge additionnel (Tw) si Ready est bas après T3


Génération de Cycles d’Attente
Si après Tw, Ready toujours bas  1 autre cycle d’attente, etc.

T1 (Cycle Horloge) T2 T3 T4

Clk T1+T2+T3+T4 (Cycle d’accès M/IO: Lec./Ect.)

READY

Th
Ts

READY
8284 P
DMA RDY

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


22/ 27
Section 7.5: Cycles de L/E et Interface mémoire
d’un système à base de P80286/386SX
La conception des mémoires et les considérations temporelles vues avec le P8088, s’appliquent également avec les
P80286/386SX à ceci près que le bus de données est de 16-bis et qu’un cycle mémoire prend 2 cycles d’horloge.

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)

D15 … D8 D7 … D0 1 0 D0-D7 (Octet Pair)


00001 00000 1 1 /
00003 00002
00005 Banque 00004
Banque Parité D15 … D12 D11 … D8 Parité D7 … D4 D3 … D0
Impaire Paire
B83A9 (BHE = 0) B83A8 256Kx1 256Kx4 256Kx4 256Kx1 256Kx4 256Kx4
(A0 = 0)
FFFFF FFFFE 64Kx1 64Kx4 64Kx4 64Kx1 64Kx4 64Kx4
Mémoire 1M (Réel M) d’un PC/AT (P80286) RAM (640K) de la mémoire PC/AT (P80286)

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


23/ 27
Cycles de L/E et Interface mémoire d’un système à
base de P80286/386SX

Autres Banques Impaires


Autres Banques Paires

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

Connection de la ROM (à partir des 64Kx8) dans un IBM PC/AT


R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
24/ 27
Cycles de L/E et Interface mémoire d’un système à
base de P80286/386SX
Cycle Bus avec lesP8088/86 Comment accéder les mots Pair et Impair avec les P8088/86?

D15 …….. D8 D7 …….. D0


D7 …….. D0
Avec DS = B000
B83A7 B83A6 MOV AX, [B83A6]
(Mot Pair  4 cycles Horloge
Soit 1 cycle mémoire)
Car 1 octet  D7-D0 MOV AL, [B83A7]
L’autre octet  D8-D15 B83A7
(Octet Impair  4 cycles)
B83A8 MOV AL, [B83A8]
(Octet Pair  4 cycles H)

Accès d’un mot Pair


avec le P8086 BF3A4 MOV AX, [BF3A4]
BF3A5 (Mot Pair  8 cycles
D15 …….. D8 D7 …….. D0 Soit 2 cycles mémoires)

BFFF1 MOV AX, [BFFF1]


MOV AX, [B83A7] BFFF2 (Mot Impair  8 cycles
B83A7 Soit 2 cycles mémoires)
B83A8 (Mot Impair  8 cycles Horloge
Soit 2 cycle mémoire)

1er cycle Mem.  4 clocks : [B83A7]  AL


2eme cycle Mem.  4 clocks : [B83A8]  AH
Accès des mots Pair et Impair
avec le P8088

ORG DS:0020 = (34H)


Accès d’un mot Impair Note: Jamais assigner des mots DAT1 DB 34H DS:0021 = (?)
DS:0022 = (5BH)
avec le P8086 à des adresses impaires DAT2
EVEN
DW 7F5BH DS:0023 = (7FH)
25/ 27
Cycles de L/E et Interface mémoire d’un système à
base de P80286/386SX
Cycle Bus avec lesP80286/386SX

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

A0/A23 Adresse Valide Si READY = ‘1’


État d’Attente Tw
X X Entre Tc et Ts
D0/D15 Donnée Valide

MEMR
DEN
T/R

READY

Diagramme Temporel d’un cycle Lecture Mémoire d’un P80286


R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
26/ 27
Cycles de L/E et Interface mémoire d’un système à
base de P80286/386SX
Ts (Cycle Horloge) Tc Ts Tc
Cycle ‘W’ Mémoire
PCLK

A0/A23 Adresse Valide

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

A0/A23 Adresse Valide

X Donnée Valide X
D0/D15
TW
MEMW
DEN
READY

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs


27/ 27
Section 7.6: Largeur de Bande du Bus Mémoire des
PC a base de P80x86
Comment mesurer la performance d’un PC? Bande Passante de son bus ‘Bus Bandwidth’

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.

La puissance de la CPU est malheureusement sous-utilisée à cause de la limitation du Bus Bandwidth.

Bus Bandwidth (MBPS) = (1/temps du cycle M/IO) x Largeur du bus en Octets


Exemples:
Le temps de cycle du P8088, sans états d’attente, est 4 cycles d’horloge. Si sa fréquence de travail est de
5MHz.
Ceci donne un temps cycle mémoire de 800ns. Puisque le bus de données du P8088 est 8-bits 
La Bande Passante du bus mémoire est : (1/800ns) x 1 Octet = 1.25 MBPS.
Le bus de données du P8086 est 16-bits  Sa Bande Passante est : (1/800ns) x 2 Octet = 2.5 MBPS.
Avec 1 état d’attente, dans les deux cas la Bande Passante du bus mémoire est:
- pour le P8088 : (1/1000ns) x 1 Octet = 1 MBPS.
- pour le P8086 : (1/1000ns) x 2 Octet = 2 MBPS.

WS P8086 – 10MHz P8086 – 10MHz WS P80286 – 20MHz P80286 – 20MHz


Temps Cycle (4 Cycles H) Bandwidth = (1/Tc) x 2 Temps Cycle (2 Cycles H) Bandwidth = (1/Tc) x 2

0 400 ns 5 MBPS 0 100 ns 20 MBPS


1 500 ns 4 MBPS 1 200 ns 10 MBPS
2 600 ns 3.33 MBPS 2 300 ns 6.66 MBPS

R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs

Vous aimerez peut-être aussi