prezentare familie x86

Upload: daria-ristea

Post on 08-Feb-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Prezentare Familie x86

    1/97

    1.1. Descrierea generala a procesoarelor x86 pe 16 bit i

    n figurile 1.2 i 1.3 sunt prezentate schemele bloc ale celor dou uniticentrale. Aa cum am spus ambele ncorporeaz dou blocuri de prelucrareseparate, UE i UIM. UE este identicla ambele procesoare, UIM diferind prinaceea c la 8086 ea lucreaz pe o magistral de date de 16 bii cu coad deinstruciuni de 6 octei; la 8088 magistrala este de 8 bii iar coada de 4 octei.

    1

  • 7/22/2019 Prezentare Familie x86

    2/97

    UE are funcia de a executa toate instruciunile, comunicnd prin date iadrese cu UIM i manipulnd registrele generale, indicatorii de condiii iunitatea aritmetic/logic. Cu excepia ctorva conexiuni externe de comand,UE este complet izolat de exteriorul procesorului. UIM are funcia de aexecuta toate ciclurile de acces la magistrala extern, fiind alctuit dinregistrele de segment, registrele de comunicaie intern, pointer-ul deinstruciuni, stiva pentru codul obiect al instruciunii i un sumator specializat.Operaiile pe care le face UIM sunt: obinerea adresei prin adunarea valoriisegmentului cu valoarea deplasamentului, transferarea datelor spre UE pemagistrala de date intern, de 16 bii, a unitii aritmetice/logice, i ncrcarea navans, preextragerea, codurilor obiect ale instruciunilor din memoria sistemului

    n coada de ateptare, de unde vor fi preluate de UE.

    REGISTRE TEMPORARE

    UNITATEARITMETICA-LOGICA

    (UAL)

    INDICATORI DE CONDITII

    AH AL

    BH BL

    CH CL

    DH DL

    SP

    BP

    DI

    SI

    AX

    BX

    CX

    DX

    REGISTREGENERALE

    UNITATEA DEEXECUTIE (UE)

    MAGISTRALADE DATE UAL

    (16 biti)

    LOGICA DECOMANDA

    UE

    MAGISTRALA Q(8 biti)

    CS

    DS

    SS

    ES

    IP

    REGISTRE DE-COMUNICATII-

    INTERNE

    MAGISTRALAADRESE (20 biti)

    MAGISTRALADATE (16 biti)

    COADA DEINSTRUCTIUNI (Q)

    1 2 3 4 5 6

    LOGICA DECOMANDA A

    MAGISTRALEI

    MAGISTRALA8086

    UNITATEA DEINTERFATA CUMAGISTRALA

    (UIM)

    Figura 1.2. Schema bloc a microprocesorului 8086

    UE extrage, atunci cnd este gata sexecute o instruciune, codul obiect

    al acesteia din coada de ateptare, trecnd apoi la execuia ei. n cazul n carecoada de ateptare nu are nici-un octet, UE va atepta pnce UIM va extragecodul din memoria sistemului. Dac n cursul execuiei unei instruciuni estenecesar accesul la o locaie de memorie sau la un portde I/O, UE va face, deasemenea, o cerere ctre UIM pentru ca aceasta sexecute ciclul de magistraldorit.

    Cele doublocuri, UE i UIM, funcioneazindependent. La 8086, daccel puin doi octei din coad sunt liberi i UE nu are nici-o cerere ctre

    2

  • 7/22/2019 Prezentare Familie x86

    3/97

    UIM, aceasta din urmva executa ciclii de extragere n scopul ocuprii ntregiicozi. La 8088, UIM extrage cod obiect atunci cnd coada are cel puin un octetliber. DacUE are nevoie de un acces la magistral i UIM se afl n timpulunui ciclu de extragere, UE va atepta terminarea acestui ciclu nainte de a filuatn considerare cererea.

    REGISTRE TEMPORARE

    UNITATEARITMETICA-LOGICA

    (UAL)

    INDICATORI DE CONDITII

    AH AL

    BH BL

    CH CLDH DL

    SP

    BP

    DI

    SI

    AX

    BX

    CXDX

    REGISTREGENERALE

    UNITATEA DEEXECUTIE (UE)

    MAGISTRALADE DATE UAL

    (16 biti)

    LOGICA DECOMANDA

    UE

    MAGISTRALA Q(8 biti)

    CS

    DS

    SS

    ES

    IP

    REGISTRE DE-COMUNICATII-

    INTERNE

    MAGISTRALAADRESE (20 biti)

    MAGISTRALADATE (8 biti)

    COADA DEINSTRUCTIUNI (Q)

    1 2 3 4

    LOGICA DECOMANDA A

    MAGISTRALEI

    MAGISTRALA8088

    UNITATEA DEINTERFATA CUMAGISTRALA

    (UIM)

    Figura 1.3. Schema bloc a microprocesorului 8088

    Registrele programabile ale microprocesorului 8086 sunt nfiate nfigura 1.4. Prezentm n continuare registrele n legtur cu modurile deadresare ale lui 8086 deoarece multe din acestea sunt utilizate de logica deadresare a memoriei.

    AX este acumulatorul principal utilizat, de exemplu, de instruciunile deI/O care transferdatele de obicei prin intermediul acestui registru. BX poate fifolosit att ca acumulator ct i ca registru bazpentru calcularea adreselor dememorie. CX poate fi acumulator sau se utilizeaz ca numrtor n execuiainstruciunilor iterative. DX poate fi folosit ca acumulator sau ca registrunumrtor pentru adresarea zonelor de memorie n transferuri cu port-urile deintrare/ieire.

    3

  • 7/22/2019 Prezentare Familie x86

    4/97

    AH

    SP

    Un registru de 16 biti

    AL (sau A)

    BH BL

    CH CL

    DH DL

    B,C

    H,L

    D,E

    7 0 7 0

    15 0

    Doua registre de 8 biti

    AX(=AH,AL) Registru acumulator principal

    BX(=BH,BL) Registru acumulator si baza

    CX(=CH,CL) Registru acumulator /numarator

    DX(=DH,DL) Registru acumulator /numarator /date I/E

    Numele registrelor de 16 biti

    Numele registrelor de 8 biti

    A

    15 0 Numerotarea bitilor

    Pointer stiva (SP)Pointer baza (BP)

    Index sursa (SI)

    Index destinatie (DI)

    PC Numarator program (PC)

    Segment cod (CS)

    Segment date (DS)

    Segment stiva (SS)

    Segment extern (ES)

    Registru de segment

    Numeleregistrelor

    8080echivalente

    Starea

    Registrele hasurate au echivalent 8080

    Figura 1.4. Registrele programabile ale microprocesorului 8086

    Adresele de memorie pe 20 de bii, generate de 8086, se calculeazprinnsumarea coninutului unui registru de segment cu o adresefectiv. Adresaefectiv se calculeaz printr-o varietate de moduri de adresare ca i la altemicroprocesoare. Registrul de segment selectat este nti deplasat la stnga cu

    patru poziii i apoi adunat cu adresa efectiv, generndu-se o adresde 20 debii:

    Coninutul registrului de segment: SSSS SSSS SSSS SSSS 0000+

    Adresa efectivde memorie: 0000 EEEE EEEE EEEE EEEE

    Adresa de memorie pe 20 de bii: SSSM MMMM MMMM MMMM MMMMRegistrele de segment sunt folosite deci ca registre de bazcare pot puncta oricelocaie de memorie aflat la o adres multiplu de 16. Fiecare registru desegment identific nceputul unei zone de memorie, al unui segment, de 64

    4

  • 7/22/2019 Prezentare Familie x86

    5/97

    koctei. Deoarece 8086 are patru registre de segment n orice moment, dinntreaga memorie vor fi selectate numai patru segmente de cte 64 koctei. Nuse impune nici-o restricie asupra coninutului registrelor de segment, ceeanseamn 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 mpritn pagini de 64 koctei, ci adresat

    pe segmente care pot fiseparatesausuprapuse.

    SP

    J , J , J , J

    DI

    SI

    PC

    15 0

    Adresa destinatieBP

    K, K, K, K

    CS

    M, M, M, M

    ESSS

    15 0

    DS

    N, N, N, N

    0 K K K K

    N N N N 0

    R R R R K Adresa pe 20 de biti

    0 J J J J

    Adresa sursa

    M M M M 0

    S S S S J Adresa pe 20 de biti

    Figura 1.5. Calculul adresei de memorie pentru instruciuni pe iruri de date

    Cele patru registre de segment ndeplinesc funcii de adresare diferite:n funcie de tipul accesului la memorie,cod, date, stivi extern , calcululadresei folosete registrul de segment asociat. Astfel la o extragere deinstruciune, numrtorul de program, PC, este adunat cu coninutul registruluide segment de cod, CS. La orice instruciune de lucru cu stiva, de tip Push, Pop,

    Call sau Return, adresa de memorie se calculeazadunnd coninutul pointer-ului de stiv, SP, cu coninutul registrului de segment de stiv, SS. Lainstruciunile pe iruri de date pentru calculul adreselor sursi destinaie suntutilizate registrele index SI i DI mpreuncu registrele de segment DS i ES,figura 1.5. Observm cpentru aceste instruciuni este necesar ca irurile sursi destinaie sfie plasate fiecare n cadrul unui singur spaiu de adresare de 64koctei, nu neaprat acelai. Instruciunile care acceseazdate calculeazadresa

    prin adunarea adresei efective cu coninutul registrelor de segment DS sau SS.

    5

  • 7/22/2019 Prezentare Familie x86

    6/97

    Dm n tabelul 1.1 o prezentare sintetica modurilor de calculare a adresei dememorie.

    Tabelul 1.1. Calculul adreselor de memorie

    Referinade memorie

    Registrulde segment

    Registrulbaz

    Registrulindex

    Deplasament pe 16bii, frsemn

    Deplasament pe 8bii, semn extern

    Frdeplasament

    DS SI 2 (CS, SS, ES)1 DI

    SI BX DI

    Date DS SS SI

    (CS, DS, ES)1 BP DI

    Stiv SS SP iruri DS SI

    ES DIExtragere

    instruciuneCS PC

    Salt CS PC Date I/O DS DX

    Note: 1. Depirea segmentului permite nlocuirea registrelor de segment DS sau SS cuunul din celelalte registre.2. semnificdeplasamentele care pot fi utilizate la calculul adresei

    Vom prezenta nti opiunile de adresare a datelor. Cea mai simpladresare este cea direct. n acest caz registrul DS este adunat cu un offsetsaudeplasament pe 16 bii dat de doi octei din codul obiect al instruciunii. Dacsefolosesc registrele index SI sau DI, prin adunarea coninutului unuia din acesteacu coninutul registrului DS se obine o adresare implicit. Prin adugareadeplasamentului, de 16 sau 8 bii, obinem o adresare direct indexat. Dac

    deplasamentul e pe 8 bii atunci cel mai semnificativ bit, semnul, se extinde penc 8 bii, mai semnificativi, pentru a forma un deplasament pe 16 bi i, deexemplu:

    Deplasament: 1010 1101Semn extins: 1111 1111 1010 1101 sauDeplasament: 0101 1010Semn extins: 0000 0000 0101 1010

    6

  • 7/22/2019 Prezentare Familie x86

    7/97

    Adresa mai poate fi calculat i prin utilizarea unui registru-bazobinndu-se o adresare relativ. Pentru adresarea relativ a datelor se potutiliza dou registre de baz, BX i BP, adresele gsindu-se n segmentul DS,

    pentru date, i, respectiv, n segmentul SS, pentru stiv. n primul fel deadresare relativ cu baz a datelor, coninutul registrului BX este adunat laadresa efectiv calculat n unul din modurile exemplificate mai sus. Putemavea deci trei feluri de adresri relative: directe, implicite sau directe indexate.n al doilea fel de adresare, calculul adresei se face adunnd la adresa efectivconinutul registrului de segment SS.

    n legturcu utilizarea registrelor generale ca registre de bazatragemaici atenia asupra unui mod de adresare a dispozitivelor de I/O prin intermediulregistrului DX. n acest mod de adresare coninutul registrului DX este plasat pemagistrala de adrese fra fi adunat cu vreun registru de segment. Acesta estesingurul mod de adresare n care coninutul unui registru este scos direct pemagistralca adresfra fi n prealabil prelucrat n logica de segmentare.

    Toate instruciunile de salt condiionat utilizeaz adresarea relativ laprograme, cu registru de baz PC, permindu-se astfel generarea unui codrelocabil. Deplasamentul pe 8 bii reprezintun numr binar cu semn cuprins ngama (128, +127).

    Pentru instruciunile de salt necondiionat i de apel sunt folosite treimoduri de adresare: adresare relativ la program, registru de baz PC, cudeplasament pe 8 sau 16 bii; adresare direct; adresare indirect. n adresareaindirectse utilizeazuna din formele de adresare descrise mai sus pentru a citidin memorie o nou adres de memorie. Exist dou opiuni de adresareindirect: una n care cuvntul de 16 bii citit din memorie e ncrcat n PC iinstruciunea de salt sau apel adreseaz o locaie de memorie din cadrulsegmentului CS curent; cealaltn care se citesc doucuvinte de 16 bii pentru afi ncrcate n PC, respectiv CS i care permite adresarea oricrei locaii dinspaiul de memorie al microprocesorului.

    n figura 1.6 dm structura registrului de stare al microprocesorului8086 coninnd indicatorii de condiii.

    Indicatorul Transport, C sau CF, este inversat indicnd de fapt unmprumut: dupo scdere, realizatde procesor n complement fade 2, acest

    bit va fi pus pe "1" dacnu a existat transport la bitul cel mai semnificativ i puspe "0" daca existat un transport.

    IndicatorulParitate, P sau PF, este pus pe "1" dacrezultatul conine unnumr par de "1" i pe "0" dacrezultatul operaiei are un numr impar de "1"-uri.

    Indicatorul Zero, Z sau ZF, este standard fiind pus pe "1" dacrezultatul operaiei e zero i pe "0" dacrezultatul nu este zero.

    7

  • 7/22/2019 Prezentare Familie x86

    8/97

    Indicatorul Semn, S sau SF, este pus pe "1" dacrezultatul unei operaiieste negativ avnd bitul cel mai semnificativ "1" i pus pe "0" dac rezultatuleste pozitiv.

    IndicatorulDirecie, D sau DF, determindacoperaiile pe iruri vorincrementa sau decrementa registrele index. DacDirecie este "1" atunciconinuturile registrelor SI i DI vor fi decrementate, irurile fiind accesatencepnd cu adresele cele mai mari. Dac indicatorul este "0" coninutulregistrelor SI i DI va fi incrementat, irurile fiind accesate ncepnd cu adreselecele mai mici.

    Indicatorul Validare/Invalidare ntrerupere, I sau IF, trebuie sfie "1"

    pentru a valida ntreruperile i "0" pentru a le invalida (cu excepia NMI).IndicatorulDerut, T sau TF, face ca microprocesorul 8086 sintre n

    modul de lucru "pas-cu-pas" i este strns legat de sistemul de ntreruperi (vezi1.4.5.1 i 2.3.6).

    IndicatorulDepire, O sau OF este, de asemenea, legat de sistemul dentreruperi i de execuia instruciunii INTO.

    Indicatorul Transport Auxiliar, A sau AF indic, dup o operaie, untransport din bitul 3 n 4.

    SP

    15

    Biti rezervati, normal pe 0

    -

    1413

    - - -

    12

    O

    11

    D

    10

    I

    9

    T

    8

    S

    7

    Z

    6

    -

    5

    A

    4

    -

    3

    P

    2

    -

    1

    C

    0 Bitul

    Registrul de stare

    Transport

    Paritate

    Transport auxiliar

    Zero

    Semn

    DerutaValidare/invalidare Intrerupere

    Directie

    Depasire

    Figura 1.6. Registrul de stare

    8

  • 7/22/2019 Prezentare Familie x86

    9/97

    1.2. CONEXIUNILE EXTERNE

    Microprocesoarele 8086 i 8088 sunt fabricate n capsule DIL cu 40 deconexiuni externe. Aceste conexiuni sunt indicate n figurile 1.7 i 1.8. Vomdescrie n continuare semnificaiile lor.

    40

    8086CPU

    39

    VCC

    AD15

    38

    37

    A16/S3

    A17/S4

    36 A18/S5

    35 A19/S6

    34___BHE/S7

    33 ___MN/MX

    32__RD

    31 HOLD

    30 HLDA

    29__WR

    28 __M/IO

    27 _DT/R

    26___DEN

    25 ALE

    24___INTA

    23

    ____

    TEST

    22 READY

    21 RESET

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    GND

    AD14

    AD13

    AD12

    AD11

    AD10

    AD 9

    AD 8

    AD 7

    AD 6

    AD 5

    AD 4

    AD 3

    AD 2

    AD 1

    AD 0

    NMI

    INTR

    CLK

    GND

    MOD MINIM

    40

    8086CPU

    39

    VCC

    AD15

    38

    37

    A16/S3

    A17/S4

    36 A18/S5

    35 A19/S6

    34___BHE/S7

    33 ___MN/MX

    32__RD

    31

    __ ___

    RQ/GT0

    30__ ___RQ/GT1

    29 ____LOCK

    28__S2

    27__S1

    26__S0

    25 QS0

    24 QS1

    23

    ____

    TEST

    22 READY

    21 RESET

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    GND

    AD14

    AD13

    AD12

    AD11

    AD10

    AD 9

    AD 8

    AD 7

    AD 6

    AD 5

    AD 4

    AD 3

    AD 2

    AD 1

    AD 0

    NMI

    INTR

    CLK

    GND

    MOD MAXIM

    Figura 1.7. Conexiunile externe ale microprocesorului 8086

    9

  • 7/22/2019 Prezentare Familie x86

    10/97

    40

    8088CPU

    39

    VCC

    A15

    38

    37

    A16/S3

    A17/S4

    36 A18/S5

    35 A19/S6

    34___SS0

    33 ___MN/MX

    32__RD

    31 HOLD

    30 HLDA

    29__WR

    28 __IO / M

    27 _DT/R

    26___DEN

    25 ALE

    24 ___INTA

    23____TEST

    22 READY

    21 RESET

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    GND

    A14

    A13

    A12

    A11

    A10

    A 9

    A 8

    AD 7

    AD 6

    AD 5

    AD 4

    AD 3

    AD 2

    AD 1

    AD 0

    NMI

    INTR

    CLK

    GND

    MOD MINIM

    40

    8088CPU

    39

    VCC

    A15

    38

    37

    A16/S3

    A17/S4

    36 A18/S5

    35 A19/S6

    34 HIGH

    33 ___MN/MX

    32__RD

    31 __ ___RQ/GT0

    30__ ___RQ/GT1

    29______LOCK

    28__S2

    27__S1

    26__S0

    25 QS0

    24 QS1

    23____TEST

    22 READY

    21 RESET

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    GND

    A14

    A13

    A12

    A11

    A10

    A 9

    A 8

    AD 7

    AD 6

    AD 5

    AD 4

    AD 3

    AD 2

    AD 1

    AD 0

    NMI

    INTR

    CLK

    GND

    MOD MAXIM Figura 1.8. Conexiunile externe ale microprocesorului 8088

    1.2.1. CONEXIUNILE EXTERNE ALE MICROPROCESORULUI

    8086

    1.2.1.1. Semnalele comune modurilor de lucru minim i maxim

    AD15AD0, Address/Data Bus, magistrala de adrese/date, intrri/ieiri3-stri active pe "1". Pe aceste linii sunt multiplexate n timp adresele dememorie (cei mai puin semnificativi 16 bii) sau de I/O, n starea T1, i

    10

  • 7/22/2019 Prezentare Familie x86

    11/97

    magistrala de date, n strile T2, T3, TW, T41. Multiplexarea magistralelor afost impusde necesitatea de a mpacheta microprocesorul ntr-o capsulde 40de conexiuni. AD0, ca adresA0, are pentru selecia octetului de date mai puinsemnificativ, D7D0, aceeai funcie ca i semnalul BHE , descris mai jos;

    pentru octetul mai semnificativ, D15D8, A0 este "0" n timpul strii T1, latransferarea unui octet de date pe poriunea mai puin semnificativ amagistralei, n operaii cu memoria sau cu dispozitivele de I/O. AD15AD0sunttrecute n starea a treia, de impedannalt, n timpul operaiilor de achitare antreruperii i a cererii de preluare a magistralei.

    A19/S6A16/S3, Address/Status, adrese/stri, ieiri 3-stri. n timpulstrii T1 reprezintcei mai semnificativi bii de adresn operaiile cu memoria;

    n operaiile de I/O aceste semnale sunt "0". Pentru ambele tipuri de opera ii, petimpul strilor T2, T3, TW i T4, la aceste ieiri se gsete o parte din stareamicroprocesorului: S6=0, indicnd c 8086 acceseaz magistrala, S5=I,Validare/Invalidare ntrerupere, actualizat la nceputul fiecrei perioade aceasului CLK, iar S4i S3preciznd ce registru de relocare, DS, CS, SS sau ES,va fi utilizat n acel moment pentru accesarea datelor. Semnifica ia biilor destare S4i S3este urmtoarea:

    A17/S4 A16/S3 Semnificaie

    0 0 Date externe (relativ la segmentul din ES)0 1 Stiv(relativ la segmentul din SS)1 0 Cod sau nimic (relativ la segmentul din CS sau

    o valoare n lips"0")1 1 Date (relativ la segmentul din DS)

    Informaia de stare este necesar n aciunile de diagnosticare astructurilor realizate n jurul procesorului 8086. S4 i S3 mai pot fi utilizai

    pentru selecia bancurilor de memorie asociate fiecare cte unui registru desegment. Aceasttehnicpermite partajarea memoriei n funcie de segment nvederea expandrii ei peste spaiul de adresare direct de 1 Moctet. Deasemenea, n acest fel, se asiguro posibilitate de protecie n cazul operaiiloreronate de scriere prin suprapunere n dousegmente i distrugerea informaiein unul dintre segmente. Conexiunile A19/S6A16/S3 sunt trecute n starea atreia n timpul operaiei de achitare a unei cereri de preluare a magistralei

    microprocesorului.BHE /S7,Bus High Enable/Status, validare octet mai semnificativ/stare.

    Ieire 3-stri. n timpul strii T1 ieirea BHE are funcia de a selecta transferuldatelor pe poriunea mai semnificativa magistralei de date, biii D15D8, fiind"0" n T1 timpul ciclilor de citire, scriere i ntrerupere. BHE poate fi utilizat laselecia dispozitivelor de I/O pe 8 bii conectate pe poriunea mai semnificativ

    1Descrierea strilor T este datn 1.4.1

    11

  • 7/22/2019 Prezentare Familie x86

    12/97

    a magistralei de date. Bitul de stare S7este validat n timpul strilor T2, T3 iT4. Conexiunea este trecutn starea a treia n timpul unei operaii de preluare amagistralei.

    MN MX/ , Minimum/Maximum, comanda modului de lucruminim/maxim. Intrare. Dac MN MX/ este conectat la "0" microprocesorultrateazconexiunile 2431 n modul maxim, pentru care un circuit specializat

    pentru comanda magistralei, 8288, interpreteaz biii de stare S2 , S1 i S0 pentru a genera semnale de comand compatibile cu standardul de interfaMultibus. Pentru MN MX/ conectat la +5V, modul minim, 8086 genereazsingur, la conexiunile 2431, semnalele de comand. n 1.4.2 i 1.4.3 se daudouexemple de utilizare a procesorului 8086 n modurile minim i maxim.

    RD , Read, citire. Ieire 3-stri activ pe "0". Comand de citireindicnd cprocesorul efectueazun ciclu de citire memorie sau I/O, funcie destarea conexiunii S2 ( M IO/ ). RD este activat pe "0" n timpul strilor T2, T3i TW ale oricrui ciclu de citire, dup trecerea n starea a treia a magistraleilocale a microprocesorului. Conexiunea este trecut n starea de impedannaltn timpul unei operaii de preluare a magistralei.

    READY, gata. Intrare activpe "1". Reprezint, n timpul unei operaiide scriere sau citire, un semnal de achitare din partea memoriei saudispozitivului de I/O adresat, certificnd validitatea transferului de date cumicroprocesorul. Semnalul de achitare emis de memorie sau de I/O trebuie sfie sincronizat pentru a putea fi utilizat n mod corect de procesor prin

    satisfacerea timpilor de set-upi hold. Aceastsincronizare se face cu ajutorulunui alt circuit specializat necesar n sistemele cu 8086: generatorul de ceas8284.

    INTR,Interrupt Request, cerere ntrerupere. Intrare activpe nivel "1".Procesorul eantioneaz aceast intrare sincronizat intern n ultimul ciclu deceas al fiecrei instruciuni, pentru a intra, dac INTR=1, ntr-o operaie deachitare a ntreruperii. La achitarea ntreruperii se va apela o subrutinpe bazaunei tabele de vectori localizate n memoria sistemului. ntreruperea poate fimascatintern prin program punnd pe "0" bitul de validare a ntreruperii.

    TEST , intrare activ pe "0". Aceast intrare, sincronizat intern cufrontul pozitiv al fiecrui impuls de ceas CLK, este examinatde instruciuneaWAIT: dac intrarea este "0", microprocesorul i continuexecuia, daceste

    "1", va atepta intrnd n aa-numita stare inactiv, TI, executatn general deUIM atunci cnd nu poate sexecute un ciclu de magistral(vezi 1.4.1).

    NMI, Non-Maskable Interrupt, ntrerupere nemascabil. Intrare activpe front pozitiv producnd la sfritul instruciunii n curs o ntrerupere de tipul2 (vezi 1.4.5.1). Achitarea acestui tip de ntrerupere conduce la apelarea uneisubrutine pornind de la o tabel de vectori aflat n memorie. Intrarea estesincronizatintern i nu poate fi mascatprin program.

    12

  • 7/22/2019 Prezentare Familie x86

    13/97

    RESET, iniializare. Intrare activ pe "1". Semnalul aplicat la aceastconexiune este sincronizat intern i, daceste activ cel puin patru perioade deceas, conduce la terminarea activitii curente a microprocesorului iiniializarea execuiei duprevenirea lui pe "0".

    CLK, Clock, ceas. Intrare ce asigur funcionarea sincron amicroprocesorului i a controlorului de magistral. Factorul de umplere alceasului este 33%.

    1.2.1.2. Semnalele specifice modului de lucru minim

    Aa cum am menionat n 1.1, una dintre caracteristicile cele maiinteresante ale microprocesoarelor 8086/8088 este i posibilitatea de a selectaconfiguraia de baz a mainii, modul de lucru cel mai potrivit aplicaiei, princonectarea la VCCsau GNDa intrrii MN MX/ .

    n modul minim, 8086 permite realizarea de uniti centrale mairestrnse ca volum, satisfcnd zona aplicaiilor pe 16 bii mici i medii. nacest mod de lucru procesorul i menine capacitatea de adresare a memoriei de1M, a I/O de 64k, precum i magistrala de 16 bii, genernd conexiunile 2431direct, fr ajutorul unui circuit de comand specializat. Sunt toate semnalelenecesare manipulrii magistralelor, DT R/ , DEN , ALE, M IO/ , semnalele decomand pentru operaiile de citire, scriere, achitarea ntreruperii, RD , WR,

    INTA , precum i semnalele HOLD, HLDA necesare operaiilor simple detransfer cu acces direct implementate cu ajutorul controloarelor DMA obinuite,de exemplu 8257 (vezi i [9]).

    n continuare, vom descrie, pe scurt, semnificaia conexiunilor 2431ale circuitului 8086 n modul de lucru minim.

    M IO/ , Memory/Input-Output, memorie/intrare-ieire. Ieire 3-striutilizat pentru a distinge accesele la memorie, M IO/ =1, de cele ladispozitivele de I/O, M IO/ =0. Ieirea este validat n starea T4 precedentunui ciclu de magistral rmnnd activ pn la sfritul strii T4 a cicluluicurent. Ieirea, echivalentcu S2 n modul maxim, este trecutn starea a treian ciclii de achitare a cererii de preluare a magistralei microprocesorului.

    WR, Write, scriere. Ieire 3-stri activ pe "0" ce indic faptul c

    procesorul executun ciclu de scriere a memoriei sau a I/O. Ieirea este activn strile T2, T3 i TW, fiind trecut n starea de impedan nalt n ciclii deachitare a cererii de preluare a magistralei microprocesorului.

    INTA , Interrupt Aknowledge, achitare ntrerupere. Ieire activpe "0"utilizat pentru generarea unui semnal de eantionare a citirii n ciclii deachitare a ntreruperii. Ieirea INTA este activn timpul strilor T2, T3 i TWale fiecrui ciclu de ntrerupere.

    13

  • 7/22/2019 Prezentare Familie x86

    14/97

    ALE, Address Latch Enable, validarea latch-urilor de adrese. Ieireactivpe "1" utilizatpentru memorarea adreselor generate de microprocesor pemagistrala multiplexatlocaln latch-urile de adrese ale sistemului.

    DT R/ , Data Transmit/Receive, trasmisie/recepie date. Ieire utilizatpentru comanda direciei transceiver-elor de date: transmisie pentru DT R/ =1,recepie pentru DT R/ =0, sensul fiind raportat la microprocesor. Ieirea estetrecut n starea a treia n timpul ciclilor de achitare a cererii de preluare amagistralei.

    DEN , Data Enable, validare date. Ieire 3-stri activ pe "0" folositpentru validarea transceiver-elor de date. Este "0" n timpul operaiilor cu

    memoria i cu dispozitivele de I/O precum i n timpul ciclilor de achitarentrerupere ( INTA ), pentru citiri (i INTA ) de la mijlocul lui T2 la mijlocul luiT4, iar pentru scrieri de la nceputul lui T2 la mijlocul lui T4. Ieirea este trecutn starea de impedan mare n timpul ciclilor de achitare a unei cereri de

    preluare a magistralei.

    HOLD, cerere de preluare a magistralei microprocesorului. Intrareactivpe "1".

    HLDA, achitare a cererii de preluare a magistralei. Ieire activpe "1".

    Dup recepionarea unei cereri HOLD microprocesorul va activa, lamijlocul strii T1, semnalul de achitare HLDA, trecnd n acelai timp n starea

    a treia magistrala local (AD15AD0, A19/S6A16/S3) i ieirile de comand( RD , BHE /S7, M IO/ , DT R/ , WR, DEN ). La terminarea operaiei detransfer direct dispozitivul care a activat semnalul HOLD l va dezactivatrecndu-l pe "0", dupcare procesorul va dezactiva la rndul lui semnalul deachitare HLDA. Magistrala local i ieirile de comand vor fi activate cndmicroprocesorul va avea nevoie sexecute un ciclu de magistral. Menionmcintrarea HOLDnu este asincroni c, pentru asigurarea timpului de set-up,este necesarsincronizarea extern.

    1.2.1.3. Semnalele specifice modului de lucru maxim

    n acest mod de lucru, obinut prin legarea conexiunii MN MX/ laGND, 8086 permite implementarea configuraiilor multiprocesor i/sau cuplarea

    procesoarelor pentru extinderea setului de instruciuni, a coprocesoarelor. nmodul maxim este necesar folosirea controlorului de magistral 8288 pentruca, prin redefinirea conexiunilor 2431, s se obin aceast cretere a

    performanelor.

    14

  • 7/22/2019 Prezentare Familie x86

    15/97

    RQ GT1/ , RQ GT0/ , Request/Grant Bus Access Control, comenzi decerere/achitare a accesului la magistrala microprocesorului. Intrri/ieiri active

    pe "0" folosite de alte dispozitive de tip master, aflate pe magistrala local,pentru a fora microprocesorul s elibereze aceast magistral la sfritulciclului n curs. Aceste conexiuni sunt prevzute cu rezistene interne legate laVCC, ceea ce permite s fie lsate n gol. RQ GT0/ este prioritar fa de

    RQ GT1/ .

    LOCK, blocare. Ieire 3-stri activpe "0". Indiccelorlalte dispozitivede tip masteraflate pe magistrala locala microprocesorului, cnu pot prelua

    aceast magistral atta timp ct LOCK=0. Ieirea este activat de oinstruciune cu prefix LOCK rmnnd activ nc o perioad de ceas dupexecuia acestei instruciuni cu prefix. Ieirea este trecut n starea a treia petimpul ciclurilor de achitare a unei cereri de preluare a magistralei.

    S2 S0 , Status, stare. Ieiri 3-stri active n timpul strilor T4, T1 i T2i inactive, n starea pasiv(1,1,1) n timpul strilor T3 i TW dacsemnalul dela conexiunea READYeste "1". Starea S2 S0 este folositde controlorul 8288

    pentru a genera semnalele de comand necesare n operaiile de acces lamemorie sau la I/O. Orice schimbare a acestor semnale n timpul strii T4indic nceputul unui ciclu de magistral, revenirea n starea pasiv n T3 sauTW indicnd sfritul ciclului de magistral. Semnificaia ieirilor S2 S0 este

    urmtoarea:

    S2 S1 S0 Semnificaie

    0 0 0 Achitare ntrerupere0 0 1 CitireportI/O0 1 0 ScriereportI/O0 1 1 Oprire (Halt)1 0 0 Citire instruciune1 0 1 Citire memorie1 1 0 Scriere memorie1 1 1 Stare pasiv(nici-un ciclu de magistral)

    Conexiunile S2 S0 sunt trecute n starea a treia n timpul ciclurilor deachitare a unei cereri de preluare a magistralei.

    QS1, QS0, Queue Status, starea cozii de instruciuni. Ieiri validate nciclul de ceas urmtor unei operaii cu stiva. Aceste ieiri permit urmrirea dinexterior a execuiei instruciunilor avnd, atunci cnd sunt validate, urmtoareasemnificaie:

    15

  • 7/22/2019 Prezentare Familie x86

    16/97

    QS1 QS0 Semnificaie

    0 0 Nici o operaie

    0 1 Extragerea primului octet al codului-operaie

    1 0 Coada goal(nici un octet n coad)

    1 1 Extragerea octetului urmtor al codului-operaie

    1.2.2. CONEXIUNILE EXTERNE ALE MICROPROCESORULUI8088

    Precizm n acest subcapitol numai conexiunile a cror semnificaiediferde cea a microprocesorului 8086, prezentatn 1.3.1.

    1.2.2.1. Semnalele comune modurilor de lucru minim i maxim

    AD7AD0, Address/Data Bus, magistral de adrese/date. Difer demagistrala multiplexata procesorului 8086 numai prin mrimea de 8 bii fade 16.

    A15A8, Address Bus, magistralde adrese. Ieiri 3-stri reprezentndbiii 815 ai adresei. Spre deosebire de AD15AD8, aceti bii nu mai suntmultiplexai nefiind necesarmemorarea lor n latch-uri cu ajutorul semnaluluiALE. A15A8 rmn valizi pe durata ntregului ciclu de magistral, strileT1T4.

    Conexiunile MN MX/ , RD , READY, INTR, TEST , NMI, RESET, CLKau aceleai semnificaii cu cele ale microprocesorului 8086.

    1.2.2.2. Semnalele specifice modului de lucru minim

    IO M/ , Input-Output/Memory, intrare-ieire/memorie. Ieire 3-strisemnificnd pentru IO M/ =1 un ciclu de I/O iar pentru IO M/ =0 un ciclu dememorie. Activarea acestei ieiri respect aceleai relaii de timp ca i ieireaM IO/ a lui 8086.

    SS0 , S0Status, starea S0. Ieire 3-stri echivalentcu bitul de stare S0din modul maxim. mpreun cu IO M/ i DT R/ , ultima conexiune avndaceeai semnificaie ca i la 8086, codificstarea ciclului de magistraln curs:

    16

  • 7/22/2019 Prezentare Familie x86

    17/97

    IO M/ DT R/ SS0 Semnificaie

    1 0 0 Achitare ntrerupere1 0 1 CitireportI/O1 1 0 ScriereportI/O1 1 1 Oprire (Halt)0 0 0 Citire instruciune0 0 1 Citire memorie0 1 0 Scriere memorie0 1 1 Stare pasiv

    Celelalte conexiuni specifice modului minim de lucru almicroprocesorului 8088, WR, INTA , ALE, DEN , HOLD i HLDA, rmn cuaceleai funcii ca la 8086.

    1.2.2.3. Semnalele specifice modului de lucru maxim

    Semnalele specifice modului de lucru maxim al microprocesorului8088, S2 , S1 , S0 , RQ GT1/ , RQ GT0/ , LOCK, QS1i QS0 sunt aceleai cuale microprocesorului 8086 n modul maxim. Conexiunea SS0 este "1" n acestmod de lucru.

    1.3. FUNCIONAREA MICROPROCESORULUI 8086

    Vom descrie n cele ce urmeaz funcionarea microprocesorului 8086din punct de vedere al utilizrii lui hardware.

    1.3.1. CICLII DE MAGISTRALAI MICROPROCESORULUI8086. PREZENTARE GENERAL

    8086 comunic cu exteriorul prin intermediul unei magistrale de

    comenzi i a unei magistrale multiplexate n timp de adrese, stri i date. Aacum am menionat, tehnica multiplexrii n timp a permis, atunci cnd a fostdezvoltat circuitul, utilizarea cea mai eficient a celor 40 de conexiuniexterioare ale capsulei n care s-a mpachetat microprocesorul. Aceastmagistral multiplexat, denumit i magistral local, poate fi amplificatdirect i condusn sistem, latch-area, memorarea adresei fcndu-se distribuitn modulele de memorie sau de I/O. O altabordare este cea a demultiplexriiunice a adreselor i datelor lng procesor, cu ajutorul unui singur grup de

    17

  • 7/22/2019 Prezentare Familie x86

    18/97

    latch-uri pentru adrese i a transceiver2-elor pentru date. Microprocesorulextrage cod sau transfer date executnd aa numiii cicli de magistral. Unciclu de magistral poate fi definit ca un eveniment asincron n care nti sevalideaz o adres, a unei locaii de memorie sau a unui dispozitiv periferic,apoi se genereazfie un semnal de comanda citirii, pentru capturarea datelorde la dispozitivul adresat, fie un semnal de comand a scrierii asociat cuemiterea datelor ce trebuie transmise dispozitivului adresat. Observmntrebuinarea termenului ciclu de magistraln locul mai vechiului termen ciclumainfolosit n descrierea funcionrii unor procesoare pe 8 bii ca 8080 sauZ80. Ciclii de magistral trebuie nelei ca grupuri de perioade de ceasreprezentnd activitatea extern a microprocesorului fr a avea o legtur

    expliciti ordonatcu execuia curenta unei instruciuni aa cum aveau cicliimain(vezi de exemplu ciclii M1, M2, M3ai unui ciclu-instruciune Z80 [9]).n figura 1.9 este nfiat diagrama de baz reprezentnd ciclii de citire iscriere pe care i executmicroprocesorul pe magistrala sa de comunicaie cuexteriorul. Aceast diagram va fi detaliat n capitolele urmtoare pentrumodurile de lucru minim i maxim.

    Orice ciclu de magistral, TCY, are cel puin patru perioade de ceas,numitestri T. n timpul primei stri T, T1, procesorul valideazadresa A19A0

    pe magistrala multiplexat. Tot acum se genereazsemnalul ALE, de ctre 8086sau de controlorul de magistral 8288, n funcie de modul de lucru. Acestsemnal servete memorrii adresei n circuite de tip latch, de exemplu 74LS373sau 8282, pe frontul negativ al acestui impuls garantndu-se validitatea adresei.

    A doua stare, T2, este destinat schimbrii direciei magistralei,microprocesorul invalidnd adresa i, pentru un ciclu de citire, trecndmagistrala, cei mai puin semnificativi 16 bii, n starea a treia, iar pentru unciclu de scriere validnd datele. Transceiver-ele de date sunt validate, cuajutorul semnalului DEN, n T1 sau T2, n funcie de configuraia sistemului idirecia transferului. Tot n T2 sunt generate i comenzile de citire, RD ,scriere, WR sau achitare ntrerupere, INTA , precum i starea S7S3 n locul

    biilor de adresA19A16i a semnalului BHE .n T3, pentru un ciclu de scriere, microprocesorul menine biii de stare

    i datele ce trebuie transmise, iar n cazul unui ciclu de citire 8086 eantioneazdatele pstrnd RD =0. Dacmemoria sau dispozitivul de I/O selectat nu sunt

    capabile s asigure transferul datelor pn n T4 ele trebuie s avertizeze deacest lucru procesorul poziionnd, nainte de T3, semnalul READYpe "0". nacest fel ciclul de magistral se prelungete prin introducerea de ctremicroprocesor, ntre T3 i T4, a unor stri de ateptare TW al cror numrdepinde de timpul necesar dispozitivului adresat pentru a asigura transferul.Activitatea procesorului pe magistraln timpul unei stri TW este aceeai ca n

    2Circuite amplificatoare bidirecionale cum sunt, de exemplu, 8286 sau 74LS245

    18

  • 7/22/2019 Prezentare Familie x86

    19/97

    T3. Ieirea din strile TW se face la iniiativa dispozitivului, dup trecereatimpului necesar asigurrii corectitudinii transferului de date, prin trecereasemnalului READYpe "1".

    Un ciclu de magistral se termin cu starea T4 prin dezactivareacomenzilor i eliberarea magistralei locale.

    CLK

    ALE

    __ __S2S0

    Adrese/Stari

    Adrese/Date

    __ ____RD,INTA

    READY

    __DT/R

    ____DEN

    T1 T2 T3 TWAIT T4

    (4+NWAIT)=TCY

    Citire

    T1 T2 T3 TWAIT T4

    (4+NWAIT)=TCY

    Scriere

    ___BHE/A19A16

    S7S3___BHE/A19A16

    S7S3

    Inactive in stareaprecedenta starii T4

    A15A0

    Rezervare a magistraleipentru intrare date

    A15A0Iesire dateD15D0

    D15D0valide

    WAIT

    READY

    WAIT

    READY

    ___WR

    Timp acces memorie

    Figura 1.9. Ciclii de magistralai microprocesorului 8086. Diagrama de baz

    19

  • 7/22/2019 Prezentare Familie x86

    20/97

    T1 T2 T3CLK

    T4 T1 T2 T3 T4 T1 T2 T3 T4 T1 T2 T3 T4

    UE solicita unoctet de codobiect. Stiva fiindgoala UIMexecuta un ciclude magistrala

    UE calculeaza adresa operandului in7 perioade de ceas. La sfarsitul celeide-a saptea perioade UE solicita unacces la magistrala.

    UE asteapta cadatele solicitatesa fie introduse instiva de UIM

    UE

    UIM extrage 2octeti de codobiect pe care UEii extrage astfelincat stiva estegolita imediat

    UIM extrage 4 octeti de cod si iistocheaza in stiva. Stiva mai are incadoi octeti liberi.

    UIM extrage datede la locatiaadresata de UE

    UIM

    Ciclul demagistrala 1

    Ciclul demagistrala 2

    Ciclul demagistrala 3

    Ciclul demagistrala 4

    T1 T2 T3CLK

    T4 TI

    UE executa o operatie aritmetica in 9perioade de ceas

    UE termina executia instructiunii siextrage din stiva microprocesoruluiun nou octet de cod pentru a incepeexecutia unei noi instructiuni

    UE

    Ciclul demagistrala 5

    Stari inactive

    TI TI TI TI TI TI TI TI TI TI TI

    UIM extrage incadoi octeti de codsi ii introduce instiva, Stiva este lasfarsitul acestuiciclu plina.

    UIM este inactiva UIM ramane inactiva deoarece UEa extras din stiva numai un singuroctet.

    UIM

    Figura 1.10. Un exemplu de funcionare suprapusa celor doublocuri funcionale alemicroprocesorului 8086

    ntre ciclii de magistral, executai de unitatea central numai atuncicnd trebuie transferate instruciuni sau operanzi la memorie sau dispozitivelede I/O, pot aprea aa numitele stri inactive, TI, n timpul crora procesorul

    20

  • 7/22/2019 Prezentare Familie x86

    21/97

    executoperaii interne. Dacciclul precedent a fost o scriere, 8086 va meninen timpul strii TI informaia de stare S7S3din ciclul de magistralprecedent idatele anterior emise pe magistrala multiplexat. Atunci cnd operaia

    precedent a fost o citire, n afara meninerii strii S7S3, microprocesorul valsa n TI magistrala de date n starea de impedannalt.

    Datorit modului de lucru suprapus al celor dou blocuri funcionale,UE i UIM, activitatea exterioara microprocesorului nu va aprea, ca n cazulmainilor din generaiile anterioare, de exemplu Z80, ca o succesiune deoperaii de extragere a codului, defetch-uri, i de transferuri corespunztoare dedate cu memoria sau dispozitivele de I/O. La 8086 extragerea codului i

    transferurile de operanzi asociate unei instruciuni pot fi separate prin ciclii demagistral executai de UIM n scopul umplerii stivei interne de 6 octe i. Deasemenea, pot aprea desincronizri, ntrzieri, ntre citirea i nceputulexecuiei unei instruciuni. n figura 1.10, [4], se exemplific modul de lucrusuprapus al celor doublocuri funcionale ale microprocesorului. Observm cUE este activn timpul execuiei instruciunilor i inactivatunci cnd ateaptcodul obiect sau date pe care nu le poate obine dect prin intermediul unor ciclide magistralexecutai de UIM. Activitatea UE se desfoarn secvene cu unnumr variabil de perioade de ceas, negrupate, aa cum am spus mai sus, n ciclimainde lungime fix. Pe de altparte, UIM grupeazperioadele de ceas ncicli de magistral, dar numai cnd microprocesorul executun transfer de codsau date cu exteriorul. n restul timpului UIM rmne inactiv.

    1.3.2. FUNCIONAREA MICROPROCESORULUI N MODULMINIM

    Conectarea intrrii MN MX/ a microprocesorului 8086 la +5V permite

    selectarea semnificaiei funcionale a grupului de conexiuni externe 2431 alecircuitului n vederea utilizrii lui n modul minim, pentru realizarea deconfiguraii simple sau medii, cu o singurunitate central. n figura 1.11 este

    prezentat o astfel de configuraie organizat n jurul lui 8086 funcionnd nmodul minim. Cu linie continusunt desenate circuitele i semnalele necesare

    pentru alctuirea unei structuri foarte simple. Cu linie punctat sunt indicatecircuitele i semnalele suplimentare necesare pentru implementarea unorstructuri de complexitate medie.

    21

  • 7/22/2019 Prezentare Familie x86

    22/97

    8284 AGenerator ceas

    ___RES

    RDY

    GND

    VCC

    READYCLK

    RESET

    ___MN/MX

    __M/IO

    ____INTA ___

    RD ___WR

    _DT/R____DEN

    ALE

    AD0AD15

    A16A19____

    BHE

    Generare stariWAIT

    8086

    CLK

    _G

    Latch-uriadrese sistem

    (2 sau 3)

    ADRESE/DATE(magistrala multiplexata)

    DIR

    _G

    Transceiver-e(optionale)

    (2 )

    GND

    Adrese sistem

    ___ ___ ___CSOH CSOLWE OD

    2142 RAM (4)

    (2) (2)1Kx8 1Kx8

    __ __ CE OE

    2716-2 PROM (2)

    (2) (2)2Kx8 2Kx8

    ___ __ ___CS RD WR

    Dispozitiv de I/E

    Date

    A0

    VCC

    Necesare pentrucresterea puterii de

    comanda amagistralei de date

    Figura 1.11. Microprocesorul 8086 n modul minim

    n acest subcapitol vom interpreta diagramele de timp corespunztoareoperaiilor externe, de magistral, ale microprocesorului 8086 lucrnd n modulminim. n analizele de timp care urmeazne vom referi la figura 1.12 unde suntdate diagramele detaliate de catalog, pentru modul de lucru minim i la tabelele1.2 i 1.3 cu valorile parametrilor asociai acestor diagrame [6]. n funcionarea

    pe magistrala lui 8086 se pot pune n eviden, n modul minim ca i n modulmaxim, urmtoarele secvene de timp principale: adresarea, ciclul de citire,ciclul de scriere, achitarea ntreruperii, introducerea strilor de ateptare,

    preluarea magistralei.

    1.3.2.1. Adresarea

    Adresarea memoriei sau a dispozitivelor de I/O se face prindemultiplexarea n timp a informaiilor de pe magistrala local amicroprocesorului, cu ajutorul semnalului ALEdestinat memorrii adreselor nlatch-urile de adrese ale sistemului. n operaia de adresare vom analiza ntiraportul ntre adrese i ALE apoi ntrzierea adreselor pn la apariia lor pemagistrala demultiplexata sistemului.

    22

  • 7/22/2019 Prezentare Familie x86

    23/97

    Tabelul 1.2. Parametrii 8086 pentru modul minim. Cerine de timp

    Parametru Semnificaie Valoareminim

    Valoaremaxim

    Condiii de testi observaii

    TCLCL Perioada ceasului CLK 200ns 500nsTCLCH Timpul ct CLK=0 118nsTCHCL Timpul ct CLK=1 69ns

    TCH1CH2 Frontul cresctor alceasului CLK

    10ns Msurat ntre valorile 1,0V i3,5V ale semnalului CLK

    TCL2CL1 Frontul descresctor alceasului CLK

    10ns Msurat ntre valorile 3,5V i1,0V ale semnalului CLK

    TDVCL Timpul de stabilizare, deset-up, al datelor la citire

    30ns

    TCLDX Timpul de meninere, dehold, al datelor la citire

    10ns

    TR1VCL Timpul deset-upalsemnalului RDY laintrarea n circuitul8284A msurat fadefrontul descresctor al luiCLK

    35ns Acest timp este necesarpentru semnalul asincronRDY pentru a garantarecunoaterea lui nurmtoarea perioada a luiCLK

    TCLR1X Timpul de holdalsemnalului RDY laintrarea n 8284A

    0ns

    TRYHCH Timpul deset-upalsemnalului READY la

    intrarea n 8086

    118ns

    TCHRYH Timpul de holdalsemnalului READY laintrarea n 8086

    30ns

    TRYLCL Timpul necesar caintrarea READYsfieconsideratinactivfade nceputul strii T3

    8ns READY mai poate deveniinactiv maximum 8ns n T3transformnd aceaststarentr-o stare de ateptare TW

    THVCH Timpul deset-upalsemnalului HOLD

    35ns

    TINVCH Timpul deset-upalsemnalelor INTR,

    NMI, TEST

    30ns Timp necesar pentru caaceste semnale asincrone sfie recunoscute n urmtoareaperioada ceasului CLK

    TILIH Frontul de cretere,pozitiv, al semnalelor deintrare (cu excepia luiCLK)

    20ns De la 0,8V la 2,0V

    TIHIL Frontul descresctor,negativ, al sem-nalelor de intrare(exceptnd CLK)

    12ns De la 2,0V la 0,8V

    23

  • 7/22/2019 Prezentare Familie x86

    24/97

    Tabelul 1.3. Parametrii 8086 pentru modul minim. Rspunsuri n timp

    Parametru Semnificaie Valoareminim

    Valoaremaxim

    Condiii de testi observaii

    TCLAV ntrzierea validrii adresei fadeCLK

    10ns 110ns Msurtorile aufost fcute

    TCLAX Timpul de meninere al adresei 10ns adugndu- se laTCLAZ ntrzierea pnla trecerea adreselor n

    starea a treiaTCLAX 80ns ieirile corespun-

    ztoare aleTLHLL Durata impulsului ALE TCLCH

    20nsmicroprocesoruluiCL=20100pF

    TCLLH ntrzierea activrii semnalului ALE 80nsTCHLL ntrzierea dezactiv. semnalului ALE 85nsTLLAX Timpul de holdal adresei vs. ALE TCHCL

    10nsTCLDV ntrzierea validrii datelor vs. CLK 10ns 110nsTCHDX Timpul de holdal datelor vs. CLK 10nsTWHDX Timpul de holdal datelor dup WR TCLCH

    30nsTCVCTV ntrzierea de activare a comenzilor

    DEN , WR, INTA

    10ns 110ns

    TCHCTV ntrzierea de activare/dezactivare a

    comenzii DT R/

    10ns 110ns

    TCVCTX ntrzierea la inactivarea comenzilor

    DEN , WR, INTA

    10ns 110ns

    TAZRL ntrzierea ntre momentul treceriiadreselor n starea a treia i activarea

    comenzii de citire RD

    0ns

    TCLRL ntrzierea activrii comenzii RD 10ns 165ns

    TCLRH ntrzierea la inactivarea comenzii 10ns 150nsRD

    TRHAV ntrzierea ntre inactivarea RDiactivarea urmtoarei adrese

    TCLCL45ns

    TCLHAV ntrzierea validrii semnalului HLDA 10ns 160nsTRLRH Durata comenzii RD 2TCLCL

    75nsTWLWH Durata comenzii WR 2TCLCL

    60nsTAVAL ntrzierea ntre validarea adresei i

    terminarea impulsului ALETCLCH

    60nsTOLOH Frontul cresctor al semnalelor de

    ieire20ns De la 0,8V la 2,0V

    TOHOL Frontul descresctor al semnalelor deieire

    12ns De la 2,0V la 0,8V

    24

  • 7/22/2019 Prezentare Familie x86

    25/97

    TCHCL TCLCH

    CLK (Iesire 8284)

    ___BHE/S7,A19/S6A16/S3

    __M/IO

    ___RD

    READY (Intrare in 8086)

    AD15AD0

    ALE

    RDY (Intrare in 8284)

    _DT/R

    ____DEN

    Ciclu de citire(WR,INTA="1")

    ___BHE,A19A16 S7S3

    T1 T2 T3 T4

    VCH

    VCL

    TCHCTV

    TCLAV TCLDV TCHDX

    TCLLH TLHLL TCLAX

    TAVAL

    TCHLL

    VIH

    VIL

    TR1VCL

    TCLR1X

    TRYLCL

    TRYHCH

    TCHRYX

    AD15AD0DATA IN

    TCLAV TAVALTLLAX

    TCLAZ

    TCLAX

    TDVCL TCLDX

    TCLRL

    TRLRH

    TW

    Figura 1.12. Diagrame de timp pentru modul minim

    25

  • 7/22/2019 Prezentare Familie x86

    26/97

    TCLAX

    ___BHE,A19A16

    TLHLLS7S3

    CLK (Iesire 8284)

    ___BHE/S7,A19/S6A16/S3

    __M/IO

    ___WR

    ALE

    _DT/R

    ____DEN

    Ciclu de scriere___ ____(RD,INTA, _DT/R="1" )

    T1 T2 T3 T4

    VCH

    VCL

    TCHCTVTCHCL TCLCH

    TCLAV TCLDV TCHDX

    TCLLH

    TAVAL

    TCHLL

    TCLCL

    TCH1CH2 TCL2CL1

    TW

    AD15AD0 AD15AD0 DATE

    TCLAV TAVAL TCLAX

    TCLDV TCLAXTCHDX

    TCVCTV TCVCTX

    TWLWH

    TCVCTX

    TWHDX

    AD15AD0 Tipintrerupere

    TCLAZ

    TDVCL TCLDX

    TCHCTVTCHCTV

    ____INTA

    TCVCTVTCVCTX

    ____DEN

    TCVCTV

    ____Ciclu INTA

    __ ___RD, WR ="1"

    ___BHE="0"

    Adresa invalida

    TCLAV

    __ ___ ____RD, WR , INTA="1" _DT/R= nedeterminat(Starea de HALT)

    Starea de HALT

    Figura 1.12. Continuare

    Relaia de timp ntre adres i ALE este garantat de fabricantulmicroprocesorului astfel nct capturarea unei adrese valide s se fac simplu

    prin folosirea unor latch-uri ca 8282 sau 74LS373. Este bine totui sdiscutm

    26

  • 7/22/2019 Prezentare Familie x86

    27/97

    detaliat relaia de timp ntre adres i ALE ea fiind important n apreciereacorectitudinii memorrii unei adrese valide de pe magistrala multiplexata lui8086. Se cunoate clatch-urile folosite n mod obinuit, ca 8282 sau 74LS373,sunt transparente atunci cnd ALE=1 ele memornd, capturnd, datele de laintrare, n cazul nostru o adres, pe frontul negativ al semnalului ALE. n acestcaz ne intereseaz starea liniilor de adres fa de momentul terminriiimpulsului ALE. O situaie defavorabil va surveni atunci cnd ntrzierea deapariie a adreselor, TCLAV, este maxim i ALE se termin cel mai repede,TCHLL fiind minim, zero. Rezult de aici c adresa ar fi garantat valid,nainte de terminarea lui ALE, cu TCLCHminTCLAVmax= 118ns110ns= 8nsceea ce, dei ar asigura un timp de stabilizare, deset-up, suficient pentru latch-

    urile menionate mai sus (0ns pentru 8282 i 5ns pentru 74LS373), nu constituieo garanie de proiectare sigur. ntr-adevr, analiza de mai sus ignor un alt

    parametru, cu adevrat important n relaia de timp adres/ALE i anumeTAVAL, timpul de garantare al unei adrese valide naintea terminriisemnalului ALE. Acest timp este dat, conform tabelului 1.2, de ecua iaTAVAL= TCLCH60ns i este prioritar fade rezultatul obinut mai sus prinluarea n considerare numai a relaiilor de timp independente ale semnalelor fade ceasul microprocesorului. nlocuind, obinem n situaia cea maidefavorabil, pentru 8086 lucrnd la 5MHz, TAVAL= 118ns60ns= 58ns.

    Timpul de meninere, de hold, al adresei dup frontul negativ alsemnalului ALEeste dat de TLLAX= TCHCL10ns prioritar, de asemenea, fa

    de valoarea obinutprin luarea n considerare a ntrzierilor TCHLL i TCLAXfade CLK. n situaia cea mai defavorabilfabricantul garanteazun timp demeninere minim TLLAXmin= TCHCLmin10ns= 69ns10ns= 59ns fa de ovaloare minim negativ obinut arificial prinTCHCLminTCHLLmax+TCLAXmin= 69ns85ns+10ns= 6ns. Semnificaia luiTCLAXmin se refer la performana microprocesorului de a-i inactivamagistrala n cazul n care nu este condiionat de un semnal ALE prea lentdatorat, de exemplu, ncrcrii capacitive mai mari a ieirii. Timpii TLLAX iTCLAX definesc momentul comutrii, dup terminarea impulsului ALE, antregii magistrale multiplexate, att pentru ciclii de citire ct i pentru cei descriere. n timpul operaiilor de citire, dup ALE, conexiunile AD150 vor fitrecute n starea de impedan nalt iar, pentru operaiile de scriere, comutate

    pe datele ce urmeaz a fi scrise. AD1916 comut din adrese n stri pentruambele tipuri de cicli. Durata impulsului ALEeste garantatde relaia TLHLL=TCLCH20ns, minimum 98ns, i nu de TCLCHTCLLH+TCHLL care, ncazul cel mai defavorabil, ar fi condus la o valoare minim pentru ALE de118ns80ns+0ns= 38ns.

    O alt relaie de timp care ne intereseaz n faza de adresare estentrzierea adreselor demultiplexate, dup latch-uri, fa de adresele emise de

    27

  • 7/22/2019 Prezentare Familie x86

    28/97

    microprocesor pe magistrala localmultiplexat. Utiliznd latch-uri ca 8282 sau74LS373 adresa nu se va transmite dect dup ce ALE=1. Comparndntrzierea maxim a emiterii adreselor, TCLAVmax= 110ns, cu ntrziereamaxim a apariiei impulsului ALE, TCLLHmax=80ns, deducem c ntrziereamaxima apariiei adreselor pe magistrala demultiplexatde adrese a sistemuluieste dat de TCLAVmax+tlatch unde tlatch este ntrzierea maxim de propagare

    prin latch-uri (30ns pentru 8282, 18ns pentru 74LS373)

    1.3.2.2. Ciclul de citire

    Operaia de citire propriu-zisconstdin: (1) trecerea magistralei localeAD15AD0n starea a treia pentru a permite preluarea de ctre microprocesor adatelor, (2) activarea comenzii de citire RD , (3) validarea transceiver-elor dedate, dac sunt prevzute, cu ajutorul comenzii DEN i (4) stabilirea direcieiacestora prin intermediul semnalului DT R/ . Precizarea direciei de circulaie adatelor n transceiver se face prin poziionarea DT R/ =0, recepie-date, lanceputul ciclului de magistralastfel nct acest semnal nu ridicprobleme detimp. Problema cea mai important, ca relaie de timp, la citirea datelor de ctremicroprocesor este ca acestea s fie validate, plasate, pe magistrala localrespectndu-se timpii de stabilizare,set-up, i meninere, hold, impui de 8086,TDVCL respectiv TCLDX. Corectitudinea datelor depinde, pe de-o parte, deselecia i ntrzierea n rspuns ale dispozitivului de memorie sau de I/Oadresat, iar pe de altparte de validarea i ntrzierea transceiver-elor folosite nsistem.

    Activarea comenzii DEN asigur un timp suficient pentru catransceiver-ele s fie deschise circulaiei datelor spre magistrala local amicroprocesorului asigurndu-se timpul minim de stabilizare a datelor.Valoarea minima acestui timp pentru frecvena de 5MHz a ceasului e datderelaia TCLCL +TCHCLminTCVCTVmaxTDVCLmin= 200ns + 69ns 110ns 30ns = 129ns. Invalidarea datelor prin invalidarea tansceiver-ului asigurtimpulminim de meninere al datelor, TCLDXmin=10ns, deoarece ntrzierea minimladezactivarea comenzii DEN , fa de aceeai referin ca i TCLDX, este

    TCVCTXmin=10ns i ntrzierea trecerii n starea a treia a transceiver-elor estecel puin 0ns. De asemenea, important aici este i durata ntre momentulinvalidrii transceiver-elor, implicnd eliberarea magistralei locale amicroprocesorului, i momentul emiterii de ctre 8086 pe aceastmagistral aunei noi adrese. Aceast durat este pentru frecvena de 5MHz a ceasului deminimum TCLCLTCVCTXmax+TCLAVmin= 200ns110ns+10ns= 100ns.

    ntrzierea plasrii datelor pe magistral de ctre dispozitivul citit sedatoreaz nti seleciei circuitului, apoi comenzii efective de citire. De obicei,

    28

  • 7/22/2019 Prezentare Familie x86

    29/97

    selecia se face pe baza adreselor, ceea ce nu pune probleme de timp, adresareafcndu-se, aa cum am vzut, la nceputul ciclului de magistral. Rmnentrzierea datoratcomenzii efective de citire RD . Timpul minim "oferit" demicroprocesor dispozitivului citit pentru a plasa datele pe magistrala local, cuajutorul comenzii RD , fr introducerea unor stri de ateptare TW, lafrecvena ceasului de 5MHz i asigurndu-se timpul minim de stabilizare estedat de formula 2TCLCLTCLRLmaxTDVCLmin= 2200ns165ns30ns=205ns. Acesta este timpul pe care l au la dispoziie datele pentru a fi "extrase","accesate", cu ajutorul comenzii RD din dispozitivul adresat i a parcurgemagistralele i circuitele interpuse pn la microprocesor. Introducerea strilorde ateptare adaug la acest timp cte o perioadTCLCL pentru fiecare stare

    TW introdus. Durata minim a impulsului de citire, parametru importantpentru dispozitivele de memorie sau I/O ce urmeaza fi utilizate n sistem, estegarantatde relaia TRLRH= 2TCLCL75ns= 325ns prioritarfade formula2TCLCLTCLRL+TCLRH care ar conduce n cazul cel mai defavorabil la2200ns165ns+10ns= 245ns. Timpul de meninere minim al datelor,TCLDXmin=10ns, este asigurat i pe aceastcale datoritfaptului cntrziereaminima dezactivrii comenzii RD , fade aceeai referinca i TCLDX, esteTCLRHmin=10ns.

    n sisteme configurate minimal, fr transceiver-e, dispozitivele dememorie i/sau I/O sunt plasate direct pe magistrala local multiplexat amicroprocesorului. n aceastsituaie nu mai este necesarfolosirea semnalelor

    DEN i DT R/ , adresele i comanda efectiv de citire, RD , fiind suficiente.Utilizarea corect n timp a magistralei locale este asigurat de garantareaactivrii semnalului RD cel puin odatcu trecerea magistralei locale n starea atreia, TAZRLmin=0ns, i de asigurarea unui timp minim ntre dezactivarea luiRD , i validarea unei adrese noi de ctre 8086, TRHAVmin= TCLCL45ns=155ns.

    1.3.2.3. Ciclul de scriere

    Scrierea efectiv presupune generarea datelor, activarea comenzii descriere i comanda transceiver-elor. Dupcum se vede n figura 1.12, pe timpuloperaiei de scriere DT R/ este meninut pe "1" ceea ce se asigurprin trecerea

    pe "1" a acestui semnal la sfritul oricrui ciclu de magistral care impliccitire de date, aa cum am artat deja n 1.4.2.2. Deci comanda direcieitransceiver-elor, DT R/ , vine n ciclul de scriere poziionatpe "1" din ciclulsau ciclii precedeni, ea rmnnd nemodificat, pe transmisie, n timpuloperaiei de scriere. Astfel microprocesorul poate s activeze comanda de

    29

  • 7/22/2019 Prezentare Familie x86

    30/97

    validare a transceiver-elor, DEN , nc din starea T1, pe timpul operaiei deadresare, fr s perturbe adresa emis pe magistrala local. Aceast validareavansateste necesarpentru minimizarea ntrzierii datelor, momentul emiteriiefective a lor gsind transceiver-ele deschise. Comanda de scriere, WR, idatele sunt activate cu acelai front negativ al ceasului CLKde la nceputul striiT2. La nceputul scrierii apare o zon de incertitudine datorat ntrzierilordiferite TCVCTV=10110ns pentru WRi TCLDV=10110ns pentru date, eafiind de maximum 100ns ntre cele dou evenimente, de exemplu dacTCVCTV=10ns i TCLDV=110ns. Aceastincertitudine a relaiei ntre date icomanda WR la nceputul comenzii de scriere impune proiectantului sutilizeze n sistem dispozitive de memorie sau I/O care scaptureze datele pe

    frontul pozitiv al semnalului WR sau s imagineze diverse adaptri, circuite,care sasigure preluarea de ctre dispozitive a datelor de scriere duptrecerea

    perioadei de incertitudine. Microprocesorul 8086 garanteazvaliditatea datelorfade frontul pozitiv al comenzii de scriere WR, fr introducerea unor stride ateptare, o durat dat de formula 2TCLCLTCLDV+TCVCTX.Introducerea strilor TW adaug un timp TCLCL pentru fiecare stare deateptare. n situaia cea mai defavorabil, pentru frecvena de 5MHz a ceasului,obinem un timp garantat de minimum 2200ns110ns+10ns=300ns. Timpul demeninere al datelor dup dezactivarea comenzii de scriere este garantat deTWHDX=TCLCH30ns fiind de minimum 118ns30ns=80ns. TWHDX este

    prioritar fa de timpul obinut prin referiri la ceasul microprocesorului cu

    formula TCLCH+TCHDXTCVCTX care ar conduce la o valoare minimde118ns+10ns110ns=18ns.

    La sfritul scrierii microprocesorul comut datele n adrese, dacurmeazimediat un nou ciclu de magistral, T1 dupT4, sau se trece n starea atreia, n cazul n care magistrala va fi cedatdatoritachitrii unei cereri HOLDsau RQ . Aa cum am spus i n 1.4.1, dacnu urmeazimediat un nou ciclude magistralprocesorul va menine datele emise anterior n timpul operaiei descriere. Asigurarea timpului de meninere a datelor la sfritul scrierii, duptransceiver-e, la dispozitivul receptor, se face i prin invalidarea comenzii DEN cu o ntrziere de minimum TCLCHmin+TCVCTXminTCVCTXmax= 118ns +

    10ns 110ns = 18ns. Menionm acum c acest rezultat este abstract elpresupunnd n formula de mai sus co ntrziere de acelai tip, aici TCVCTX,poate fi simultan minimi maxim. n realitate acest lucru nu este posibil, ocomponentelectronicnefiind capabilsdemonstreze n acelai timp, pentruacelai parametru, ntrziere maxim i minim. Argumentul conduce laconcluzia crezultatele obinute n analize de timp cum este i cea de mai susreprezint ntr-adevr cazurile cele mai defavorabile, nemai fiind necesareamendri suplimentare pentru a da garanii proiectantului. n situaia de fa

    30

  • 7/22/2019 Prezentare Familie x86

    31/97

    ntrzierea real ntre momentul inactivrii comenzilor WR i DEN este deaproximativ 60ns [10].

    1.3.2.4. Ciclul de achitare a ntreruperii

    Vom descrie aici numai ciclul de magistral specific achitriintreruperii mascabile, urmnd ca ntr-un alt capitol s prezentm pe largstructura mecanismului de ntreruperi al microprocesorului 8086 i ntreaga luiactivitate de pe magistralla achitarea unei ntreruperi.

    ntreruperile mascabile generate de sistem sunt sesizate de procesor laintrarea INTR i sunt mascate de bitul I, indicatorul de condiii pentruValidare/Invalidare ntreruperi , din registrul de stare. n timpul ultimului ciclude ceas al fiecrei instruciuni, cu unele excepii ce vor fi precizate ulterior,microprocesorul eantioneaz linia INTR. Dac INTR este gsit pe "1" i I

    poziionat pe Validare-ntreruperi 8086 va executa o secven de achitare antreruperii. Pentru a garanta achitarea de ctre microprocesor a ntreruperii

    INTRva trebui meninut pe "1" pncnd procesorul intrn ciclul de achitarei activeazsemnalul de rspuns INTA . Semnalul de cerere de ntrerupere estede tip activ pe nivel el fiind sincronizat intern de ctre procesor cu frontul

    pozitiv al ceasului CLKi testat apoi, cum am mai spus, n ultimul ciclu de ceasal instruciunii n curs. Dac detectarea ntreruperii, la sfritul execuieiinstruciunii n curs, se produce n timp ce UIM executun ciclu de magistral,extrgnd o nou instruciune n vederea umplerii cozii de ateptare, INTRtrebuie ssatisfaci un timp de stabilizare de cel puin douperioade de ceasnainte de ultima stare, T4, a ciclului executat de UIM, pentru ca ntreruperea sfie achitat imediat dupterminarea acestuia. n cazul n care timpul de set-upfa de sfritul acestui eventual ciclu de magistral executat de UIM nu esteasigurat, achitarea ntreruperii se mai poate amna pndupderularea a nc

    unui ciclu de magistral, dacexistvreunul n ateptare.

    Secvena hardware, specific, de achitare a ntreruperii mascabile,INTR, de ctre microprocesorul 8086 este compusdin cicli INTA separai prindou stri inactive TI, figura 1.13. Cei doi cicli de magistral INTA sunt, aacum se poate vedea i n figura 1.12, asemntori logic cu ciclii de citire,comanda RD nlocuindu-se cu semnalul de achitare INTA . Diferdoar relaiilede timp referitoare la INTA i magistrala AD15AD0.

    31

  • 7/22/2019 Prezentare Familie x86

    32/97

    _____LOCK

    (semnalintern)

    ALE

    Tipulintreruperii

    T1 Ti

    AD15AD0

    ____INTA

    T2 T3 T4 Ti T1 T2 T3 T4

    Reactivare numai cand coada de asteptare nu este plina

    Figura 1.13. Secvena de achitare a unei ntreruperi n modul minim

    n timpul ciclilor INTA faza de adresare nu este efectiv, n sensul cALEpoate ncrca n latch-uri o adresnedeterminat, magistrala multiplexatfiind trecut n starea a 3-a n T1. Aceast situaie impune ca dispozitivele dememorie sau I/O snu fie selectate i/sau validate pe magistrala sistemului noperaiile de citire cu semnale care s reprezinte numai decodificri aleadreselor specifice ci cu semnale care s nglobeze i comanda efectiv decitire, RD , pentru modul de lucru minim. Semnalul ALEeste generat n timpulciclilor de achitare cu scopul de a fi utilizat, cum se va arta mai trziu, n

    sisteme complexe cu mai multe controloare de ntreruperi, 8086 lucrnd nmodul maxim.

    Primul ciclu INTA este destinat semnalizrii nceputului achitriintreruperii atenionnd sistemul s-i pregteasc rspunsul pentru al doileaciclu INTA . n timpul acestui prim ciclu microprocesorul nu va citi magistralade date, el efectund anumite operaii interne necesare achitrii ntreruperii.Rspunsul dispozitivului care ntrerupe este un octet reprezentnd aa-numitultip al ntreruperiice urmeaza fi citit i prelucrat apoi de procesor pentru a seobine adresa efectiv a subrutinei de tratare a ntreruperii. Tipul ntreruperiieste citit de microprocesor, n al doilea ciclu INTA , pe jumtatea mai puinsemnificativ AD7AD0 a magistralei locale. Aceasta impune ca dispozitivele

    specifice, controloarele de ntreruperi, care, n cadrul secvenelor de achitare,rspund prin generarea tipului de ntrerupere s fie plasate pe jumtatea mai

    puin semnificativa magistralei de date, la adrese pare.

    Pe durata secvenei de achitare, magistrala multiplexatde adrese/dateeste trecutn starea a 3-a, de impedanmare, n T1, la nceputul fiecrui cicluINTA , cu o ntrziere datde parametrul TCLAZ fade frontul negativ de lanceputul strii T1. Liniile superioare de adrese/stri, A19/S6A16/S3 nu sunttrecute n starea a 3-a dar adresa, A19A16, are o valoare nedeterminat ca i

    primii 16 bii A15A0. Starea ns, S7S3, comutat n T2, este valid i arevaloarea: S7=S6=0, S5=IF, S4=S3=0. Magistrala AD15AD0rmne n starea a

    32

  • 7/22/2019 Prezentare Familie x86

    33/97

    3-a pn n ciclul de ceas urmtor strii T4 a fiecruia din cei doi cicli demagistral INTA . n cazul n care, pe timpul achitrii ntreruperii, coada deateptare a microprocesorului nu este plin, pe magistrala ADpot fi plasate, ntimpul strilor inactive TI, date n condiiile discutate anterior n 1.4.1. Datelereprezentnd tipul ntreruperii trebuie ssatisfacaceleai cerine pentru timpiide stabilizare i meninere, TCLDV i TCLDX, fa de frontul negativ alceasului de la nceputul strii T4 din al doilea ciclu INTA , ca i datele dintr-unciclu de citire.

    Ieirea M IO/ va fi poziionat pe "0" indicnd sistemului, n timpulciclilor INTA , o operaie de intrare/ieire. Semnalul LOCK, intern n cazulfuncionrii 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 UIMa unei cereri de magistral ntre cei doi cicli INTA . Asupra prioritii ntrecererea 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/ , suntactivate n fiecare ciclu INTA avnd aceleai relaii de timp ca i n cazulciclilor de citire. ntre cei doi cicli INTA , DEN i DT R/ sunt dezactivate.

    Relaiile de timp pentru semnalul de achitare INTA sunt identice cucele ale comenzii de scriere WR. Astfel, pe baza acestor relaii obinem un timpde acces, de la validarea comenzii INTA pn la stabilizarea pe magistralamicroprocesorului a datelor reprezentnd timpul ntreruperii, dat de formula2TCLCL TCVCTVTDVCL care, pentru cazul cel mai defavorabil conduce

    la valoarea 2TCLCL TCVCTVmaxTDVCLmin= 2200ns 110ns 30ns =260ns. Mrirea timpului de acces se poate face prin introducerea de stri TWcare, pentru fiecare stare introdus, adaug la acest timp o perioad TCLCL.Garantarea timpului de meninere TCLDX necesar procesorului pentrucapturarea datelor pe frontul negativ de la nceputul strii T4 se asigur princondiionarea meninerii datelor pe magistral cu INTA =0 i DEN =0 iinvalidarea acestor comenzi cu cel puin TCVCTXmin=10ns dup frontul CLKmenionat. Durata minim a impulsului INTA rezult din relaia2TCLCLTCVCTV+TCVCTX, conducnd, pentru un ceas de 5MHz, la ovaloare teoreticminimde 2200ns110ns+10ns= 300ns. Avnd n vedere cn realitate microprocesorul nu poate s manifeste simultan, pentru acelai

    semnal, att ntrzieri maxime cti 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 microprocesorulactiveazmagistrala n starea T1 imediat urmtoare strii T4 din al doilea cicluINTA . Rezult un timp minim de TCLCLTCVCTXmax+TCLAVmin=200ns110ns+10ns= 100ns n care dispozitivul care a plasat pe magistraltipulntreruperii trebuie s-i invalideze ieirile. Acelai timp rezult i lund n

    33

  • 7/22/2019 Prezentare Familie x86

    34/97

    considerare invalidarea datelor datoritcomenzii DEN , pentru sisteme n carese folosesc transceiver-e.

    1.3.2.5. Introducerea strilor de ateptare

    Strile de ateptare, TW, pot fi inserate, n timpul operaiilor de citire,scriere sau achitare a ntreruperii pentru a se facilita transferul de date cudispozitive de memorie sau de I/O mai lente. Strile TW se insereaz ntrestrile T3 i T4. Pentru a introduce o stare de ateptare ntr-un ciclu demagistral semnalul READY trebuie inactivat, pus pe "0", la sfritul strii T2

    iar pentru a nu intra ntr-o stare de ateptare sau pentru a iei din ea, intrareaREADYa microprocesorului trebuie activata, trecutpe "1", nainte de frontul

    pozitiv al ceasului din T3, respectiv din TW.Introducerea strilor de ateptare se poate face n doumoduri dictate,

    n general, de complexitatea configuraiilor: primul este acela al sistemelorconsiderate n mod normal not readynepregtite, al doilea al sistemelor aflaten mod normal n starea readypregtite pentru transfer.

    n cazul primei abordri, considerate clasic, dacdispozitivul selectatcare primete o comand, RD , WRsau INTA , are timp so execute n ritmulimpus de microprocesor el va trebui s activeze n timp util intrarea READY

    pentru a permite procesorului s-i ncheie ciclul de magistral prevenindu-seastfel introducerea strilor TW, ca n figura 1.14. Dacdispozitivul selectat nu

    poate executa comanda n ritmul microprocesorului el va introduce una sau maimulte stri de ateptare meninnd pe "0" un timp corespunztor intrareaREADYa lui 8086. Aceastsoluie se preteaz, de obicei, sistemelor complexecu mai multe procesoare sau celor realizate pe magistrale standard cum ar fiMultibus, unde ntrzierile de propagare i de acces la magistral sunt relativmari i multe din operaiile externe microprocesorului nu se pot executa laviteza lui maxim. Dispozitivele cele mai rapide, puine n cazul adaptrii

    prezentei soluii, vor trebui s activeze semnalul READY ca n figura 1.14pentru a permite funcionarea sistemului la viteza maxim. n cazul n care nu serespectrelaiile de timp necesare poate fi introduso stare TW n plus.

    A doua abordare presupune c majoritatea operaiilor externe

    microprocesorului se pot face n ritmul impus de el i deci csemnalul READYeste n mod normal activ, pe "1". Dispozitivele mai lente, mai puine sau maipuin solicitate n configuraiile pentru care alegem aceast implementare, vortrebui s dezactiveze semnalul READY pentru a introduce stri TW ca, deexemplu, n figura 1.15. Metoda sistemelor n stare normalreadyconduce ngeneral la scheme mai simple i este potrivit cu configuraiile mici,monoprocesor, unde nu se pun probleme de vitezlegate, cum am menionat, deaccesul la o magistral complex sau la resurse localizate pe module diferite

    34

  • 7/22/2019 Prezentare Familie x86

    35/97

    cum e cazul configuraiilor complexe, multiprocesor. Dezavantajul acesteimetode apare n posibilitatea terminrii anormale a unui ciclu de magistraldatorit dezactivrii incorecte, fr respectarea relaiilor de timp impuse, asemnalului READY. De aceea, pentru a obine siguran n funcionareasistemului, metoda impune analizarea atent a relaiilor de timp legate deaccesul microprocesorului la toate dispozitivele de memorie i/sau I/O.

    IntrareaREADY

    la 8086

    CLK

    T1 T2 T3 T4

    READY activminimum 118 ns(TRYHCHmin)

    TCHRYXmin=30ns

    Figura 1.14. Prevenirea introducerii unor stri de ateptare n sisteme normale not-ready

    IntrareaREADYla 8086

    CLK

    T1 T2 T3 TW

    Timp minim de stabilizarepentru ca urmatoarea stare safie T4 (TRYHCHmin=118ns)

    T4

    Timp de mentinereTCHRYXmin=30ns

    READY inactivmaximum 8 ns in T3( TRYLCLmin=-8 ns)

    Figura 1.15. Introducerea unei stri de ateptare n sisteme normal ready

    Dupcum vedem n figurile detaliate 1.14 i 1.15 dar i n diagramelede catalog din figura 1.12 utilizarea intrrii READYascultde cerine diferite nfuncie de metoda folosit. n cazul sistemelor n starea normalready, pentru aintroduce o stare TW, intrarea READYa microprocesorului trebuie puspe "0"n cel mult 8ns (TRYLCLmin= 8ns) dupsfritul strii T2, nceputul strii T3.Dup depirea acestei limite permise, pentru garantarea unei funcionri

    corecte a microprocesorului, fabricantul interzice modificarea intrrii READYdin "1" n "0" pe timpul ct CLKmai este "0" n starea T3. Menionm cacesterestricii sunt rezolvate n cazul utilizrii circuitului de ceas 8284 care asiguriformarea semnalului READYaa cum vom arta n 1.4.4.4. n cazul sistemelor

    35

  • 7/22/2019 Prezentare Familie x86

    36/97

    n starea normalnot readypentru a preveni introducerea strilor de ateptareintrarea READYtrebuie trecutpe "1" cu cel puin 118ns, TRYHCHmin, naintede frontul pozitiv al ceasului din T3. n cele dou situaii prezentate mai sus,ilustrnd introducerea respectiv prevenirea introducerii unei stri TW, pentru ca

    procesorul sia o decizie corecteste necesar ca semnalul READY, "0" sau "1",s fie meninut un timp minim dat de parametrul TCHRYXmin= 30ns fa defrontul pozitiv din T3.

    Este necesar s precizm c n sistemele n stare normal not readyprogramatorii pot sia o msurde precauie specificnescriind cod executabil

    n ultimii ase octei ai memoriei existente. Acest lucru eliminsituaia n care,datorit preextragerilor de instruciuni i existenei codului executabil nultimele locaii fizice, 8086 ar putea, depind spaiul de memorie fizic, sse

    blocheze n TW deoarece, n acest caz, fr msuri speciale de proiectare,memoria nu mai rspunde prin activarea semnalului READY. Neasignnd codexecutabil ultimilor ase octei rezervm aceastzonde memorie extragerilorn avans ale UIM, executate, aa cum tim, de microprocesor n scopul umpleriicozii de ateptare, i pentru care memoria poate rspunde corect, frcomplicaii hardware, prin trecerea pe "1" a semnalului READY.

    Semnalul READYeste generat de obicei fie numai pe baza decodificriide adres fie pe baza decodificrii de adres i condiionrii cu ajutorulcomenzii, RD , WR sau INTA . Pentru sisteme normale not ready timpul ncare trebuie activat semnalul READY pornind de la adres pentru a

    prentmpina introducerea unei stri TW, cazul dispozitivelor rapide ce potfunciona n ritmul impus de microprocesor, este dat de2TCLCL+TCLCHTCLAVTRYHCH care, n situaia cea mai defavorabil,conduce la 2200ns+118ns110ns118ns= 290ns. Acesta este timpul pus ladispoziie de microprocesorul 8086 unui sistem normal not readypentru ca el sdecodifice adresa i s activeze semnalul READY lund astfel decizia

    prentmpinrii introducerii unei stri TW. n cazul n care este necesarintroducerea unor stri de ateptare sistemul nu are altceva de fcut dect s

    ntrzie activarea liniei READYcu numrul de perioade de ceas corespunztor.

    Pentru sistemele normale ready timpul n care sistemul poate de dataaceasta inactiva semnalul READY, pentru a introduce stri TW pe bazadecodificrii de adres, este dat de 2TCLCLTCLAVTRYLCL. n situaiacea defavorabil obinem 2200ns110ns(8ns)=298ns. Pentru dispozitivelerapide sistemul nu va aciona asupra liniei READYlsnd-o n "1".

    36

  • 7/22/2019 Prezentare Familie x86

    37/97

    Revenirea n starea normala semnalului READY, n cazul modificriilui, se face la nceputul ciclului de magistralurmtor imediat dupschimbareaadresei prin deschiderea latch-urilor datoritsemnalului ALE.

    n cazul condiionrii semnalului READYde comenzile RD , WR sauINTA timpii pui la dispoziie de microprocesor logicii externe sunt mult maimici. Astfel pentru citiri i sisteme normale not readyacest timp, dat de relaiaTCLCL+TCLCHTCLRLTRYHCH, este n situaia cea mai defavorabil de200ns+118ns165ns118ns= 35ns. Pentru sisteme normale ready rezult dinrelaia TCLCLTCLRLTRYLCL un timp de 200ns165ns(8ns)= 43ns.Pentru scrieri i cicli INTA formulele se modificprin nlocuirea parametrului

    TCLRL cu TCVCTV rezultnd timpii de 90nsi respectiv 98ns. Atragematenia c timpii obinui mai sus se refer la semnalul READY de la intrarea

    microprocesorului 8086. n 1.4.4.4, referitor la generarea semnalului READYcu ajutorul circuitului 8284, vom reveni preciznd i restriciile impusesemnalului RDY de la intrarea acestui circuit. Analiza relaiilor de timp alesemnalului READYde la intrarea microprocesorului 8086 este utilmai ales larealizarea unor structuri care nu folosesc circuitul specializat 8284.

    Din compararea rezultatelor obinute mai sus concluzionm crestriciile de timp impuse sistemelor la generarea semnalului READYsunt mailargi pentru situaiile n care semnalul se formeaz prin decodificarea adreseifa de situaiile n care acesta este condiionat de comenzi. De aicirecomandrile ca pentru sistemele n stare normal not ready formarea

    semnalului READY s se fac, pentru dispozitivele rapide care nu impunintroducerea de stri TW, numai prin decodificarea de adres, iar pentrudispozitivele lente i prin folosirea, dac este cazul, a comenzilor. Pentrusistemele n stare normal ready n cazul dispozitivelor rapide READY nutrebuie acionat iar n situaia dispozitivelor lente semnalul READY serecomand a fi dezactivat din timp, numai pe baza decodificrii de adres, ireactivat innd cont eventual i de comand. Exist, de asemenea, posibilitateautilizrii semnalului M IO/ la formarea lui READY n sistemele pentru carememoria este rapidi nu are nevoie de prelungirea ciclilor de magistral, fiindn schimb necesar introducerea unui numr fix de stri TW pentru toatedispozitivele de I/O. M IO/ permite declanarea unei scheme care sintroducun astfel de numr prefixat de stri TW la orice ciclu RD , WR sau INTA indiferent de adresa circuitului accesat.

    1.3.2.6. Preluarea controlului magistralei locale (accesul direct)

    Preluarea controlului magistralei locale a microprocesorului 8086funcionnd n modul minim se face printru-un procedeu de cerere-achitare

    37

  • 7/22/2019 Prezentare Familie x86

    38/97

    analog cu cel folosit de microprocesoarele 8080 i Z80 [5, 9, 27, 28]. Semnaleleutilizate sunt HOLDpentru cererea de magistral, analog cu semnalele HOLDiBUSRQ de la 8080 i respectiv Z80, i HLDA pentru achitarea cererii,echivalent cu HLDAi BUSAK. Pentru a prelua controlul magistralei locale undispozitiv, de exemplu un coprocesor sau un circuit pentru comanda accesuluidirect la memorie, trebuie sactiveze intrarea HOLDa procesorului i satepteactivarea semnalului de achitare pentru a putea efectua transferuri de date pemagistrala local. Intrarea HOLDeste eantionatde 8086 cu frontul negativ alceasului, figura 1.16. Decizia de a rspunde la cererea HOLD este luat nunitatea 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 eantionaremicroprocesorul poate achita cererea HOLDnumai dacurmtoarea stare T esteT4 sau TI. Dacnu, el ateaptsfritul ciclului de magistraln curs pentru atrece pe "1" ieirea HLDA. Dispozitivul care a emis HOLD trebuie smeninacest semnal activ pe toat durata ct are nevoie de magistral. Aa cum amspus mai sus, dialogul pentru preluarea magistralei are loc ntre dispozitivulsolicitant 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 prinHLDA=0 i, dac este cazul, prin reactivarea magistralei locale. Precizm, dinnou, c datorit funcionarii de tip pipeline a celor dou blocuri constructive,

    UE i UIM, operaia HOLD/HLDA se poate face n paralel cu execuia unoroperaii interne de ctre UE. n aceast situaie este posibil ca la ncheiereaciclului de cerere/achitare de magistralmicroprocesorul snu aibnevoie deun acces n exterior i deci, nefiind cazul, s nu activeze imediat magistralalocal. Va aprea atunci o perioadde timp n care magistrala localnu va ficontrolat de nici-un dispozitiv rmnnd n starea a treia. De aceea serecomand, pentru sistemele care folosesc facilitatea HOLD/HLDA, s seconecteze ieirile de comand la +5V prin rezistene de 22k, asigurndu-seastfel meninerea, n perioada de incertitudine, a nivelului inactiv "1".

    Cererea de preluare a controlului, HOLD, nefiind sincronizat deprocesor, trebuie srespecte un timp minim de stabilizare fade frontul pozitiv

    al ceasului. Acest timp, THVCHmin= 35ns, poate fi asigurat dac se face osincronizare extern folosindu-se ceasul microprocesorului, oricare din celedou fronturi fiind utilizabil. Trecerea magistralei locale n starea a treia se

    poate face teoretic dup validarea semnalului de achitare HLDA. ntrziereantre activarea semnalului HLDAi eliberarea magistralei este datde diferenaTCLAZTCLHAV fiind de maximum 70ns. Aceastsituaie poate sderanjezen sistemele n care activarea lui HLDA conduce imediat la activarea de ctredispozitivul solicitant a liniilor de comand. De aceea pentru aceste cazuri se

    38

  • 7/22/2019 Prezentare Familie x86

    39/97

    recomandntrzierea lui HLDAastfel nct sse anuleze zona de suprapunerede maximum 70ns. ntrzierile minime cu care microprocesorul conduce dinnou magistrala local, dup inactivarea cererii HOLD, sunt date, pentrucomenzi, de THVCHmin+3TCLCL= 635ns i pentru adrese/date/stri deTHVCHmin+3TCLCL+TCHCLmin= 704ns, figura 1.17 (s-a considerat c ntrefronturile ceasului ultimei perioade i activarea semnalelor nu existntrziere).Dac aceste ntrzieri nu sunt suficiente pentru ca dispozitivul solicitant selibereze magistrala, el trebuie s ntrzie la microprocesor momentul treceriilui HOLDpe "0". n sfrit, ntrzierea ntre momentul trecerii lui HLDApe "0"i preluarea comenzilor este de minimum TCLCL+TCLCHminTCLHAVmax=200ns+118ns160ns= 158ns iar pn la preluarea adreselor/datelor de2TCLCLTCLHAVmax= 240ns. ntrzierile legate de semnalele HOLD/HLDAi magistrala localsunt importante pentru proiectant care, innd cont de ele, vatrebui s asigure controlul disjunct, fr suprapuneri, al magistralei locale dincele doudirecii: dinspre microprocesor i dinspre dispozitivele solicitante.

    HOLD

    CLK

    Cel putin operioada de

    ceas

    Una sau douaperioade de

    ceasTHVCH THVCH

    HLDA

    TCLHAV

    TCLHAV

    TCLAZ

    8086 Coprocesor 8086

    AD15-AD0,A19/S6A16/S3,__ ___ __RD,BHE/S7,M/IO, _ ___ ____DT/R,WR,DEN

    Figura 1.16. Secvena de preluare a controlului magistralei locale n modul minim

    Rspunsul microprocesorului la cererea de preluare a magistralei,HOLD, depinde aa cum am spus mai sus de activitatea curent de pemagistral, starea semnalului LOCK i a ntreruperilor. Dac cererea HOLDapare cnd LOCK nu este activ, microprocesorul nu execut un ciclu deachitare a ntreruperii i UIM este la sfritul unui ciclu de magistralsau ntr-ostare TI achitarea cu HLDA va avea ntrzierea minim dat de THVCHmin+TCHCLmin+TCLCL+TCLHAVmin= 35ns+65ns+200ns+10ns= 310ns. n aceleaicondiii ntrzierea maxim este dat de (THVCHmin1ns)+ TCLCL+TCHCLmax+TCLCL+ TCLHAVmax= 34ns+200ns+82ns+200ns+160ns= 676nsi apare atunci cnd se pierde o perioad de ceas la eantionarea lui HOLD

    39

  • 7/22/2019 Prezentare Familie x86

    40/97

    datorit nerespectrii cu puin, n relaia de mai sus cu 1ns, a timpului destabilizare minim. Dac cererea HOLD apare cnd UIM trebuie s nceap unciclu de magistral ntrzierea maxim a lui HLDA, incluznd pierderea unei

    perioade la eantionare, ca mai nainte, i o perioad de stabilizare internpentru HLDA, este datde (THVCHmin1ns) + TCLCL+ TCHCLmax+ TCLCL+4TCLCL+ TCLCL + TCLHAVmax= 34ns+7200ns+82ns+160ns=1,676s. Laaceastntrziere se mai pot aduga stri TW. De asemenea, dactransferul pecare l are de executat UIM este pe cuvnt la o adres impar, vor trebuiefectuai doi cicli consecutivi de magistral nainte ca procesorul s achitecererea HOLDceea ce conduce la o ntrziere suplimentarde ncpatru stri T.Se obine n aceast situaie, neinnd cont de eventuale stri de ateptare o

    ntrziere de 2,476s.

    CLK

    HOLD

    ADXX/A/SX

    Comenzi

    __ ___ ____(RD,WR,INTA, __ _M/IO,DEN, DT/R)

    HLDA

    Figura 1.17. Eliberarea i preluarea magistralei locale n modul minim

    Cu toate cn modul minim 8086 nu utilizeazieirea LOCK, prefixul

    LOCK ntrebuinat la programare naintea unei instruciuni nu va permiteachitarea unei eventuale cereri HOLD dect dup terminarea instruciuniirespective. n acest mod se poate asigura execuia fr ntrerupere a oricrorinstruciuni care necesitmai muli cicli de magistral. innd cont de faptul csemnalul intern LOCK este activ nc o stare T dup terminarea instruciunii"protejate" ntrzierea maxim a activrii lui HLDA va fi dat de(THVCHmin1ns)+TCLCL+TCHCLmax+(M+1)TCLCL+TCLCL+TCLHAVmax,unde M este numrul de stri T necesar execuiei instruciunii care urmeaz

    40

  • 7/22/2019 Prezentare Familie x86

    41/97

    prefixului LOCK iar adugarea ultimei perioade TCLCL este impus denecesitatea respectrii unui timp de stabilizare intern pentru HLDA. Rezult, la ofrecvena ceasului de 5MHz, o ntrziere de M 200ns +876ns.

    Pentru situaiile n care cererea de preluare a magistralei se face lanceputul unei secvene de achitare a ntreruperii ntrzierea maxim pn laactivarea semnalului de achitare HLDA va fi dat de (THVCHmin1ns) +TCLCL+ TCHCLmax+ TCLCL+ 10TCLCL+ TCLCL+ TCLHAVmax= 2,876s.Ultima perioad T reprezint, ca i n cazul prefixului LOCK, un timp destabilizare intern.

    1.3.3. FUNCIONAREA MICROPROCESORULUI N MODULMAXIM

    Prin legarea intrrii MN MX/ la GND se obine funcionareamicroprocesorului n modul maxim. n acest mod de lucru, pentru controlulsistemului, se utilizeaz circuitul specializat de comand a magistralei 8288,obinndu-se structuri tipice cum este i cea din figura 1.18.

    Modul de lucru maxim a fost conceput pentru a asigura

    microprocesorului posibiliti de funcionare n sisteme multi-microprocesor saucu procesoare de extensie a setului de instruciuni, aa numitele coprocesoare.Prin adugarea controlorului 8288 conexiunile externe, destinate n modulminim comenzilor i controlului magistralei, sunt redefinite, 1.3.2.3, oferindu-se urmtoarele faciliti: doucanale, RQ GT0/ i RQ GT1/ , pentru preluareamagistralei locale de ctre procesoare suplimentare aflate pe aceastmagistrali care pot utiliza circuitele de interfa ale lui 8086 pentru a avea acces lamagistrala sistemului; semnalele QS0i QS1 indicnd starea cozii de ateptareutilizabile de ctre module specializate sau de coprocesoare pentru a "urmri"execuia instruciunilor; mecanism de blocare hardware a magistralei cu ajutorulsemnalului LOCKpermind controlul accesului la resursele divizate n sistememultiprocesor prin prevenirea pierderii voluntare sau forate a magistralei de

    ctre unitatea central, activ la un moment dat, i garantarea execuiei maimultor cicli de magistral fr intervenia unei alte uniti centrale; alte

    posibiliti de extindere a comenzilor i configuraiilor de sistem cu ajutorulunor circuite suplimentare, cum este circuitul 8289 pentru arbitrarea magistraleide sistem. Analizele de timp descrise n continuare vor ine cont att desemnalele generate de 8086 ct i de cele generate de controlorul de magistral.8288 genereaz i semnalele suplimentare de control i comand care permitalctuirea unor sisteme complexe.

    41

  • 7/22/2019 Prezentare Familie x86

    42/97

    8284 AGenerator ceas

    ___RES

    RDY

    GND

    VCC

    READYCLK

    RESET

    ___MN/MX

    __ S0 __

    S1 __

    S2

    _____LOCK

    AD0AD15

    A16A19____

    BHE

    Generare stariWAIT

    8086

    CLK

    _G

    Latch-uriadrese sistem

    (2 sau 3)

    DIR

    _G

    Transceiver-e(2 )

    GND

    Adrese sistem

    ___ ___ ___CSOH CSOLWE OD

    2142 RAM (4)

    (2) (2)1Kx8 1Kx8

    __ __ CE OE

    2716-2 PROM (2)

    (2) (2)2Kx8 2Kx8

    ___ __ ___CS RD WR

    Dispozitiv de I/O

    Date

    A0

    GND

    Necesare pentrucresterea puterii de

    comanda amagistralei de date

    CLK__ S0__S1

    __S2

    ____DEN

    _DT/R

    ALE

    8288

    _____MRDC_____

    MWTC_____

    AMWC_____IORC

    _____IOWC_____

    AIOWC_____INTA

    ADRESE/DATE(magistrala multiplexata)

    Figura 1.18. Microprocesorul 8086 n modul maxim

    n cele ce urmeaz descriem nti funcionarea circuitului 8288 dupcare vom interpreta diagramele de timp corespunztoare operaiilor externe:

    adresarea, ciclul de citire, ciclul de scriere, achitarea ntreruperii, introducereastrilor de ateptare, preluarea magistralei. La sfritul capitolului 1.4.3 vomatrage atenia asupra unor particulariti ale funcionrii n modul maxim.

    1.3.3.1. Controlorul de magistral8288

    Schema-bloc a circuitului i conexiunile sale externe sunt prezentate nfigurile 1.19 i 1.20. n continuare vom descrie conexiunile externe i, succint,

    particularitile de funcionare ale circuitului.

    S2 ,S1 , S0 , Status, bii de stare. Intrri corespunztoare biilor de stare

    ai microprocesoarelor 8086 sau 8088. 8288 decodific, aa cum se poate vedeai n figura 1.19, aceste intrri pentru a genera semnalele de comand. Atuncicnd nu sunt utilizate, microprocesorul aflndu-se n starea pasiv, aceste intrrisunt n "1" datoritunor rezistene interne legate la +5V.

    CLK, Clock, ceas. Semnal de ceas de la generatorul de ceas 8284necesar pentru stabilirea momentelor n care se genereazcomenzile.

    ALE, Address Latch Enable, validare latch-are adrese. Ieire activpe"1" destinatmemorrii ad