Vous êtes sur la page 1sur 16

1/16

Chapitre 5 :
Les P8088/8086 et les circuits associés

Section 5.1: Le P8088/8086

Section 5.2: Générateur d’horloge 8284

Section 5.3: Contrôleur de Bus 8288

Section 5.4: Les Bus d’IBM PC/XT


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

Objectives
Les objectifs de ce chapitre sont:
- Décrire la fonction de chaque PIN du P8088.
- Expliquer les fonctions des Bus: de données, d’adresse, et de
contrôle.
- Décrire la différence entre le minimum mode et le maximum mode
dans les P8086/8088.
- Décrire le circuit générateur d’horloge 8284 et expliquer comment
il est connecté au IBM PC/XT pour synchroniser les différents
circuits associés avec le P8086/8088.
- Décrire le circuit contrôleur de bus 8288 et expliquer comment il
est connecté au IBM PC/XT pour fournir les signaux de contrôle.
- Expliquer comment le P8086/8088 et les circuits 8284A et 8288
sont connectés dans le IBM PC/XT.
- Expliquer comment est réalisé le bus d’arbitrage entre les
P8086/88 et le contrôleur DMA dans le IBM PC/XT.

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


3/16

Section 5.1 Le P8088/8086

Le P8088/8086 en mode minimum  IBM PC/XT et compatibles


Max. Mode Min. Mode

GND 1 40 VCC GND 1 40 VCC


AD14 2 39 AD15 A14 2 39 A15
AD13 A16/S3 A13 A16/S3
Économie de PINS

AD12 A17/S4 A12 A17/S4


AD11 A18/S5 A11 A18/S5
AD10 A19/S6 A10 A19/S6
AD9 BHE/S7 A9 SS0
AD8
AD7 CPU MN/MX
RD
A8
AD7 CPU MN/MX
RD

8-BITS Externe
AD6 RQ/GT0 HOLD AD6 RQ/GT0 HOLD
AD5 8086 RQ/GT1 HLDA AD5 8088 RQ/GT1 HLDA
AD4 LOCK WR AD4 LOCK WR
AD3
(16-BITS Int.) (16-BITS Int.)
S2 IO/M AD3 S2 IO/M
AD2 S1 DT/R AD2 S1 DT/R
AD1 S0 DEN AD1 S0 DEN
AD0 QS0 ALE AD0 QS0 ALE
NMI QS1 INTA NMI QS1 INTA
INTR TEST INTR TEST
CLK 19 22 READY CLK 19 22 READY
GND 20 21 RESET GND 20 21 RESET

Demux.

Format de Paquetage: 40-PIN DIP (Dual In-line Package)


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

Le P8088/8086

A15

VCC 40 1 GND
A15 39 2 A14 A14
A16/S3 A13
A17/S4 A12
A18/S5 A11
A19/S6 A10
SS0 A9 Bus d’addresses
A8 (16 bits)
MN/MX
RD CPU A8
AD7 D Q A7
HOLD AD6
HLDA 8088 AD5
74LS373
WR (16-BITS Int.) AD4
IO/M AD3 (16 bits pour 8086)
DT/R AD2
DEN AD1 Pour la stabilité et A0
ALE AD0 Capacité ‘high-drive’
INTA NMI
TEST INTR
READY 22 19 CLK D7
RESET 21 20 GND

Bus de données
(8 bits)

D0

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


5/16

