Documente Academic
Documente Profesional
Documente Cultură
n figurile 1.2 i 1.3 sunt prezentate schemele bloc ale celor dou uniti
centrale. Aa cum am spus ambele ncorporeaz dou blocuri de prelucrare
separate, UE i UIM. UE este identic la ambele procesoare, UIM diferind prin
aceea c la 8086 ea lucreaz pe o magistral de date de 16 bii cu coad de
instruciuni de 6 octei; la 8088 magistrala este de 8 bii iar coada de 4 octei.
1
MAGISTRALA
ADRESE (20 biti)
REGISTRE
GENERALE
AH
BH
CH
DH
AL
BL
CL
DL
UNITATEA DE
INTERFATA CU
MAGISTRALA
(UIM)
AX
BX
CX
DX
MAGISTRALA
DATE (16 biti)
SP
BP
DI
SI
CS
DS
SS
ES
IP
REGISTRE DE
-COMUNICATIIINTERNE
MAGISTRALA
DE DATE UAL
(16 biti)
LOGICA DE
COMANDA A
MAGISTRALEI
MAGISTRALA
8086
REGISTRE TEMPORARE
UNITATE
ARITMETICA-LOGICA
(UAL)
LOGICA DE
COMANDA
UE
COADA DE
INSTRUCTIUNI (Q)
MAGISTRALA Q
(8 biti)
1
INDICATORI DE CONDITII
UIM, aceasta din urm va executa ciclii de extragere n scopul ocuprii ntregii
cozi. La 8088, UIM extrage cod obiect atunci cnd coada are cel puin un octet
liber. Dac UE are nevoie de un acces la magistral i UIM se afl n timpul
unui ciclu de extragere, UE va atepta terminarea acestui ciclu nainte de a fi
luat n considerare cererea.
UNITATEA DE
EXECUTIE (UE)
MAGISTRALA
ADRESE (20 biti)
REGISTRE
GENERALE
AH
BH
CH
DH
AL
BL
CL
DL
UNITATEA DE
INTERFATA CU
MAGISTRALA
(UIM)
AX
BX
CX
DX
MAGISTRALA
DATE (8 biti)
SP
BP
DI
SI
CS
DS
SS
ES
IP
REGISTRE DE
-COMUNICATIIINTERNE
MAGISTRALA
DE DATE UAL
(16 biti)
LOGICA DE
COMANDA A
MAGISTRALEI
MAGISTRALA
8088
REGISTRE TEMPORARE
UNITATE
ARITMETICA-LOGICA
(UAL)
LOGICA DE
COMANDA
UE
COADA DE
INSTRUCTIUNI (Q)
MAGISTRALA Q
(8 biti)
1
INDICATORI DE CONDITII
15
7
0 7
Un registru de 16 biti
AH
AL (sau A)
H,L
BH
BL
B,C
CH
CL
D,E
DH
DL
15
SP
Numerotarea bitilor
Pointer stiva (SP)
Pointer baza (BP)
Index sursa (SI)
Index destinatie (DI)
PC
Registru de segment
Numele
registrelor
8080
echivalente
Starea
Registrele hasurate au echivalent 8080
Registrele de segment sunt folosite deci ca registre de baz care pot puncta orice
locaie de memorie aflat la o adres multiplu de 16. Fiecare registru de
segment identific nceputul unei zone de memorie, al unui segment, de 64
4
koctei. Deoarece 8086 are patru registre de segment n orice moment, din
ntreaga memorie vor fi selectate numai patru segmente de cte 64 koctei. Nu
se impune nici-o restricie asupra coninutului registrelor de segment, ceea
nseamn c aceste registre identific numai originea segmentelor care pot fi
plasate oriunde n spaiul de adresare de 1 Moctet al microprocesorului.
Memoria de 1 Moctet nu este deci mprit n pagini de 64 koctei, ci adresat
pe segmente care pot fi separate sau suprapuse.
15
SP
BP
SI
J,J,J,J
Adresa destinatie
DI
K,K,K,K
0 K K K K
PC
N N N N 0
R R R R K
15
Adresa sursa
CS
DS
0 J J J J
M M M M 0
M,M,M,M
SS
ES
Adresa pe 20 de biti
S S S S J
Adresa pe 20 de biti
N,N,N,N
Registrul
de segment
DS
(CS, SS, ES)1
DS
SS
(CS, DS, ES)1
BP
SS
DS
ES
CS
SP
PC
SI
DI
SI
DI
SI
DI
SI
DI
CS
DS
PC
DX
BX
Date
Stiv
iruri
Extragere
instruciune
Salt
Date I/O
1111 1111
0000 0000
1010
1010
0101
0101
6
1101
1101
1010
1010
sau
Indicatorul Semn, S sau SF, este pus pe "1" dac rezultatul unei operaii
este negativ avnd bitul cel mai semnificativ "1" i pus pe "0" dac rezultatul
este pozitiv.
Indicatorul Direcie, D sau DF, determin dac operaiile pe iruri vor
incrementa sau decrementa registrele index. Dac Direcie este "1" atunci
coninuturile registrelor SI i DI vor fi decrementate, irurile fiind accesate
ncepnd cu adresele cele mai mari. Dac indicatorul este "0" coninutul
registrelor SI i DI va fi incrementat, irurile fiind accesate ncepnd cu adresele
cele mai mici.
Indicatorul Validare/Invalidare ntrerupere, I sau IF, trebuie s fie "1"
pentru a valida ntreruperile i "0" pentru a le invalida (cu excepia NMI).
Indicatorul Derut, T sau TF, face ca microprocesorul 8086 s intre n
modul de lucru "pas-cu-pas" i este strns legat de sistemul de ntreruperi (vezi
1.4.5.1 i 2.3.6).
Indicatorul Depire, O sau OF este, de asemenea, legat de sistemul de
ntreruperi i de execuia instruciunii INTO.
Indicatorul Transport Auxiliar, A sau AF indic, dup o operaie, un
transport din bitul 3 n 4.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
SP
- - - - O D I T S Z - A - P - C
Bitul
Registrul de stare
Biti rezervati, normal pe 0
Transport
Paritate
Transport auxiliar
Zero
Semn
Deruta
Validare/invalidare Intrerupere
Directie
Depasire
1.2.
CONEXIUNILE EXTERNE
GND
40
VCC
GND
40
VCC
AD14
39
AD15
AD14
39
AD15
AD13
38
A16/S3
AD13
38
A16/S3
AD12
37
A17/S4
AD12
37
A17/S4
AD11
36
A18/S5
AD11
36
A18/S5
AD10
35
AD10
35
AD 9
34
AD 9
34
AD 8
33
AD 8
33
AD 7
32
A19/S6
___
BHE/S7
___
MN/MX
__
RD
AD 7
32
AD 6
10
31
HOLD
AD 6
10
AD 5
11
30
AD 5
11
AD 4
12
29
AD 4
12
29
AD 3
13
28
AD 3
13
28
AD 2
14
27
AD 2
14
27
AD 1
15
26
HLDA
__
WR
__
M/IO
_
DT/R
___
DEN
AD 1
15
26
A19/S6
___
BHE/S7
___
MN/MX
__
RD
__ ___
RQ/GT0
__ ___
RQ/GT1
____
LOCK
__
S2
__
S1
__
S0
AD 0
16
25
AD 0
16
25
QS0
NMI
17
24
NMI
17
24
INTR
18
23
ALE
___
INTA
____
TEST
INTR
18
23
QS1
____
TEST
CLK
19
22
READY
CLK
19
22
READY
GND
20
21
RESET
GND
20
21
RESET
8086
CPU
8086
CPU
MOD MAXIM
MOD MINIM
31
30
GND
40
VCC
A15
A14
39
A15
38
A16/S3
A13
38
A16/S3
37
A17/S4
A12
37
A17/S4
A11
36
A18/S5
A11
36
A18/S5
A10
35
A10
35
A19/S6
A9
34
A9
34
A8
33
A8
33
AD 7
32
A19/S6
___
SS0
___
MN/MX
__
RD
AD 7
32
AD 6
10
31
HOLD
AD 6
10
AD 5
11
30
AD 5
11
AD 4
12
29
AD 4
12
29
AD 3
13
28
AD 3
13
28
AD 2
14
27
AD 2
14
27
AD 1
15
26
HLDA
__
WR
__
IO / M
_
DT/R
___
DEN
AD 1
15
26
HIGH
___
MN/MX
__
RD
__ ___
RQ/GT0
__ ___
RQ/GT1
______
LOCK
__
S2
__
S1
__
S0
AD 0
16
25
AD 0
16
25
QS0
NMI
17
24
NMI
17
24
INTR
18
23
ALE
___
INTA
____
TEST
INTR
18
23
QS1
____
TEST
CLK
19
22
READY
CLK
19
22
READY
GND
20
21
RESET
GND
20
21
RESET
GND
40
VCC
A14
39
A13
A12
8088
CPU
8088
CPU
31
30
MOD MAXIM
MOD MINIM
1.2.1.
A16/S3
0
0
1
0
1
0
Semnificaie
11
12
13
DEN , Data Enable, validare date. Ieire 3-stri activ pe "0" folosit
pentru validarea transceiver-elor de date. Este "0" n timpul operaiilor cu
memoria i cu dispozitivele de I/O precum i n timpul ciclilor de achitare
ntrerupere ( INTA ), pentru citiri (i INTA ) de la mijlocul lui T2 la mijlocul lui
T4, iar pentru scrieri de la nceputul lui T2 la mijlocul lui T4. Ieirea este trecut
n starea de impedan mare n timpul ciclilor de achitare a unei cereri de
preluare a magistralei.
HOLD, cerere de preluare a magistralei microprocesorului. Intrare
activ pe "1".
HLDA, achitare a cererii de preluare a magistralei. Ieire activ pe "1".
S1
S0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Semnificaie
Achitare ntrerupere
Citire port I/O
Scriere port I/O
Oprire (Halt)
Citire instruciune
Citire memorie
Scriere memorie
Stare pasiv (nici-un ciclu de magistral)
ciclul de ceas urmtor unei operaii cu stiva. Aceste ieiri permit urmrirea din
exterior a execuiei instruciunilor avnd, atunci cnd sunt validate, urmtoarea
semnificaie:
15
QS1
QS0
0
0
0
1
Nici o operaie
Extragerea primului octet al codului-operaie
1
1
0
1
1.2.2.
Semnificaie
IO / M
DT / R
SS0
Semnificaie
1
1
1
1
0
0
0
0
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Achitare ntrerupere
Citire port I/O
Scriere port I/O
Oprire (Halt)
Citire instruciune
Citire memorie
Scriere memorie
Stare pasiv
1.3.
1.3.1.
18
T1
Citire
Scriere
(4+NWAIT)=TCY
(4+NWAIT)=TCY
T2
T3 TWAIT T4
T1
T2
T3 TWAIT T4
CLK
Inactive in starea
precedenta starii T4
ALE
__ __
S2S0
___
BHE/
A19A16
Adrese/
Stari
___
BHE/
A19A16
S7S3
S7S3
Rezervare a magistralei
pentru intrare date
Adrese/
Date
D15D0
valide
A15A0
A15A0
Iesire date
D15D0
__ ____
RD,INTA
READY
READY
__
DT/R
WAIT
READY
WAIT
____
DEN
___
WR
Figura 1.9. Ciclii de magistral ai microprocesorului 8086. Diagrama de baz
19
Ciclul de
magistrala 1
CLK
UE
Ciclul de
magistrala 2
Ciclul de
magistrala 3
T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4
UE solicita un
octet de cod
obiect. Stiva fiind
goala UIM
executa un ciclu
de magistrala
UE asteapta ca
datele solicitate
sa fie introduse in
stiva de UIM
Ciclul de
magistrala 5
CLK
UE
Ciclul de
magistrala 4
Stari inactive
T1 T2 T3 T4 TI TI TI TI TI TI TI TI TI TI TI TI
UE executa o operatie aritmetica in 9
perioade de ceas
Figura 1.10. Un exemplu de funcionare suprapus a celor dou blocuri funcionale ale
microprocesorului 8086
execut operaii interne. Dac ciclul precedent a fost o scriere, 8086 va menine
n timpul strii TI informaia de stare S7S3 din ciclul de magistral precedent i
datele anterior emise pe magistrala multiplexat. Atunci cnd operaia
precedent a fost o citire, n afara meninerii strii S7S3, microprocesorul va
lsa n TI magistrala de date n starea de impedan nalt.
Datorit modului de lucru suprapus al celor dou blocuri funcionale,
UE i UIM, activitatea exterioar a microprocesorului nu va aprea, ca n cazul
mainilor din generaiile anterioare, de exemplu Z80, ca o succesiune de
operaii de extragere a codului, de fetch-uri, i de transferuri corespunztoare de
date cu memoria sau dispozitivele de I/O. La 8086 extragerea codului i
transferurile de operanzi asociate unei instruciuni pot fi separate prin ciclii de
magistral executai de UIM n scopul umplerii stivei interne de 6 octei. De
asemenea, pot aprea desincronizri, ntrzieri, ntre citirea i nceputul
execuiei unei instruciuni. n figura 1.10, [4], se exemplific modul de lucru
suprapus al celor dou blocuri funcionale ale microprocesorului. Observm c
UE este activ n timpul execuiei instruciunilor i inactiv atunci cnd ateapt
codul obiect sau date pe care nu le poate obine dect prin intermediul unor cicli
de magistral executai de UIM. Activitatea UE se desfoar n secvene cu un
numr variabil de perioade de ceas, negrupate, aa cum am spus mai sus, n cicli
main de lungime fix. Pe de alt parte, UIM grupeaz perioadele de ceas n
cicli de magistral, dar numai cnd microprocesorul execut un transfer de cod
sau date cu exteriorul. n restul timpului UIM rmne inactiv.
1.3.2.
VCC
8284 A
Generator ceas
___
RES
CLK
READY
RESET
RDY
GND
8086
Generare stari
WAIT
___
MN/MX
__
M/IO
____
INTA
___
RD
___
WR
_
DT/R
____
DEN
VCC
ALE
AD0AD15
CLK
ADRESE/DATE
(magistrala multiplexata)
A16A19
____
BHE
Latch-uri
adrese sistem
(2 sau 3)
Adrese sistem
_
G
DIR
Transceiver-e
(optionale)
(2 )
_
G
GND
Necesare pentru
cresterea puterii de
comanda a
magistralei de date
A0
Date
___
___ ___
CSOH CSOL WE OD
2142 RAM (4)
(2)
(2)
1Kx8 1Kx8
__
CE
__
OE
___
CS
__
RD
___
WR
Dispozitiv de I/E
1.3.2.1. Adresarea
Adresarea memoriei sau a dispozitivelor de I/O se face prin
demultiplexarea n timp a informaiilor de pe magistrala local a
microprocesorului, cu ajutorul semnalului ALE destinat memorrii adreselor n
latch-urile de adrese ale sistemului. n operaia de adresare vom analiza nti
raportul ntre adrese i ALE apoi ntrzierea adreselor pn la apariia lor pe
magistrala demultiplexat a sistemului.
22
Semnificaie
Valoare
minim
Valoare
maxim
TCLCL
TCLCH
TCHCL
TCH1CH2
200ns
118ns
69ns
500ns
TCL2CL1
TDVCL
TCLDX
TR1VCL
TCLR1X
TRYHCH
TCHRYH
TRYLCL
THVCH
TINVCH
TILIH
TIHIL
10ns
10ns
Condiii de test
i observaii
30ns
10ns
35ns
0ns
118ns
30ns
8ns
35ns
30ns
Frontul de cretere,
pozitiv, al semnalelor de
intrare (cu excepia lui
CLK)
Frontul descresctor,
negativ, al semnalelor de intrare
(exceptnd CLK)
23
20ns
12ns
De la 2,0V la 0,8V
TCLAV
TCLAX
TCLAZ
TLHLL
TCLLH
TCHLL
TLLAX
TCLDV
TCHDX
TWHDX
TCVCTV
TCHCTV
TCVCTX
TAZRL
TCLRL
Semnificaie
Valoare
minim
24
Valoare
maxim
Condiii de test
i observaii
110ns
Msurtorile au
fost fcute
adugndu- se la
ieirile corespunztoare ale
microprocesorului
CL=20100pF
80ns
80ns
85ns
110ns
110ns
110ns
110ns
165ns
150ns
160ns
20ns
De la 0,8V la 2,0V
12ns
De la 2,0V la 0,8V
T1
T2
T3
T4
VCH
CLK (Iesire 8284)
VCL
TW
TCHCL
TCHCTV
TCLCH
__
M/IO
TCLAV
___
BHE/S7,A19/S6A16/S3
TCLDV
___
BHE,A19A16
TCLLH TLHLL
TCHDX
S7S3
TCLAX
ALE
TAVAL
TCHLL
VIH
TR1VCL
VIL
TCLR1X
TRYLCL
TCHRYX
AD15AD0
Ciclu de citire
(WR,INTA="1")
___
RD
TLLAX
TCLAZ
TCLAX
AD15AD0
TRYHCH
TCLDX
TDVCL
DATA IN
TCLRL
TRLRH
_
DT/R
____
DEN
25
T1
T3
TW
T4
TCLCL
VCH
CLK (Iesire 8284)
T2
VCL
TCHCL
TCHCTV
TCH1CH2
TCL2CL1
TCLCH
__
M/IO
TCLAV
___
BHE/S7,A19/S6A16/S3
TCHDX
TCLDV
___
BHE,A19A16
TCLLH
TLHLL
S7S3
TCLAX
TCHLL
ALE
TAVAL
TCLAV TAVAL TCLAX
TCLDV TCLAX
Ciclu de scriere
___ ____
(RD,INTA,
_
DT/R="1" )
AD15AD0
TCHDX
DATE
AD15AD0
TCVCTV
TCVCTX
____
DEN
___
WR
TCVCTX
TWLWH
TWHDX
TCLAZ
TDVCL
AD15AD0
____
Ciclu INTA
__ ___
RD, WR ="1"
___
BHE="0"
_
DT/R
TCLDX
Tip
intrerupere
TCHCTV
TCHCTV
TCVCTV
____
INTA
TCVCTX
TCVCTV
__ ___ ____
RD, WR , INTA="1"
_
DT/R= nedeterminat
(Starea de HALT)
____
DEN
Adresa invalida
Starea de HALT
TCLAV
T1
T2
T3
T4
Ti
Ti
T1
T2
T3
T4
ALE
_____
LOCK
(semnal
intern)
____
INTA
AD15AD0
Tipul
intreruperii
Reactivare numai cand coada de asteptare nu este plina
3-a pn n ciclul de ceas urmtor strii T4 a fiecruia din cei doi cicli de
magistral INTA . n cazul n care, pe timpul achitrii ntreruperii, coada de
ateptare a microprocesorului nu este plin, pe magistrala AD pot fi plasate, n
timpul strilor inactive TI, date n condiiile discutate anterior n 1.4.1. Datele
reprezentnd tipul ntreruperii trebuie s satisfac aceleai cerine pentru timpii
de stabilizare i meninere, TCLDV i TCLDX, fa de frontul negativ al
ceasului de la nceputul strii T4 din al doilea ciclu INTA , ca i datele dintr-un
ciclu de citire.
Ieirea M / IO va fi poziionat pe "0" indicnd sistemului, n timpul
ciclilor INTA , o operaie de intrare/ieire. Semnalul LOCK , intern n cazul
funcionrii microprocesorului 8086 n modul minim, va fi i el activat ntre
strile T2 ale celor doi cicli de achitare pentru a preveni achitarea de ctre UIM
a unei cereri de magistral ntre cei doi cicli INTA . Asupra prioritii ntre
cererea de ntrerupere i cererea de magistral vom reveni n 1.4.5.4.
Comenzile de validare i sens pentru transceiver-e, DEN i DT / R , sunt
activate n fiecare ciclu INTA avnd aceleai relaii de timp ca i n cazul
ciclilor de citire. ntre cei doi cicli INTA , DEN i DT / R sunt dezactivate.
Relaiile de timp pentru semnalul de achitare INTA sunt identice cu
cele ale comenzii de scriere WR . Astfel, pe baza acestor relaii obinem un timp
de acces, de la validarea comenzii INTA pn la stabilizarea pe magistrala
microprocesorului a datelor reprezentnd timpul ntreruperii, dat de formula
2TCLCL TCVCTV TDVCL care, pentru cazul cel mai defavorabil conduce
la valoarea 2TCLCL TCVCTVmax TDVCLmin= 2200ns 110ns 30ns =
260ns. Mrirea timpului de acces se poate face prin introducerea de stri TW
care, pentru fiecare stare introdus, adaug la acest timp o perioad TCLCL.
Garantarea timpului de meninere TCLDX necesar procesorului pentru
capturarea datelor pe frontul negativ de la nceputul strii T4 se asigur prin
condiionarea meninerii datelor pe magistral cu INTA =0 i DEN =0 i
invalidarea acestor comenzi cu cel puin TCVCTXmin=10ns dup frontul CLK
menionat. Durata minim a impulsului INTA rezult din relaia
2TCLCLTCVCTV+TCVCTX, conducnd, pentru un ceas de 5MHz, la o
valoare teoretic minim de 2200ns110ns+10ns= 300ns. Avnd n vedere c
n realitate microprocesorul nu poate s manifeste simultan, pentru acelai
semnal, att ntrzieri maxime ct i minime, rezult o valoare practic minim
de 340ns [10]. Pentru eliberarea magistralei la sfritul celor doi cicli INTA
trebuie inut cont, pe de-o parte, de ntrzierea maxim a comenzii INTA ,
TCVCTXmax=110ns, iar pe de alt parte de momentul cnd microprocesorul
activeaz magistrala n starea T1 imediat urmtoare strii T4 din al doilea ciclu
INTA . Rezult un timp minim de TCLCLTCVCTXmax+TCLAVmin=
200ns110ns+10ns= 100ns n care dispozitivul care a plasat pe magistral tipul
ntreruperii trebuie s-i invalideze ieirile. Acelai timp rezult i lund n
33
T2
T3
T4
CLK
Intrarea
READY
la 8086
READY activ
minimum 118 ns
(TRYHCHmin)
TCHRYXmin=30ns
Figura 1.14. Prevenirea introducerii unor stri de ateptare n sisteme normale not-ready
T1
T2
T3
TW
T4
CLK
Intrarea
READY
la 8086
Timp de mentinere
TCHRYXmin=30ns
READY inactiv
maximum 8 ns in T3
( TRYLCLmin=-8 ns)
analog cu cel folosit de microprocesoarele 8080 i Z80 [5, 9, 27, 28]. Semnalele
utilizate sunt HOLD pentru cererea de magistral, analog cu semnalele HOLD i
BUSRQ de la 8080 i respectiv Z80, i HLDA pentru achitarea cererii,
echivalent cu HLDA i BUSAK . Pentru a prelua controlul magistralei locale un
dispozitiv, de exemplu un coprocesor sau un circuit pentru comanda accesului
direct la memorie, trebuie s activeze intrarea HOLD a procesorului i s atepte
activarea semnalului de achitare pentru a putea efectua transferuri de date pe
magistrala local. Intrarea HOLD este eantionat de 8086 cu frontul negativ al
ceasului, figura 1.16. Decizia de a rspunde la cererea HOLD este luat n
unitatea de interfa cu magistrala fiind influenat de urmtorii factori:
activitatea curent a magistralei, starea semnalului intern LOCK , activat de
prefixul software LOCK, i starea ntreruperilor. Dup eantionare
microprocesorul poate achita cererea HOLD numai dac urmtoarea stare T este
T4 sau TI. Dac nu, el ateapt sfritul ciclului de magistral n curs pentru a
trece pe "1" ieirea HLDA. Dispozitivul care a emis HOLD trebuie s menin
acest semnal activ pe toat durata ct are nevoie de magistral. Aa cum am
spus mai sus, dialogul pentru preluarea magistralei are loc ntre dispozitivul
solicitant i UIM. UE i poate continua activitatea pn la golirea stivei sau
pn la apariia necesitii transferrii unui operand. La terminarea operaiei,
HOLD va fi trecut pe "0" microprocesorul rspunznd la rndul lui prin
HLDA=0 i, dac este cazul, prin reactivarea magistralei locale. Precizm, din
nou, c datorit funcionarii de tip pipeline a celor dou blocuri constructive,
UE i UIM, operaia HOLD/HLDA se poate face n paralel cu execuia unor
operaii interne de ctre UE. n aceast situaie este posibil ca la ncheierea
ciclului de cerere/achitare de magistral microprocesorul s nu aib nevoie de
un acces n exterior i deci, nefiind cazul, s nu activeze imediat magistrala
local. Va aprea atunci o perioad de timp n care magistrala local nu va fi
controlat de nici-un dispozitiv rmnnd n starea a treia. De aceea se
recomand, pentru sistemele care folosesc facilitatea HOLD/HLDA, s se
conecteze ieirile de comand la +5V prin rezistene de 22k, asigurndu-se
astfel meninerea, n perioada de incertitudine, a nivelului inactiv "1".
Cererea de preluare a controlului, HOLD, nefiind sincronizat de
procesor, trebuie s respecte un timp minim de stabilizare fa de frontul pozitiv
al ceasului. Acest timp, THVCHmin= 35ns, poate fi asigurat dac se face o
sincronizare extern folosindu-se ceasul microprocesorului, oricare din cele
dou fronturi fiind utilizabil. Trecerea magistralei locale n starea a treia se
poate face teoretic dup validarea semnalului de achitare HLDA. ntrzierea
ntre activarea semnalului HLDA i eliberarea magistralei este dat de diferena
TCLAZTCLHAV fiind de maximum 70ns. Aceast situaie poate s deranjeze
n sistemele n care activarea lui HLDA conduce imediat la activarea de ctre
dispozitivul solicitant a liniilor de comand. De aceea pentru aceste cazuri se
38
Cel putin o
perioada de
ceas
THVCH
CLK
HOLD
TCLHAV
TCLHAV
HLDA
AD15-AD0,
A19/S6A16/S3,
__ ___
__
RD,BHE/S7,M/IO,
_ ___ ____
DT/R,WR,DEN
TCLAZ
Coprocesor
8086
8086
39
CLK
HOLD
ADXX/A/SX
Comenzi
__ ___ ____
(RD,WR,INTA,
__
_
M/IO,DEN, DT/R)
HLDA
1.3.3.
VCC
___
MN/MX
8284 A
Generator ceas
___
RES
8086
Generare stari
WAIT
CLK
__
S0
__
S1
__
S2
____
DEN
_
DT/R
__
S0
__
S1
__
S2
CLK
READY
RESET
RDY
GND
GND
_____
LOCK
ALE
_____
MRDC
_____
MWTC
_____
8288 AMWC
_____
IORC
_____
IOWC
_____
AIOWC
_____
INTA
CLK
AD0AD15
ADRESE/DATE
(magistrala multiplexata)
A16A19
____
BHE
Latch-uri
adrese sistem
(2 sau 3)
Adrese sistem
_
G
A0
DIR
Date
Transceiver-e
(2 )
_
G
GND
Necesare pentru
cresterea puterii de
comanda a
magistralei de date
___
___ ___
CSOH CSOL WE OD
2142 RAM (4)
(2)
(2)
1Kx8 1Kx8
__
CE
__
OE
___
CS
__
RD
___
WR
Dispozitiv de I/O
Stare
8086
Intrari
de
comanda
__
S0
__
S1
__
S2
CLK
____
AEN
CEN
IOB
Decodor
stari
Logica de
control
______
MRDC
______
MWTC
______
AMWC
_____
IORC
______
IOWC
______
AIOWC
_____
INTA
Generator
semnale
de
comanda
_
DT/R
____
DEN
Generator
semnale
de control
_____
MCE/PDEN
Semnale de
comanda
compatibile
Multibus
Semnale pentru
controlul latchurilor de adrese,
transceiver-elor
de date si
intreruperilor
ALE
+5V
GND
IOB
20
CLK
__
S1
_
DT/R
19
18
VCC
__
S0
__
S2
17
_____
MCE/PDEN
ALE
___
AEN
_____
MRDC
______
AMWC
______
MWTC
16
DEN
15
14
13
12
GND
10
11
8288
CEN
____
INTA
____
IORC
____
AIOWC
____
IOWC
43
DEN, Data Enable, validare date. Ieire activ pe "1" utilizat pentru
validarea transceiver-elor de date pe magistrala local sau pe magistrala
sistemului.
DT / R , Data Transmit/Receive, transmisie/recepie date. Ieire folosit
pentru precizarea direciei transceiver-elor de date, "1" pentru transmisie,
scriere n dispozitivele de I/O sau memorie, "0" pentru recepie, citire din
dispozitivele de I/O sau memorie.
AEN , Address Enable, validare adrese. Intrare activ pe "0" utilizat
pentru validarea semnalelor de comand ale controlorului de magistral. AEN
nu va afecta liniile de comand ale circuitului dac intrarea IOB a lui este
conectat la "1", 8288 lucrnd n aceast situaie n modul magistral de I/O.
CEN, Command Enable, validare comenzi. Intrare activ pe "1" utilizat
pentru validarea semnalelor de comand ale controlorului precum i a ieirilor
DEN i PDEN . Cnd CEN=0 semnalele de comand i DEN i PDEN sunt
forate n starea inactiv. Intrarea poate fi folosit pentru a implementa
partiionri de memorie i a elimina conflicte de adresare ntre dispozitivele
plasate pe magistrala de sistem i cele de pe magistralele locale.
IOB, Input/Output Bus Mode, modul magistral de I/O. Intrare cu
ajutorul creia este selectat modul de lucru al controlorului: "0" pentru modul
magistral sistem, "1" pentru modul magistral de I/O.
AIOWC , Advanced Input/Output Write Command, comand de scriere
I/O avansat. Ieire activ pe "0" reprezentnd o comand de scriere avansat,
anticipat, pentru dispozitivele de I/O care au nevoie mai devreme de un astfel
de semnal pentru decodificri de adrese sau validri. Utilizarea acestui semnal
avansat elimin necesitatea introducerii unei stri de ateptare pentru unele
dispozitive de I/O mai lente. Semnalul are aceei cronogram cu a semnalelor
de citire.
IOWC , Input/Output Write Command, comand de scriere I/O. Ieire
activ pe "0" reprezentnd comanda normal de scriere pentru dispozitivele de
I/O.
IORC , Input/Output Read Command, comand de citire I/O. Ieire
activ pe "0" reprezentnd comanda de citire pentru dispozitivele de I/O.
AMWC , Advanced Memory Write Command, comand de scriere
memorie avansat. Ieire activ pe "0" utilizat pentru generarea unei comenzi
de scriere anticipate solicitate de unele memorii mai lente pentru decodificri
sau validri. Ca i AIOWC are aceeai cronogram cu cea a semnalelor de
citire.
MWTC , Memory Write Command, comand de scriere memorie. Ieire
activ pe "0" reprezentnd comanda normal de scriere la memorie.
MRDC , Memory Read Command, comand de citire memorie. Ieire
activ pe "0" reprezentnd comanda de citire din memorie.
44
T1
T2
TCLCL
T3
T4
TCLCH
TCHCL
CLK
TSVCH
TCHSV
TCLCH
TCLSH
_ _ _
S2, S1, S0
TSHCL
Adrese
Adrese / Date
Date
TSVLH
TCHLL
TCLLH
ALE
TCLML
TCLMH
_____ ____
MWTC, IOWC
TCVNV
DEN
_____
(Citire sau INTA
TCVNX
PDEN
_____
(Citire sau INTA
TCVNV
DEN (Scriere)
TCVNX
____
PDEN (Scriere)
TCHDTH
TCHDTL
DT/R
_____
(Citire sau INTA)
TCLMCH
TSVMCH
TCHDTH
TCVNX
MCE
46
CEN
TCEVNV
____
AEN
TAEVNV
DEN
_____
PDEN
____
AEN
TAELCV
TAEHCZ
TAELCH
Iesire de
comanda
TCELRH
TCELRH
CEN
TCLCL
TCLCH
TCHCL
TSVCH
TCHSV
TSHCL
TCLSH
Semnificaie
47
Valoare
minim
125ns
66ns
40ns
65ns
10ns
55ns
10ns
TCVNV
TCVNX
TCLLH
TCLMCH
TMHNL
TSVLH
TSVMCH
TCHLL
TCLML
TCLMH
TCHDTL
TCHDTH
TAELCH
TAEHCZ
TAELCV
TAEVNV
TCEVNV
TCELRH
Semnificaie
Valoare
minim
Valoare
maxim
45ns
45ns
15ns
15ns
15ns
15ns
15ns
35ns
35ns
50ns
30ns
40ns
40ns
200ns
20ns
20ns
TCLML
S1
S0
Starea microprocesorului
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Achitare ntrerupere
Citire port de I/O
Scriere port de I/O
Oprire (Halt)
Acces cod
Citire memorie
Scriere memorie
Stare pasiv
MRDC
MRDC
MWTC, AMWC
1.3.3.2. Adresarea
n cele ce urmeaz ne vom referi att la diagramele i relaiile de timp
pentru microprocesorul 8086, figura 1.24 i tabelele 1.7 i 1.8, ct i la
diagramele i relaiile de timp ale controlorului de magistral 8288, date n
figurile 1.21, 1.22, 1.23 i n tabelele 1.4 i 1.5.
n modul de lucru maxim adresele sunt generate de microprocesor, ca i
n modul minim, n timp ce semnalul de strobare ALE este emis de 8288. Pentru
aprecierea situaiei celei mai defavorabile observm c activarea semnalului
ALE are dou ci de ntrziere: fa de stri i fa de ceas. n raport cu strile
S2 , S1 , S0 apare o ntrziere, msurat de la frontul pozitiv anterior strii T1,
dat de suma TCHSV+TSVLH. A doua cale d ntrzierea TCLLH msurat de
la frontul negativ al ceasului CLK care marcheaz nceputul strii T1. De aici
rezult c, n situaia cnd microprocesorul este mai lent pe calea de activare a
strilor i alternana pozitiv a ceasului este minim, ALE va fi generat cu o
ntrziere TSVLH dup schimbarea strilor. Pe de alt parte, dac strile S2 ,
S1 , S0 se schimb nainte de nceperea strii T1 8288 garanteaz activarea
semnalului ALE cel mult cu o ntrziere TCLLH fa de nceputul strii T1.
Pentru prima situaie, cea mai defavorabil comparativ cu TCLLHmax=15ns, se
obine, fa de nceputul strii T1, o ntrziere maxim de TCHSVmax +
TSVLHmaxTCHCLmin=110ns+15ns69ns=56ns.
49
Semnificaie
Valoare
minim
Valoare
maxim
TCLCL
TCLCH
TCHCL
TCH1CH2
200ns
118ns
69ns
500ns
TCL2CL1
TDVCL
TCLDX
TR1VCL
TCLR1X
TRYHCH
TCHRYX
TRYLCL
TINVCH
TGVCH
TCHGX
TILIH
TIHIL
10ns
10ns
Observaii
30ns
10ns
35ns
0ns
118ns
30ns
8ns
30ns
30ns
40ns
50
20ns
12ns
Semnificaie
51
Valoare
minim
Valoare
maxim
Observaii
10ns
10ns
35ns
35ns
110ns
Comenzile
generate de 8288
10ns
110ns
10ns
130ns
10ns
10ns
TCLA
X
110ns
80ns
15ns
ALE i MCE
generate de 8288
15ns
15ns
15ns
10ns
10ns
5ns
10ns
15ns
15ns
110ns
45ns
DEN generat de
8288
45ns
0ns
10ns
10ns
TCLCL
45ns
165ns
150ns
50ns
0ns
0ns
2TCLC
L75ns
DT / R generat
de 8288
30ns
85ns
85ns
20ns
12ns
0,8V 2V
2V 0,8V
T1
VCH
CLK
T2
T3
T4
TW
TCLCL
VCL
TCLAV
TCHCL
TCLCH
TCH1CH2
TCL2CL1
QS0, QS1
TCHSV
TCLSH
_ _ __
S2,S1,S0
(exceptand starea HALT)
TCLAV
TCLAX
TCLDV
___
BHE,A19A16
___
BHE/S7,A19/S6A16/S3
TSVLH
TCLLH
TCHDX
S7S3
TCHLL
ALE(Iesire 8288)
TR1VCL
READY
(Intrare in 8086)
TRYLCL
TCHRYX
TRYHSH
TCLAV
AD15AD0
TCLAZ
TCLAX
DATA IN
AD15AD0
TAZLR
___
RD
Iesiri 8288
TCLRH
TRHAV
TCLRL
TCHDTL
TCHDTH
_
DT/R
TCLML
TRLRH
TCLMH
_____
_____
MRDC sau IORC
____
DEN
TRYHCH
TDVCL
TCLDX
TCVNV
TCVNX
52
T1
T3
TCLCL
VCH
CLK
T2
T4
TW
VCL
_ _ __
S2,S1,S0
(exceptand starea HALT)
TCHSV
Ciclu de scriere
TCLSH
TCLAV
AD15AD0
TCLDV
TCHDX
AD15AD0
DATE
TCVNV
Iesiri
8288
TCVNX
DEN
TCLML
_____
_______
AMWC sau AIOWC
TCLMH
_______
_____
MWTC sau IOWC
TCLML
_____
Ciclu INTA
AD15AD0
TCLMH
Adresa de
cascada
TCLAZ
TCLML
AD15AD0
TCLDX
Tip
intrerupere
TCLMCL
Iesiri
8288
_____ _____
MCE / PDEN
TSVMCH
TCLMCH
TCHDTL
TCHDTH
_
DT/R
TCHLML
_____
INTA
TCVNV
TCLMH
TCVNX
DEN
Oprire soft:
(DEN="0",
__ ______ _____ _______
RD,MRDC,IORC,MWTC
______ ______ _______
AMWC, IOWC, AIOWC,
____
.
INTA = "1")
TCLAV
Adresa invalida
AD15AD0
_ _ __
S2,S1,S0
procesorului, 8086+8288, datele vor fi garantat stabile cel puin 93ns dup
comanda de scriere.
CAS
INTR
Intrerupere
MASTER
8259A
Intrerupere
__
EN
8284
_____
LOCK
MCE
8088
STARE
8288
_____
INTA
_____
INTA
DEN
SLAVE
8259A
_
DT/R
ALE
SLAVE
8259A
__
EN
Latchuri
adrese
__
EN
Adrese
__
OE
_
DT/R
XCVR
Date
Figura 1.24A. 8086 n modul maxim cu un controlor de ntreruperi master pe magistrala local i
mai multe controloare de ntreruperi slave pe magistrala de sistem
T1
T2
T3
T4
Ti
Ti
T1
T2
T3
ALE
_____
LOCK
____
INTA
AD15AD0
Tip vector
MCE
58
T4
Orice ciclu de
ceas
Orice ciclu de
ceas
CLK
TCLAV
TCLAV
_____
LOCK
_____
INTA
CAS
SLAVE
8259A
INT
8284
INTR
MASTER
8259A
INT
8086
STARE
_
DT/R
DEN
ALE
Latch
adrese
8282
SLAVE
8259A
ADRESE
DATE
__
OE
8286
Figura 1.26A. 8086 n modul maxim cu un controlor de ntreruperi master pe magistrala local i
mai multe controloare de ntreruperi slave pe magistrala de sistem
VCH
CLK
VCL
TCLCL
TCLGL
AD15AD0
A19/S6A16S3,
_ _ __
S2,S1,S0
__ _____
RD, LOCK
____ .
BHE/S7
TGVCH
Cerere
coprocesor
TCLGH
TCLCL
Achitare
8086
4.
5.
Eliberare
coprocesor
Coprocesor
8086
1.
2.
3.
4
3
TCHGX
TCLGH
__ __
RQ/GT
CLK
74LS54
_
R
HOLD
74S02
74LS78
J
Q
CLK _
K
Q
CLR
_
R
HLDA
74S02
+5V
8T09
74LS54
74LS78
J
Q
CLK _
K
Q
CLR
______
RESET
___ __
RQ/GT
_
R
74LS04
74LS04
CLK
__ __.
Eliberare
RQ/GT0
__ __.
Achitare
RQ/GT1
CLK
__ __.
Eliberare
RQ/GT0
Situatie tipica
__ __.
Achitare
RQ/GT1
Uneori
Achitare
b. O cerere achitata pe canalul 1 urmata de o cerere pe canalul 0
Controlul accesului la resursele divizate n sisteme complexe, multimicroprocesor, se poate face n modul de lucru maxim, aa cum am mai spus,
cu ajutorul ieirii LOCK . Aceast ieire este activat la execuia unei
instruciuni precedate de prefixul LOCK, mai exact, n primul ciclu de ceas
urmtor "execuiei" prefixului. Ieirea va rmne activ nc un ciclu de ceas
dup executarea instruciunii precedate de prefixul LOCK, figura 1.31. n
aceast figur se poate vedea, de exemplu, comportarea ieirii LOCK la
execuia instruciunii XCHG cu prefix LOCK utilizate pentru implementarea unui
mecanism uzual de tip testare i poziionare semafor:
lock xchg reg, memorie
Extragere
instruct. 3
CLK
QS0
(Starea cozii)
LOCK
Instr.1
LOCK
Instr.2
(XCHG)
Instr.3
_____
LOCK
Aici prefixul LOCK previne accesul unei alte uniti centrale la semafor,
locaia MEMORIE, pe timpul operaiei de testare i poziionare a semaforului.
O alt ntrebuinare eficient a prefixului LOCK este n cazul transferurilor pe
blocuri folosite pentru schimbarea rapid de mesaje ntre unitile centrale ale
sistemelor multiprocesor. n figura 1.31 starea cozii, validat n timpul ciclului
de ceas urmtor operaiei efectuate asupra cozii, este reprezentat de QS0,
poziionat pe "1" la extragerea din coad a primului octet al codului-operaie. n
figur este prezentat execuia succesiv a trei instruciuni. Observm nti c
sunt necesare dou perioade de ceas pentru extragere i decodare execuia
prefixului LOCK , echivalent cu ntrzierea pn la activarea ieirii LOCK .
Ieirea LOCK va deveni aadar activ odat cu nceputul instruciunii pe care o
precede prefixul. Ea va rmne activ nc o perioad dup terminarea
instruciunii, trecnd pe "1" ntre execuiile a dou instruciuni succesive, chiar
dac ambele sunt precedate de prefix, cazul din figur. Dac n coada de
ateptare se afl numai prefixul, instruciunea pe care o precede nefiind nc
extras din memorie, ieirea LOCK va fi activat imediat dup execuia
prefixului i va rmne aa pn dup aducerea instruciunii n coad i
executarea ei. Mai trebuie fcut i observaia c pe timpul execuiei unei
instruciuni "blocate", precedate de prefixul LOCK, UIM mai poate s ncarce
coada de ateptare a microprocesorului, magistrala fiind de fapt numai a lui pe
durata execuiei instruciunii datorit prefixului LOCK.
Pe timpul execuiei unei instruciuni "blocate" orice cerere RQ / GT va
fi nregistrat urmnd a fi achitat dup terminarea execuiei instruciunii. De
asemenea, ntreruperile care apar n timpul execuiei unui prefix nu vor fi
achitate, dac sunt evident validate, dect dup execuia instruciunii precedate
de prefix. Excepie fac instruciunile care permit servirea ntreruperilor pe
timpul execuiei lor: HALT, WAIT sau instruciunile pe iruri.
65
1.3.4.
____
RES
X1
RESET
CK
Oscilator
OSC
X2
CLK
_
F/C
3
2
EFI
CSYNC
_____
RDY1
AEN1
_____
AEN2
RDY2
PCLK
READY
CK
Figura 1.32. Schema bloc a circuitului 8284
CSYNC
18
VCC
PCLK
____
AEN1
17
X1
16
X2
RDY1
15
N.C.
READY
14
EFI
_
F/C
RDY2
8284
13
_____
AEN2
12
CLK
11
OSC
___
RES
GND
10
RESET
OSC
CLK
PCLK
activ pe "1" cu ajutorul creia se pot controla mai multe circuite 8284 pentru a
genera ceas n faz. Numrtoarele interne ale circuitului sunt iniializate cu
CSYNC=1 i validate cu CSYNC=0. Generarea semnalului de sincronizare
aplicat la intrarea CSYNC trebuie fcut sincron cu EFI. CSYNC este utilizat
deci mpreun cu EFI, n cazul folosirii ca surs a ceasului a oscilatorului intern
intrarea CSYNC legndu-se la mas.
Diagramele de timp care ilustreaz funcionarea circuitului se dau n
figura 1.35 iar parametrii de timp n tabelele 1.9 i 1.10.
68
TEHEL
TELEH
TELEL
TR1VCL
TCLR1X
TA1VR1V
TCLA1X
TYHEH
TEHYL
TYHYL
TI1HCL
TCLI1H
Nota 1:
Semnificaie
Valoare
minim
Valoare
maxim
69
TCLCL
TCHCL
TCLCH
TCH1CH2
TCL2CL1
TPHPL
TPLPH
TRYLCL
TRYHCH
TCLIL
TCLPH
TCLPL
TOLCH
TOLCL
Semnificaie
Valoare
minim
Valoare
maxim
10ns
22ns
22ns
12ns
20ns
Maximum
Maximum
10 ns
10 ns
+5
Minimum
3,9
118,33 ns
1,5
Minimum
0,6
68,6 ns
0
Minimum 200 ns
-0.5
Maximum 500 ns
13
X1
OSC
12
8284
X2
_
F/C
8086
CLK
19
CLK
71
XCL =
1
.
2 F CL
17
18
CL 13
X1
OSC
12
14
+5V
1K
8284
X2
_
F/C
8284
EFI
CLK
8284
_
13 F/C
14
+5V
1K
CLK
_
13 F/C
14
+5V
1K
EFI
EFI
CLK
8284
_
13 F/C
Figura 1.38. Mai multe circuite 8284 avnd o surs comun de oscilaie
73
+5V
1K
Conditia de
sincronizare
externa
Q
La intrarea
CSYNC
Frecventa
externa
CK
CK
La intrarea EFI
a)
+5V
17
1K
D
CK
OSC
12
8284
18
13
Conditia
de sincronizare
externa
X1
X2
_
F/C
1 CSYNC CLK 8
CK
b)
166 ns maximum
40 ns minimum
17,5 ns 17,5 ns
min
min
EFI
CSYNC
c)
TYHEH
Figura 1.39. Sincronizarea comenzii CSYNC : cu o surs extern de freven (a); cu oscilatorul cu
cuar (b); timpul de stabilizare al comezii CSYNC fa de EFI (c)
74
1.3.4.3. Iniializarea
CLK
Intrarea RESET
Semnalul RESET
sincronizat intern
Magistrala
microprocesorului
(semnalele 49,
tabelul 1.11)
Trecere in starea de
mare impedanta
Trecere in starea
inactiva
75
Denumirea semnalului
AD15AD0
A19/S6A16/S3
S2(M / IO)
Starea a 3-a
Starea a 3-a
Starea a 3-a
Trecut pe "1", apoi n starea a 3-a
S1(DT / R)
S0(DEN)
LOCK / WR
RQ / GT0
RQ / GT1
"1"
QS0
QS1
"0"
"0"
BHE / S7
RD
INTA
ALE
HLDA
ALE
DEN
0
0
1
0/1
1
DT / R
MCE / PDEN
Comenzi
___
OE
8282
RESET
8086
ADRESE
___
OE
8286
DATE
Figura 1.41. Dezactivarea la iniializare a controlorului 8288, a latch-urilor de adrese i a
transceiver-elor de date
77
La punerea sub tensiune, intrarea RES trebuie s rmn sub 1,05V cel
puin 50s dup ce tensiunea de alimentare VCC a atins 4,5V, figura 1.42b.
Histerezis-ul de la intrarea RES permite asigurarea acestei cerine prin
conectarea unui circuit RC simplu, figura 1.42a. Constanta RC va rezulta din
formula obinuit:
t
V ( t ) = V 1 e RC ,
unde V=4,5V. Valoarea constantei RC rezultat din aceast formul nu ine cont
de timpul n care tensiunea de alimentare atinge 4,5V i de sarcina acumulat n
condensator n acest timp. Pentru t=50s i V(t)=1,05V, n formula de mai sus,
se obine nti constanta de timp RC=188106 i apoi durata iniializrii de
162s dup ce tensiunea de alimentare a atins 4,5V. Aceast durat reprezint
timpul de cretere a tensiunii la intrarea RES pn la valoarea de comutare
V(t)=2,6V. Dac se dorete o precizie mai bun pentru durata iniializrii
ncrcarea condensatorului de la intrarea RES poate fi fcut cu un generator de
curent constant care va asigura o cretere liniar i nu invers exponenial a
tensiunii la intrarea RES .
+V
11
___
RES
8284
V
___
RES
5
4
2,6
3
2
1,05
50 s
162 s
78
T1
T2
T3
T4/TW
CLK
Timp de stabilizare la intrarea RDY a
lui 8284
Minimum 35 ns
RDY
Intrare 8284
Timp de mentinere la intrarea RDY a
lui 8284
Minimum 0 ns
READY
Iesire 8284
Intarzierea la iesirea READY a lui
8284
Maximum 8 ns
Maximum 8 ns
Logica de
introducere a
starilor de
asteptare
____
AEN1
8284
RDY1
____
AEN2
RDY2
3
RDY
4
7
6
Logica de
introducere a
starilor de
asteptare
____
RDY
3
4
7
6
1K
8284
____
AEN1
RDY1
____
AEN2
RDY2
1K
+5V
+5V
Figura 1.44. Generarea semnalului READY cu ajutorul circuitului 8284 : utilizarea intrrilor
RDY1 sau RDY2 (a); utilizarea intrrilor AEN1 , AEN2 (b)
74125
+5V
___
CS1
74125
1K
7473
J
CK
___
CS2
K
CLK
_
Q
CLR
La intrarea RDY
a lui 8284
ALE
80
T1
T2
T3
T4
T1
T2
T3
TW
T4
CLK
ALE)
__
CS
RDY
Intrare
8284
1.3.5.
SISTEMUL DE NTRERUPERI
Numarul tipului
de intrerupere
0
1
Numarul tipului
de intrerupere
0000010100
Adresa in tabela
vectorilor
4
5
6
255
Adrese
memorie
IP
CS
IP
CS
IP
CS
IP
CS
IP
CS
IP
CS
IP
CS
IP
CS
000
004
008
00C
010
014
018
Tabela
vectorilor de
intrerupere
3FE
400
Rutina de
serviciu a
intreruperii
Tip 5
segment_stiva_nou
pointer_stiva_nou
T,I = 1
NMI
Instructiune
NMI (T,I = 1)
Salvare indicatori, CS si Ip
Stergere T si I
Transferul controlului
Pas cu pas (T,I =0)
Salvare indicatori, CS si Ip
Stergere T si I
Transferul controlului
Executia rutinei
de pas cu pas
Revenire (T,I =0)
Executia rutinei
de NMI
Revenire (T,I =1)
Executia instructiunii
urmatoare
Pas-cu-pas
Salvare indicatori, CS si IP
Stergere T si I
Transferul controlului
Functionarea normala
pas-cu-pas
Executia rutinei
de pas-cu-pas
Revenire (T,I =0)
86
T,I = 1
INTR
NMI
Impartire
Depasire
Salvare indicatori, CS si IP
Stergere T si I
Transferul controlului
NMI (T,I =0)
Salvare indicatori, CS si Ip
Stergere T si I
Transferul controlului
INTR activa
Executia rutinei
de NMI
Revenire (T,I =0)
Executia rutinei
dedepasire
Revenire (T,I =1)
INTR
Figura 1.49. Apariia simultan a ntreruperilor NMI, INTR, pas-cu-pas i ntreruperii de depire
87
1.3.6.
1.4.
instruciune dac n coad este disponibil cel puin un octet spre deosebire de
8086 unde trebuie s fie neocupai cel puin doi octei;
T4
T1
T3
TCLCL
VCH
CLK
T2
T4
TW
VCL
TCHCTV
TCHCL
TCLCH
TCH1CH2
TCL2CL1
__ ___
IO/M,SS0
A15A8
TCLDV
TCLAX
A19A16
A19/S6A16/S3
TLHLL
TCLLH
TCHDX
S6S3
TCHLL
ALE
VIH
TR1VCL
VIL
TCLR1X
READY
(Intrare in 8088)
TRYLCL
TCHRYX
TRYHCH
TCLAV
AD7AD0
TCLAZ
TCLAX
Ciclu de citire
___ ____
(WR,INTA="1")
TCHCTV
TCLRH
TRHAV
TCLRL
TCHDTV
_
DT/R
____
DEN
TCLDX
DATA IN
AD7AD0
TAZLR
___
RD
TDVCL
TRLRH
TCVCTX
TCVCTV
90
T4
T1
VCH
CLK
T2
T3
T4
TW
TCLCL
VCL
TCLCH
TCH1CH2
TCLAV
TCL2CL1
TCLDV
TCHDX
TCLAX
AD7AD0
Ciclu de scriere
DATA OUT
AD7AD0
____
DEN
TWHDX
TCVCTV
TCVCTX
TCVCTV
___
WR
TWLWH
TCVCTX
TCLAZ
TDVCL
TCLDX
AD7AD0
Ciclu
____
INTA
Tip
intrerupere
_
DT/R TCHCTV
TCHCTV
____
INTA
TCVCTV
____
DEN
TCVCTV
TCLAV
AD7-AD0
Starea HALT:
____ __ __ ____
DEN,RD,WR,INTA="1"
Adresa
invalida
91
TCVCTX
T1
T3
TCLCL
VCH
CLK
T2
T4
TW
VCL
TCLAV
TCHCL
TCLCH
TCH1CH2
TCL2CL1
QS0, QS1
TCHSV
TCLSH
_ _ __
S2,S1,S0
(exceptand starea HALT)
A15A8
A15A8
TCLAV
TCLAX
TCLDV
A19A16
A19/S6A16/S3
TSVLH
TCLLH
TCHDX
S6S3
TCHLL
ALE(Iesire 8288)
TR1VCL
READY
(Intrare in 8088)
TRYLCL
TCHRYX
TRYHSH
TCLAV
TCLAZ
TCLAX
Ciclu de citire
AD7AD0
Iesiri 8288
TCLRH
TRHAV
TCLRL
TCHDTL
TCHDTH
_
DT/R
TRLRH
TCLML
TCLMH
_____
_____
MRDC sau IORC
DEN
TCLDX
DATA IN
AD7AD0
TAZLR
___
RD
TRYHCH
TDVCL
TCVNV
TCVNX
92
T1
TW
TCHSV
Ciclu de scriere
TCLSH
TCLDV
TCLAV
AD7AD0
DATE
TCVNV
TCVNX
TCLML
_____
_______
AMWC sau AIOWC
_______
_____
MWTC sau IOWC
TCLMH
TCLML
_____
Ciclu INTA
A15A8
TCHDX
AD7AD0
____
DEN
Adresa de
cascada
TCLAZ
_____ _____
MCE / PDEN
TCLMH
TDVCL
AD7AD0
Iesiri
8288
T4
VCL
_ _ __
S2,S1,S0
(exceptand starea HALT)
Iesiri
8288
T3
TCLCL
VCH
CLK
T2
TCLDX
Tip
intrerupere
TCLMCL
TSVMCH
TCLMCH
TCHDTL
TCHDTH
_
DT/R
TCLML
_____
INTA
TCVNV
TCVNX
DEN
Starea HALT:
(DEN="0",
__ ______ _____ _______
RD,MRDC,IORC,MWTC
______ ______ _______
AMWC, IOWC, AIOWC,
____
_
.
INTA , DT/R= "1")
TCLAV
AD7AD0,
A15A8
Adresa invalida
_ _ __
S2,S1,S0
93
TCMH
94
2
SETUL DE INSTRUCIUNI AL
MICROPROCESOARELOR 8086/8088
2
2.1.
Exemple de maini
2
3
2
3
2
3
3
IBM RT-PC
SPARC, MIPS, HP Precision
PDP-10, 68000, IBM 360, 8086
IBM 360 (instruciunile RS)
PDP-11, 32X32,
IBM 360 (instr. SS)
97