Introducere in Microprocesoare_Part11

download Introducere in Microprocesoare_Part11

of 6

description

27

Transcript of Introducere in Microprocesoare_Part11

  • i .,.r, INSTR'J':',NE iI FjTA I ISEI'4NALI OE TACT

    6 EN ERAT Er'4I T ROPRO CESORULUI

    o)

    SEMNAL 6ENERAToe clrnttlrcRoPR0cESoR

    ( sYN CR0 )

    c)Fig. 4.4. Diagramele semnalelor de timp furnizate citre gi generate de

    citre microprocesor: a -

    semnalele de tact furnizate unitd.fii de control;b

    -

    tactele care de{inesc perioadele de timp elementar in pP; c -

    semnalulde sincronizare (SYNCRO) generat de cbtre rnicroprocesor

    aceste st5.ri fie ca perioadi a impulsurilor de tact 76, fie ca perioadi aimpulsului generat SYNCRO (care poate fi generat pentru un anumitnumer de perioade T6).

    Durata unui ciclu (instrucfiune) poate avea un nurner fix de st6ri(faze) figura 4.5,a sau un numer variabil. in cazul cind ciclul instruc-liune are un num[r fix de stlri pot exista ;i instrucliuni mai complexecare sA necesite pentru realizare mai multe st5"ri decit intr-un ciclu.Figura 4.5,b reprezintl aceasti situalie cind instructiunea in curs con-suml gi stS.rile Tt,T, din ciclul urm5"tor, iar pin5. la incheierea acestuiciclu mai existi stirile ?r ;i Ia. Instrucliunea urm[toare nu incepein intervalul ciclului aI doilea, ci in ciclul al treilea (r5.min dou5" fazeTs;i To neutilizate). Situa{ia aceasta nu existl cind ciclul instrucliunenu este fix, ci contine un numer (variabil) de st5"ri, cite sint necesarepentru realizarea instrucliunii. Uneori, pentru scurtarea timpului derealizare a instrucfiunii ciclurile instrucliune se suprapun ca in figura4.5, c (desenat cu linie punct). Acest artificiu de scurtare a timpuluiinstrucliunii se bazeazS, pe faptul c5. in etapa de aducere (FETCH) ainstrucfiunii sint ocupate numai traseele desenate cu linie groasi din-figura 4.3,a,4.3,b, iar in etapa de execulie numai traseele din figura4.,3, c. Deoarece trasele de transfer pentru FETCH ;i pentru execufienu se suprapur.r. se poate realiza, in paralel (pipelining), executareainstrucfiunii curente cu aducerea instrucliunii urmS.toare. AceastS.metodl tip cottductd. este curent folositS. Ia microprocesoarele rnodernede mare vitezS. extinzindu-se paralelismul la grupuri de instruciiunicare sint aduse, in timp ce alte grupuri sint executate.

    In continuare, se va urmS.ri funclionarea microprocesorului cu struc-tura riin figura 4.2, pentru rularea unu.i program simplu

    -

    adunarea a

    120

    SEI'4NALUL5Y N CRO

    G IN SRAT

    o)

    ilnstrudiunehieste cilitd. Illo memorie reste ciitt

    lo odresr isi depu:lo odresr isi deDUso Iirnstructiunir lrh reqrstrul II lde rnstruc-lI tiuni I

    I iDECOOIRCAREA S'ID.rEREA ir'srnrrr- :bxEC.tNSTRLrctluNll ii-utrr tngrcul r I

    | *,,rut .'.t,I FR$/uL ctcLu - iAL QILEA clclu,LUUILTALIULU ,l .A!_.

    FAZA iTEEIqACICLU: Yf jCRO :-_!:

    ---l 13- 14- Ll- 12 lb) r FETCH Ii+-- ^__-.-

    . C:.LU INSTRLCllU]!!---.]--- , r'l1rt__-^.,1r l-LlUhI rL'u, >lI CICLU INSTRUCTIUliI CICLU INSTRUCTIUI]Effitl li:et6r ooud I

    JinstrucJiuni I

    tlmD @mun,elor Joud I

    I INSTRUCT.\..rpomnonnreI FETCH

    c)

    l-\srnpd u!qa- lBlAIQiEr -'+s!$-l

    Fig. 4.5, D:sfirguralee in timp a realizS.rii unei instruc-liuni: a

    -

    delirnitarea {azelor de FETCH gi de execu}ieDentru un ciclu instrucfiune fix; D

    -

    reprezentarea in timp:r, ciclului instrucfiune care deph;egte lungimea unui ciclufix; :

    -

    suprapunerea in tintp a realizS,rii a douS' instruc-fiuni (tip conducti)

    d.ou5" numere. cele doul numere pentru adunat A ;i B sint stocate inmemoria de clate Ia adresele 0 ;i 1, iar rezultatul va fi inscris 1a adresa 2,figura 4.6, a. Realizarea acestei operalii se face cu urmitoalea succesiunedJ instrucliuni (care constituie programul):

    LOAD OADD 1STORE ZEND

    Acest program este inscris in memoria de program.e de la adresa 0 pinSIa ac1r6sa1, figura 4.6,b. Semnificalia instrucfiunilor. este-urmS,toarea:

    -

    LOAD"0 -

    se incarc[ acumulatorul cu conlinutul localiei dememorie de la adresa 0;

    (4.1)

    iffi,?ii'^,"'Tl'o* i"1f#J,,,ir,^l'-'l-o- 1 "i " t3 t1 tri

    121

  • MEI'iCRlA DEANRFSA

    IIEYOR A OE PRO6RAI,]3 REAL]ZAREA INSTRUCTITJNII LOAD 0^

    FETC|]01

    8UF FER DEADRS'ARE

    SEMNALE DECOIiANDA IOADLl1 _ _ _ _ _ ggltol*qq _ _ j i1t1f _ *_ _ _c9ttA'1q4 LoAD_ _

    -

    _j

    PRIHU'- CP:RANDAL OOJLEA OPTRAND *RtZULTATi- ADUilARll*

    0

    ?

    0

    2

    3

    (1 n0 -tA t CLL I.S-kUf' LIE --ADC ] -' ".':-

    Fig'de date:

    Explicativd la programul din relafia- 4'I: o - conlinutul m.emorieico"!i""t"r metjroti"i de instrucliunii c

    -

    etapele de realizare ainstrucfiunilor

    Fig. 4.7. Traseele gi elementele afectate in cele douX. etape(FETCH, EXECUTIE) ale instrucfiunii LOAD 0.Je instrucfiune; aceasta implicS. o memorie de date si una de instruc-iiuni. Fizic aceste douil tipuri de memorie pot fi realizate de o singurlmemorie in care sint stocaie atit datele, cif gi adresele. Atit cuvintul deinstrucliune, cit ;i cel de date sint de lungime de n bi!i, dar fiec[ruia ise d[ interpretaie diferiti. Revine responsabilitatea prograrnatoruluica la adresele de unde se citesc date si se g[seasci cuvinte de da!e,respectiv la adresele de unde se citesc instrucfiuni si se glseasci cuvinte.de -instrucliune, altfel microprocesorul poate interpreta datele ca in-strucliuni ;i instrucfiunile ca date. l

    DeSf[gurarea in timp a unei instrucliuni pe intervaiul de un ciclu:rinstrucliune este condusI de sernnalul SYNCRO generat de microprocesor.

    I T'I

    I

    c)4.5.A

    -

    ADD i -

    se adunl Ia conlinutul acumulatorultii conlinutul loca-fiei de -.*oti" d,e ia adresa 1, rezultatul adunirrii se obline tot in acu-mulator;

    -

    sToRE Z -

    se stocheazi (inscrie) conlinutul acumulatorului inlocatia de mernorie de Ia adresa 2;-"--'- BXn

    -

    informcaz!' microprocesorul de 9fiL9i!. de prograrn'Se presupune ct *i.toptot"iorul are ulr ciclu fix pc-ntru {iecarc

    i"rtti"tii""", i"ttt.i qq1l1,11".{aze succesive ; primele dou[-71 qi T2.irrtt ui".t"tl pentru FETCH, iar urmS"toarele dou5" T,r ;i Ta pentruexecutia instructiunii, figura 4'6, c''^""F-itr";;;J;;;;1" t"i*p ({igrrra 4.6, c) a primelor do.r.r[ instrucfiuniin fizu;it; +.t Ei +.s .i"l a.r"'nutJcu linie irigro;ati trascele 9i clementeleafeciate in ficiare din cele patru faze'-^--ni;

    explicatiile anteri6are se disti'g doui tipuri de citiri alc me-*o"iJ'""iili;;-;"; -instrucfiuni (adresatl de c-ltre numarltorul dearlrese, PC) in etapa (.i.f"f) itgfCH, comprrsft din-{az.e]e T1 ;i T2 9i.ci-il;;";ii;;" i;'d;.;; fiirid furnizati prin cimput_a dresa operandului)il.;J;; f, ain'etap" d"

    "*..o1ie a ins-trucliunii. E_vide1t,c5' micropro--

    ;;r;;;llrr-6",1G rl pJ"ta tu.e disiinclie intre o adresd de date;i o adresl

    L22

    T?i tlr'lF1 l"i'oi

    SEMMLE DE

    123

  • Fig. 4,8, Traseele 9i elementele a{ectate in cele doui, etape(FETCH, EXECUTIE) ale instrucliunii ADD IDar semnalul SYNCRO se obline dintr-o succesiune de impulsuri mr.rltmai rapidI a orologiului elementar, care determini' un timp elementar,figura -4.4. |n fiecale timp elementar un impuls de_orologiu elementarv;Iideaz| o operalie elementari (microoperalie). Modul cum se compuneo stare (fazl) din operalii dhmentare se va explica prin considerareafazei Ta'din Liclul inttruclie ADD 1, figurile 4.6 ;i 4.8' In aceastS" faz[UAL adund operandul Z (ain acumulator) cu operandul B. (care a fostcitit din mem6rie ;i se afli in tamponul de intrare (ie;ire), iar rezultatulA + B se va oblirie in acumulator. Considerind f'aza Ta compus[-dinpatru timpi elementari tr, tz, ts, ta, frecare impuis elementar va valida ooperafie elementari din urmltoarea succesiune:

    t24

    -

    in timpul elementar'/1 se valideazi intrarea numirului B intamponul de. intrareiie;ire;

    -

    in timpul elementar 12 se comand5" deschiderea porlilor carepermit introducerea operandului ,4 la una din intrdrile UAL, iar lacealaltl intrare introducerea operandului B;

    -

    in timpul elementar 13 se realizeazi operalia de adunare in UAL;-

    in timpul elementar la se comandi deschiderea porlilor pentruinscrierea in acumulator a rezultatului adunlrii din UAL.

    4.3. Elemente complementare ?n structura unuimicroprocesor

    Elementelor structurale de bazl, din figura 4.2, h se pot ata;aaitele complementare care mS.resc puterea de procesare ;i versatilitatearnicroprocesoarelor.

    Fegistrul, indicator de con'tli,lii. In cur.intul de stare al programr:lui,PSW, in afara celor trei indicatori de condilie standard (CARRY/BORROW, SIGN, ZERO), bifilor disponibili li se pot ataga unn[toarelesemnificafii:

    l. Indicatorul de transport auxiliar, AC (Auxiliary Carry) careindic5. un transport, AC : 1, din bitul 3 in bitul 4 (se presupune uncuvint de un bait).

    2. Indicatorul de paritate, F (Farity) are valoarea P :1, dacisuma modulo 2 a bitilor rezultatului unei operalii aritrnetice sau logiceeste 0, adicl cuvintll are un nurni-r put d" lili unu ; in caz contrarP :0.

    Regi,s.lre cu, u,til'izare general'd. Aceste legistre de utilizare generalS"sint cele'care sporesc versatilitatea microprocesorului si care eliminS.barierele diir calea imaginaliei programatorului. In unele microproce-soare aceste registre servesc doar ca simple locafii (interne) de memorie,pe cind in altele sint dotate cu putere de procesare aproape ca pi acu-mulatorul, pot afecta indicatorii de condifie/ UAL poate depune datein ele. Foarte importantl este posibilitatea de transfer intre acesteregistre de utilitate general5" gi dac5 au acces de inclrcare a registruluidgadresare;i a registrului numlrltor de adrese.(adic5" pot participa laschimbarea

    -

    calcularea -.ordinii de citire a instrucliunilor). Sint, ingeneral, de iungime de S bifi, dar pot fi luate cite doul

    -

    registrepereche

    -

    extinzindu-se capacitatea la 16 bi!i.Registre tentporare de da.te. in figura 4,2 circuitului UAL, care are

    o structuri combinafionalI, i se aplicl cele doul cuvinte pentru procesatunuldepe magistrala de date unde este pus de taryPg"gl IIO;icelllaltide la acumulator. Intr-un pP pe cele doui intrbri de la UAL se interpundoul registre latch, unul acumulator temporar (acumulator latch)gi celilalt registru temporar.

    REAI] ZARA INSIRUC] J UI.] I ]F-TC Fl

    125

  • " semnale generate gi primite della microprocesTr. Pentru a slpervizafuncfonarea ?ntregulii inicrosistei" (rrS), -microprocesorul prime;te 5igenereazi semnalele:" 1. Sl'.ly'CRO, acest semnal generat de uP di posibilitatea ca elt--mentele exterioare sl se sincron,lr"ze cu etapele proceslrii efectuate demicroprocesor.i. CnnnnE DE IXf nnnUpERE,INT (Interrtrpt request), acestsdmnal este generat de cltre un periferic care soliciti intreruperea;;;;i"ii iru"i" a pP ;i indreptarea alenfiei acestuia asupra perifericuluiin cauz5.

    S. READY, semnal generat de cltre o mernorie cu timp de acces**i mnr* decit etapa FETCH a pP gi indicS. acestuia s6-;i prelungeascS.etapa oini cind datele sint valide pe magistrala de date'-

    -'-i.'jiV,IXfUf DE STARE lal miiroprocesorului). Fiecare "!"plin care se afl1 microprocesorul, in'decursul'realizlrii unei instrucfiuni.

    "tt"-a"fi"ii1-printr-ui" cuvint de stare (a nu se confunda cu cuvintul

    de stare al pfogramuiui, PSW, care este format_ din*bilii indicatoriiorJe iondilii)."Ac"est cuvint de stare este generat de-pP Fl are rolul de aiodl.u el'ementelor exterioare operalia care se tealizeazl in etapa res-pectiv5 (citire memorie, citire'periferic, inscriere memorie, inscriere5"rit*ti..'or-t"ti" i"t-r"a). O" ex'emplu, in figura 4.9, a cste reprezentatilb;l; a"iA*at, iar dia.qrama in timp, figuia 4.9, b,

    'cntru .tt cttvittt

    ,.1e stare de doi biti St, S0. Bilii cuvintului de stare (care_sint-asarnblatiin rnagistrala de contiol) in conjunclie cu bili de pe-magistratra de adre-sare sfnt utilizali pentiu seleclarea elementelor exterioare in vedereaunei anumite operafii.

    STIVA (Sf ACK). Uneori in rularea unui program este necesard'tdrisirea citirii instructiunilor din ordinea lumiririi naturaie, aceastafii"a .""r"t5 fie de o 6"t"t" cle intrerupere pornitl de la un periferic,fie de un salt la o subrutin6. I a aparilia cererii de intrerupere, daci esteacceptatf, microprocesolul slsteaZl execufia. cure-ntl ;i trece la rularea-urnufsubprogram care este necesar satisfacerii perifericului care a generatintrerupereal Sao uneori, ln caclrul unui program, o anutnitii. succesiunecie inst-rucfiuni se repetd in di{crite puncte ale programului. AceastS'succesiune' (swbrutini) se scrie o singuii datl in memorie ;i este apelat[(Ca11) ori de cite ori este necesal'. Deci pP trebuie si luleze acel subprogram(apefat) sau acea subrutinl, dupl care s5. revin[ in programul ap-elantii-sa-;i reia operalia curentl (intreruptS.).. D_ar pentru. aceast5" reluareeste nbcesarl pistrirea (salvarei) intr-o aiie de registre interne a adreseide revenire in programul apelant, care este conlinutul

    .nuurlrltoruluide adrese, PC. Aceistl arie-de registre este denumitS. (registre) stiad.Dar dupl cum pentru referire este necesar un numlritor PC, tot. a;aSi pentiu referir:ea la registrele stivei este necesal un numlrS.tor indi-iador de stiv5"

    -

    pointeiul stivei -

    SP (Stack Pointer).O structuri de stiv5. conlinind ly' registre permite Jr nivele de

    subprograme (-l/ programe apelate succesiv)' Cind 9n .program esteapeiat,-adresa de r-evenire in piogramul apela-nt ce se afld.in PC (aceastaJiind. adresa instrucliunii imediat urmi.tolre instiuc{iunii care apeleaziprogramul) este stocatl (Fush) intr-un registru ai stivei. I a terminareaiublrogramului apelat adresa de reluare

    _

    a pro$aryului apelant estescoisa-(Pu11, Popi din registrul.stivei ;i introdusi in nunirS.torul deadrese, 'deci se iirntinul "succesiunea iirtreruptS. a instruc{i'rnilor. lncazul cind programul apelat apeleazl la rindul s.1u un alt proglam,acesta apelindla rinduisiu un alt progrSm gi a;a-rnai dcparte tretruies5. se deiuni ,,imping{" in stiv5" succesiv adresele instrucliunilor derevenire.^ Ordinea -de -scoatere din stivl a adreselor de revenire esteinversl in raport cu ordinea de depunere in stiv5., adic5" ultima adreslstocatl in st-ivd. va fi prima scoasl din stiv5", aceastl operat]e fiinddenurnitl (abreviat) ultima introdusi

    -

    plima scoasd, LIFO 1I ast InFirst Out).'Metoda de lucru LIFO se realize-azi 1'.in fapiui ci pointerulstivei (confine) indicir totdeauna virfui stivei.

    se va explica modul de lucru cu stiv5" considerind o structurl de;apte registre^stiv5", numerotate de Ia I Ia 7, ca in figura 4.L0, b. Pro-gramul lrincipai (apelant) ocupi spaliul in mernorie de la adresa 50iar la adresa i00 esfe o instrucliune de salt ^la primui slrbprogram careare adresa de inceput 200, figura 4.10,a. In momentul cind instrucliunea (de salt) de'ia adresa 1b0 este adusi in registrul de instrucfiun

    127

    5l )1{J 0 0perotie iniernA ( in ) nicropr0cesorc

    -icropcocesorut irimite o odres6 pe nogistrolo de odres1 0 Mirromcesorut etectueoz6 operslis ds citire din mPmrie

    I It,clootocesorut efettueozd 0perotio de'iiscriere ir mencrie

    l____-J

    j tt't I tt=o Is6'i'l potlunoricevaloriI H r -:t'r,.=orul IOperotie de leclurd I in ;unctie de n sturo insiructiunii. trrr :: l qiresd l(cLi reo rnsfr!.tiunir I 'l,r:,.r='i-rl.rir,un..) liore vo 1i ploso"d 1 de exec:lo+ (opera' e rterni,

    r in reoislru I le ;I l'".-:J,iiu" i- ' criire.:nscrie'e )l;|

    ----l t ..,-.,,-,-

    Fi,g. 4.9, Cuvintul de stare al microprocesorului: a -

    tabelul de adevAr al cu-

    "uiot i a" ,,oi"; b _ diagram:.

    i""liilirfiXi,?.bi,tii cuvintului de stare pe durata

    la6

  • 50 {primo in -51 struc!runel

    100Aml to orimulsubormrcim loslr'esd 200 4!-rmsrrc

    lfush"

    fldi--liIE:v L--J1rli5^ l--lel-----lz

    @Execgjio ope-Reintcorcereo in r

    Fi,g. 4.10. Mod de lucru cu stiva: a -

    inlinfuilea subplograrnelcr apelate; \b -

    variatia confinutului num5.r5,torului de adresc 9i a registreicr stivci iumodul LIFO

    dc rer.enire scoate din stivi. adresa 206 (ultima salr'ati) ;i o introduceii., ec, iar instrucliunea de revenire de la adresm 2l0 r'a introduce in PC,-.o"t"i"t"r r-egistrului I al stivei, adicii adresa 101 (prima salr'ati) ;i sereia programul princiPal.ir "rularea progiamului apelat, confinutul-registrelor interne cur.atrori din progra;rui apelant \a fi alterat, deci la reluare in aceste re-g;t*, pi"U'"lii, r,or fi rlalori tle la ulti'rul subprogram di' care s-a ie;it.Rezultir cl este necesar uneori, Ia plrisirea unui program, ca.pe lingisalvarea ad.resei d.e revenire sl se d-epun5. in stiv5" $i conlinuturile. regis-;;;i;;; .""1i" i"t"ri utile in procesirea. ce va fi reluatl la revenirea inpt;g;; (evident, pistrildu-se principiul I-IFO pentru a-nu se schimbaionlinutuiile intre-elc). Dar, pentru a pistra. o astfei de cantitate de;;;i;i; ;; ii i"sufi.i"ite r-egisfrele unei itive din,nteriorul pP. O locafiedin memoria RA\{ poate ii utilizatl in locul.unui registrq ({izic) de,ti,ru,

    "."u.ta fiind p&alizat5" cu cresterea timpului d5 acc5s

    ^

    In memorrese afecteazl un nutrii,r de localii cr-r rbl de (registle) stivl,. iucit siL acopereun numir de nivcle de subprogratrte oricrt tl,'tnatc. Poinlcrul stivei vaindica totdeauna ,,virful .fi,r.i', adiciL adresa ultimei localii din stivI"irr ."r" s-a depus un cuvint. Stiva poate {i constituitii in sus, aclicl.""i"t"f" sint hepuse in stir'5" la adreie -.uccesive crescitoare ;i in. acestcaz Dointerul SP este lncrementat Ia o instructiune de salt si este de-:i:##ili'p.i'".

    "'instrucfiurre de rer','uirc. Cincl s{ira cstc'construiti

    in ios (cre;ie in jos), adicI cuvintele sini depuse in stivl la adrese succe-sirre descrescitoare, pointerul SP este decrementat la operalia de ,,im-pingere" ;i respectir: incrementat Ia opcralia.rlr"'st'o.alere"'' "C,,

    "i.-"nt"l" componente Ei cu lrrnctiiL' eusiliare f unctionarii

    *i.r.pto."irt"fui, strr.rctirra de principi. din figura'1.2 se poale completa,oblinfndu-se structr-rra din figura 4-.I1.- Strtrcturile cornerciale de prPa"'S Uili dupl anumite simplificiri ;i eliminiri, pot fi adusela aceastS'.ti*t"ia ldiclacticr"L). in aceasli structr,iri s-a,-r adiugat ;i porlile nc-cesare p"rlir., .on".i"r"u diferitelor elementc la magistra]-g, po-rfi vali-a"G ad semnale generate dr: cirtre unitatea dc control. 'lotoclatls-autielrtut gi semnale"le generate;i primitc dc ciitre unitatc'il clc colltto1." n) Semnale pi-imite de unitatea dc contlol:

    -

    bitii oblinuli din decodificarea instrucliunii,-

    semnale'de clock (pentru validarea" operi1liilor elc--mcntale succe-

    mo-rrofrrc

    :ET:tt2irtrxF=iEI

    fzro lpci@;i=lEr(4)txecullc fern-

    loorcenr

    b)

    Apeloreo Dr imulu i subprc.qrqm (odreso Zffi lNurn6n6torut de odrese

    rh-rpc

    O Exe%lo ope- DUpo qxecuo9elofll

    1

    23t,567itio

    lui ot 2-16

    @Pc,Ftrl.l tI 206 12FIrt---.1 "tt5l'.........-.f-lr

    Dup6.e-m!ioOPelor r i

    mul suboroarom (odreso 206i

    @ Exeo.:!io .opel6

    fll

    TZar'61rc

    l-Tdll rl---12fioI 11I 15Eg

    Duod exa:utrcopel6r!l

    Rdintoorcere in omul princiDcl to cClesc 01

    o)[lOil pc

    =iE;DuDd *utioreintoor c eiir

    (urmind decodificarea) numiri,torul de adrese este autonat incrementatia adresa urmitoare'101 (adresa de revenire in programul principal).Instrucliunea de salt executi salvarea adresei 101 in registrul 1 al stivei;i incarcf, numlrltorul de adrese PC cu adresa ?00 q" incepu_t a primuluiiubprogram. Acest subprogram ruleaz6. pinl la adresa 205 in a cireilocalie este stocatS. o instrucliune de salt-la adresa 300,,inceputul celuide ai doilea subprogram. Conlinutul 206 al lui PC estesalvat inregistrul2 al stivei gi in lbcul lui se incarci valoarea 300. Se ruleazS" in continuare'pini la insirucliunea de reYenire de la adresa 308. Aceasti instrucfiune

    128

    sir.e) ;'- eventual semnale de Ia fanioanele cliir registr'.rl c1c stare al pro-

    grawrtilrri (C {RRY, OVERFLOTV, SIG\ ctc'):semnalc din ertcrior genr.ratc dc mcmoric, pt|i[r-riee (RE-lD1',

    1f7-ERRUP? etc.),6) Semnale generate de cirtre unitatea de cotltrol:-

    semnale pentru validarea porlilor de pe magistralc ;-sernnalepentrucomandaoperafieiexecutatedenrictoprocesor1."t .tra" *iitali'i arlttnetice ;i logice, cornanda acumr-rlatoru1tri, comanda

    129

  • MAGISTMLA EN,DI DATE MAGISTRALA EXT E ADRESARE

    urmitoare. ln figura 3.20 est'e expusi o structurS" de principiu a unuipr_oceso_r compus dintr-o parte de ptocesare RALU si o parte de controlASlf. Structurile pe bazi de microprocesor din figurile 4.2 satt 4.11 potfi prir-ite ca o detaliere pe partea de calcul (procesare) a celei din figura3.20. Daci se detaliazi. si partea de control se adaugS. ;i o memorieR0}{ cie control, CROS'X, se obline structura din figura 4.12, la care inpartea de control se disiing urmltoarele elernente:

    r---- -_::trP SIffi PENTRU

    MA6ISTRALA OE DATE (8 BITl)

    _t

    SEHNALE OE IOI.,tANDA

    BtIR01NSTRUC'IlUNt (15 BtTt )

    SYNCROREADY INTRERUPIRE

    CR I STA:

    Fig. 4.11. Structririt deSTARE

    semaalele de control 9i comandimicloprocesor

    la un (po-

    operatiei cu stiva, cornanda incrernentirii nuurlrltorului de adreseetc.);

    -

    semnaiele cuvintului de stare {STATUS, So, St), semnalul desincronizare SyACRO pentru coordonared elementeloi exterioare mi-croprocesorului. \

    Totugi, elernentele erpuse pin5" acum desprc unitatea de controlsint de nuanff descriptivi, o erplicare aminunliti a funcfionirii sepoate obline doar prin prezentarea unci structuri microprogramate.

    4.4. tfnitatea cEe control microprogratinatilMa;ina cu algoritin de stare, ASM (5 3.4) este un circuit secvenfiatr

    la care algoritmul de funcfionare este inscris intr-un ROII sau PI-,\Prin aplicarea unei adrese la memoria ROM se obline un c'.rvint deiegire ce contine doui cimpuri: cirnpul de control si cirnpul de adresi

    130

    pf1{1crplu,sibil)

    { tt iltr{rtyilt0RiE cE t.1ttR6PRCGRAr'1a

    :R O M

    JNITATT DE '5ilAI'J'A I

    l

    IACISNALA DE ADRESARE I 6 BITD

    SUFrtR 0t TNTRARE/lE5tRt

    C]OI'4ANDA zuFERDE AMBARE

    COMANDA FUI'JC11DNARl{ IJAL

    A']tr{IJLATORTEMPORAR

    VALIDAREA PORT]LOR DE' PE MAGISTRALA DE

    COMANDAACUI"JULATORULUI DATE9t A REGiSTR:LOR 0EUTILITATE OCTITR,ITA

    crSNtAl.rDA ffE6OE ADRESARE SiA POINIERJLUIstrvEr trucREv+r-l ACUHULATOR (8BITI)

    UN'IATTA OE CALTUL

    D ETODIFI CATORUL iTiTROINSTRUCTIUNILORDEIODIFITAINSTFUiTIUNILOR

    Fig. 4.12. Stluctura unui micrcprocesor microprogranat

    131