Le P8088/8086
GND 1 40 VCC
AD14 2 39 AD15
AD13 A16/S3
AD12 A17/S4
AD11 A18/S5
AD10 A19/S6
AD9 BHE/S7 Bus High Enable : distinguer entre
AD8
AD7 CPU MN/MX
RD
octet haut et octet bas
AD6 HOLD ((RQ/GT0)
AD5 8086 HLDA (RQ/GT1)
AD4 (16-BITS Int.) WR (LOCK)
NonMaskable Interrupt : P saute, à la fin AD3 IO/M (S2)
AD2 DT/R (S1)
de l’instruction en cours, à la table des
AD1 DEN (S0)
vecteurs d’interruption. L’interruption est AD0 ALE (QS0)
nonmaskable par le software (edge-triggered). NMI INTA (QS1)
INTR TEST
INTerrupt Request: si activé (level-triggered)
par le contrôleur d’interruption (8259), le P
CLK 19 22 READY
GND 20 21 RESET
exécute l’instruction en cours, et répond par INTA.
CPU Contenu
CLK: synchroniser les événements et piloter le P.
(Intel  Générateur d’Horloge précis 8284). CS FFFFh
DS 0000h
RESET: Provenant de 8284 pour terminer les
activités du P. SS 0000h
ES 0000h
READY: Insère des états WAIT pour les accès lents TEST: Provenant du co-P 8087 pour
synchroniser les 8087et 8088/86 (IBM PC). IP 0000h
(Mémoire et périph. E/S lents).
Si s’est ‘0’ le programme continue. FR Clear

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


6/16

Le P8088/8086
Signaux de contrôle (du P8088/86 vers 8288)
RQ/GT0 RQ/GT1 Permettre à autre
(le contrôleur du bus 8288 produit les signaux de control INTA, IORC, …)
(Plus processeur de prendre
Haute le contrôle du bus local
S2 S1 S0 Signal Signification
GND 1 40 VCC Priorité)
AD14 2 39 AD15
0 0 0 INTA Interrupt
AD13 Acknowledge A16/S3 (avec IBM PC, RQ/GT0 au 8087 pour lui
AD12 A17/S4 permettre d’accéder les bus du P)
AD11 du port d’E/S
Lecture A18/S5
0 0 1 IORC AD10 A19/S6
AD9 BHE/S7
MN/MX : En mode Min, ces pins
0 1 0 IOWC
AD8 du port d’E/S
Écriture
AD7 CPU MN/MX
RD sont des signaux de contrôle,
AD6 HOLD ((RQ/GT0) générés intérieurement, pour la mémoire
0 1 1 / Arrêt
AD5 8086 HLDA (RQ/GT1) et les périph. E/S. Dans ce mode, ces
AD4 (16-BITS Int.) WR (LOCK)
Accès
pins fonctionnent de la même manière que
1 0 0 CA AD3 Code IO/M (S2)
AD2
ceux du P8085 (8-bits)  périph.
DT/R (S1)
AD1 mémoire DEN (S0)
En mode Max  Avec Co-P8087. Certains
1 0 1 MRDC Lecture
AD0 ALE (QS0) signaux sont générés par le contrôleur
NMI INTA (QS1) de bus 8288.
1 1 0 MWTC Écriture mémoire
INTR TEST
CLK 19 22 READY QS0 QS1 Caractéristique
1 1 1 / Passive
GND 20 21 RESET
0 0 Pas d’opération
0 1 1er octet de l’opcode de la chaîne

LOCK Prévenir un autre processeur de prendre le bus 1 0 Vider la chaîne du buffer


système. Activé par l’instruction préfixe LOCK 1 1 L’octet suivant de la chaîne
(avec IBM PC, LOCK est utilisé pour empêcher le contrôleur DMA L’état de la chaîne (du P)
de prendre le contrôle du bus système intentionnellement) (avec IBM PC, sont connectés au 8087
pour synchroniser avec 8088/86)
R. Beguenane, UQAC, 2002/2003 Systèmes à microprocesseurs
7/16

Le P8088/8086
PINS 2431-34 en Mode Min.
PIN Nom Fonction
24 INTA (Interrupt Pin de Sortie: Informe le contrôleur d’interruption 8259 qu’une
Acknowledge) demande d’interruption INTR ait lieu et que le P en a pris
connaissance.

25 ALE (Address Latch Pin de Sortie: Indique qu’une adresse valide est valable sur le
Enable) bus adresse externe.
1 40
Pin de Sortie: Active le circuit ‘Transceiver’ 74LS245. Ceci
2 39
26 DEN (Data Enable)
permet d’isoler la CPU du bus système.

27 DT/R (Data Tx/Rx) Pin de Sortie: Contrôle la direction du flux de données a travers 5V
le circuit ‘Transceiver’ 74LS245. 34 BHE/SS0

27 IO/M (8088) ou IO/M


(8086) (Mémoire ou E/S)
Pin de Sortie: Indique si le bus d’adresse accède une mémoire
ou un périphérique d’E/S. Noter le sens d’activation pour les CPU MN/MX
RD
P8086 et P8088 (qui est compatible avec P8085).

28 WR (Écriture) Pin de Sortie: Indique que la donnée sur le bus de données est
8086/88 31 HOLD
HLDA
a écrire dans la mémoire ou périph. E/S. Ce pin est utilise avec (16-BITS Int.) . WR
le pin 27 pour les opérations d’écriture. A noter que le Pin 32 . IO/M
RD (Lecture) est le même pour les 2 modes: Min et Max. . DT/R
. DEN
29 HLDA (Hold Pin de Sortie: Après l’entrée HOLD, la CPU doit signaler, par le ALE
Acknowledge) biais de HLDA, que le contrôleur DMA peut utiliser les bus. 24 INTA

30 HOLD (Hold) Pin d’Entrée: du contrôleur DMA qui indique qu’il (DMA) 19 22
demande l’accès a la mémoire et l’espace E/S. La CPU doit 20 21
lâcher le control du bus local.

34 SSO(Satatus Line) Pin de Sortie: il est utilisé, uniquement pour le P8088, avec
IO/M et DT/R pour décoder l’état du cycle bus courant. Pour le
et BHE le P8086, le pin BHE prend sa place.

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


8/16

Le P8088/8086

GENERATION DES SIGNAUX DE CONTRÔLE ( pour P8088 en Mode Min )

RD W IO/M Caractéristique RD
MEMR
0 1 0 MEMR
1 0 0 MEMW P8088
MEMW
en
0 1 1 IOR Mode Min W
1 0 1 IOW IOR
0 0 x / (état non MN/MX
existant) IOW
IO/M

MN/MX
P8088
en
Mode Min
A19
RD
AD19 … … MEMR
AD8 EN A8
ALE
W MEMW
AD7 A7
… EN
AD0 …
A0 IOR
D7
EN

D0
DEN IO/M IOW
RD
W
IO/M 74LS32
74LS04

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


9/ 16

Section 5.2 Générateur d’horloge 8284


LES PINS D’ENTREE
PINS DU CIRCUIT 8284A
Nom du PIN Fonction
RES (Reset In) Il sert à générer le signal de sortie RESET. Avec IBM PC, il est connecté à
l’alimentation. Quand celle-ci est activée, un signal bas est envoyé vers
CSYNC 1 18 VCC
RES, et le circuit 8284 active RESET, forçant ainsi le P8086/88 à démarrer
après l’initialisation automatique (à froid) avec reset.
PCLK 2 X1
X1 et X2 (Crystal In) Les pins vers lesquels le Cristal est connecté. La fréquence du cristal est 3
AEN1 X2 fois celle désirée. Sa valeur maximum est 24MHz pour 8284A, et 30MHz pour
8284A-1. IBM PC utilise un cristal de fréquence 14.31818MHx.
RDY1 ASYNC S’il est bas, l’horloge est générée par le circuit 8284, via l’oscillateur du
F/C (Freq./Clock
Cristal. S’il est haut, l’horloge est généré extérieurement à partir du Pin EFI.
READY 8284A EFI Select) Puisque IBM utilise un Cristal, F/C est toujours connecté à ‘0’.

EFI (External Freq. In) Une horloge externe est connectée à ce Pin si F/C est connecté à ‘1’. Avec
RDY2 F/C
IBM PC, celui-ci n’est connecte à nul part.

AEN2 OSC
CSYNC (Clock Pour permettre à plusieurs circuits 8284 d’être connectés ensemble et se
CLK RES synchroniser. IBM PC n’utilise qu’un seul 8284, par conséquent ce pin est
SYNChronisation) connecté à ‘0’.
GND 9 10 RESET

RDY1 et AEN1 Ils permettent d’envoyer le signal READY au P pour insérer l’état WAIT
durant le cycle R/W de la CPU. Avec IBM PC, RDY1 est connecté au
DMAWAIT, et AEN1 est connecté au RDY/WAIT. Ils permettent d’insérer l’état
WAIT par la CPU ou le DMA durant le cycle R ou W.

RDY2 et AEN2 Ces pins fonctionnent de la même façon que RDY1 et AEN1,mais dans le
cas d’un système multiprocesseur. Ils permettent à d’autres CPUs, comme
le P8086/88, de prendre le control des bus. Avec IBM PC, un seul P est
utilisé. Dans le cas de système multiprocesseur, ces pins sont utilisés pour
coordonner les accès par les différentes CPUs vers les bus.
ASYC Permet d’adapter les ‘Timing’ du system avec ceux des portes logiques lentes

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


10/ 16

Générateur d’horloge 8284

LES PINS DE SORTIE

Nom du PIN Fonction


RESET Il sert à fournir le signal RESET au P8086/88. Il est activé par RES.

OSC (Oscillator) C’est une fréquence d’horloge égale à celle de l’oscillateur du cristal (X1,
X2). Elle est compatible TTL. Sachant que celle-ci est de 14.31818MHx pour
IBM PC, OSC en fournit cette fréquence à l’utilisateur.

CLK (Clock) C’est une fréquence d’horloge de sortie = 1/3 celle de l’oscillateur du cristal,
ou celle de EFI, avec un rapport cyclique de 33%. Celle-ci est connectée à
l’entrée horloge du P8086/88, et autres circuits associés synchronisés avec
la CPU. Avec IPM PC, CLK est connecté au Pin 19 du P8088 et autres
circuits associés. Sa fréquence est 4.7727776MHz (14.31818/3MHx).

PCLK (Peripheral C’est une fréquence de sortie = 1/2 celle CLK (= 1/6 celle de l’oscillateur du
cristal), avec un rapport cyclique de 50%. Elle est compatible TTL. Avec IBM
Clock) PC, cette fréquence (2.386383MHz), entre autres, alimente le circuit Timer
8253 pour générer les sonorités des speakers.

READY Pour permettre à plusieurs circuits 8284 d’être connectés ensemble et se


synchroniser. IBM PC n’utilise qu’un seul 8284, par conséquent ce pin est
connecté à ‘0’.

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


11/ 16

Section 5.3 Contrôleur de Bus 8288

PINS DU CIRCUIT 8288 LES PINS D’ENTREE Pins d’Etat S0, S1, et S3
S2 S1 S0 Signaux de Contrôle Signification
du 8288
0 0 0 INTA Interrupt
IOB 1 20 VCC
Acknowledge
CLK 2 S0 0 0 1 IORC Lecture du port
d’E/S
S1 S2
0 1 0 IOWC, AIOWC Écriture du port
DT/R MCE/PDEN d’E/S
ALE 8288 DEN 0 1 1 / Arrêt

AEN
1 0 0 CA Accès Code
CEN
1 0 1 MRDC Lecture mémoire
MRDC INTA
1 1 0 MWTC, AMWC Écriture mémoire
AMWC IORC
1 1 1 / Passive
MWTC 9 12 AIOWC
CLK Pin d’Entrée du circuit 8284 vers le circuit 8288 pour synchroniser les
signaux de contrôle avec la CPU
GND 10 11 IOWC
AEN Active un signal de control du 8288 (ci-dessus) durant au moins 115ns.
Avec IBM PC, il est connecté au signal AEN d’un circuit générateur.

CEN Active les signaux de control du 8288 (ci-dessus) et DEN. Avec IBM PC,
il est connecté au signal AEN d’un circuit générateur.

IOB Il met le 8288 dans le mode Bus E/S, au lieu du mode Bus Système.
Avec IBM PC, il est connecté à ‘0’ (car IBM PC est conçu avec Bus Système)

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


12/ 16

Contrôleur de Bus 8288


LES PINS DE SORTIE
Nom du PIN Fonction
MRDC (Mem. RD Command) Active le circuit ou la mémoire sélectionnée pour lire la donnée dans le bus de données.

MWTC (Mem. WT Command), Signaux de commande pour indiquer à la mémoire de prendre la donnée dans le bus de données.
Ils sont similaire au signal MEMW, à la différence que AMWT est activé plus tôt pour donner plus de
ou AMWC (Advanced Mem. WR) temps aux circuits lents. Avec IBM PC, seul MWTC est utilisé comme MEMW. AMWC n’est pas
utilisé.

IORC (IO RD Command) Active le circuit périphérique sélectionné pour lire la donnée dans le bus de données. Avec IBM PC,
celui-ci est appelé IOR.

IOWC (IO WT Command), ou Signaux de commande pour indiquer au périphérique de prendre la donnée dans le bus de
données. Le signal de commande AIOWT, non utilisé avec IBM PC, est activé plus tôt pour donner
AIOWC (Advanced IO WR) plus de temps aux circuits lents. Avec IBM PC, IOWC est appelé IOW.

INTA (Interrupt Acknowledge Informe le circuit ou le contrôleur d’interruption que son interruption est prise en compte et son
l’adresse du vecteur d’interruption se trouve sur le bus de données. Avec IBM PC, ce Pin est
Command) connecté au pin INTA du contrôleur d’interruption 8259.

DT/R (Data Tx/Rx Command) Pour permettre le contrôle de la direction de la donnée de/vers le P8086/88. Avec IBM PC, ce Pin
est connecté au Pin DIR du circuit ‘Transceiver’ 74LS245. Dans les 2 cas, la donnée est lâchée dans
le bus de données du bus système pour être lu/envoyée par/de la CPU.

DEN (Data Enable) Permet de signaler que la donnée dans le bus de données (local ou Système) est prête. Avec IBM
PC il est utilisé, en association avec un signal du contrôleur d’interruption 8259 pour activer le Pin
G du circuit ‘Transceiver’ 74LS245.

MCE/PDEN (Master cascade Ce signal est utilisé avec le contrôleur d’interruption 8259 dans la configuration Maître. Avec IBM
Enable/ Peripheral Data Enable PC, le contrôleur d’interruption 8259 est utilisé comme Esclave, donc ce Pin est ignoré.

ALE (Adresse Latch Enable) Il est utilisé pour activer les bascules des lignes d’adresse. le P8088 multiplexe les lignes de
données et d’adresses, via AD0 à AD7, pour économiser les Pins. Avec IBM PC, ALE est connecté
au Pin G du circuit 74LS373, pour demultiplixer l’adresse de la donnée.

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


13/ 16

Section 5.4: Les Bus d’IBM PC/XT


- Seuls le P8088 et le contrôleur DMA 8237 peuvent accéder le bus d’IBM PC.
- Un seul maître peut prendre le control du bus d’IBM PC.
- Un circuit, appelé bus d’arbitrage, via AEN, permet au P8088 OU le contrôleur DMA
8237 de prendre le control du bus.
- Le contrôleur DMA 8237 est utilisé pour le transfert d’un large nombre d’octets.

Contr.
‘0’  Bus Contrôlé par CPU
DMA GENERATION ‘1’  Bus Contrôlé par DMA
8237 AEN

MEMR
Control
P8088 Bus
MEMW
IOR
CLK 8288
Horloge IOW
RST ALE
Gen. RDY DeMultiplexage
DEN
8284A T/R Possible
Bus
D Latch
Système
74LS373 20-b Addr
(RAM, ROM, ES,
20-b Addr/Dat (Arbit. + Isola. Cartes: Plug-In, …)
+Boosting)

AEN
Contr.
Inter. 8-b Data DIR
G
8259 Buffer BiDir
8-b Data
8-b Data 74LS245
(Isol. Bus + Boosting)

Note: Capacité de
Pilotage  MOS << TTL
Bus Local
14/ 16

Les Bus d’IBM PC/XT


Pour communiquer entre le P8088 et les Mémoires Externes et Ports E/S dans
la carte mère d’un PC/XT

B1 A1
D7
IRQ2

MEMW D0
MEMR
IOW AEN
IOR A19

CLK
IRQ7

IRQ3
ALE

B31 A31 A0

8088 PC/XT System Expansion Slot


15/ 16

Les Bus d’IBM PC/XT


Exemple: Diagramme de Temps pour IOR/MEMR
T1 T2 T3 T4

Clk

A8/A19

H. I. H. I.
AD0/AD7 Adresse Donnée

ALE

IOR/MEMR
du P8088

T/R

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

Les Bus d’IBM PC/XT


‘Driving Capacity’ d’un signal

Vcc GND
Sig_A Sig_B
74LS245
A0 B0

Diminuer la
Sig_A Sig_B1

Sig_B2 Capacitance

(En plus de l’isolation,


Arbitration, …)

Sig_B1
Sig_A Sig_B2
Sig_B3 A7 B7
Sig_B4

G (‘1’  Isolation)
DIR

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

Vous aimerez peut-être aussi