Introducere in Microprocesoare_Part4

download Introducere in Microprocesoare_Part4

of 6

description

34

Transcript of Introducere in Microprocesoare_Part4

  • Al po+.rulec borAl trei teo l-.oltAi CoiLeo boiiFrimuL l-.oii

    i:ir in al patnrlca octe t cxpcncn+,ul ,clr sclnil. Cu. acc;ti patru o^cteti se1-rot reDr;enta nunerc ii intcr-,'ah.ri

    -223X21'ji

  • ln figura i.13 este reprezen'cat, inti-un registru cu capacitateade un bait, cuvintul Ce cad- B4Zl pentru numlrul zecimal i]6' Daclnumir.rul zecimal este rnai rnare de 99, atunci cuvintul de cod necesitS.rnai rnult de un bait. De exeinplu, num[rul 9438i10 va avea corespon-
  • Tii.belu| 1.7Coduriie .{SCtrI si EtsC}IC

    Ctilacter Crrl C.,tl ^ (orl ol

    .\SCII JlIICDIC I:I..''E;. .\SCII 5DI DiC

    110,40('.\ \ li .l' il

    _

    .-

    ,-_; _.._t 'F _ l. il

    -,!l -i4__ :3 lB c -1.1 _c I _

    ' _.'r'

    -

    lll {F I li -iB I ll'l IlC,6B-L-4CD]i-:C , a-U L -lC D] i

    - :tl- r.r' ]l {D D{

    c: : '3 lr l.J t II25 6C E i5 (.5 I

    .- t6 5rl f if' C6'l--nG1*(

    --,r 'tlr H 4\ i^

    l_ j_ .t, .5D r ''19 ( e- :.\ :c I {.\ I,l

    ')p rF tr- +n I l)l I

    | ,t'. 1.X4. -tsarnblarea intr-un ",'rt1_1,i]l,l"ol#l.i .Ot iliirirni jizice cli{eritc (cr- ex-

    1 .'i'.r'cu ciouir, stiiri), de exen-ipu, in {igur;r 1.1-1. Acesti biti pot fi proce-'r,liseparat ica iu c;,.drul circuitelor icgicej saLl se opereazui asupria intre-;'r ll,.-,i cilvint ceea ce L.ste p-ropf iu sistemelor cix tnicroprocesoare.

    1.5. l*{ogiunl de aritnretic6 binar6Dup:r c,.rin s-a aritat la codlficarea intormaliei, nicroprocesorul

    i t)rl:eaz5" {pi-oceseazir) asupra cu\'intelor indi{erent de sensul semtiur'ic,rl ini,lrma,iiei ce se atribuie aceiuiagi crir:int, Sarcina ca intr-o proces?.rc.ri participe cuvintui care contine infor-rnafia utitri re\iine programato-ru,liui ctreoarece uP proceseazS. cuvintul, indiferent c1e seurantica iuj .

    Adunarea cuvintelor binare. Operaiia de adunare a doi bifi se face!on{olm tabelului de ader'5r din figura 1.\5, b. Circuitul s'dnator (com-lrlet) ) are scherna bloc reprezentati in figura 1.15, a, a\/indcaintrii'icei doi bili a ;i b gi bitul de transfel anterior Cro,,, iar ca ie;iri bitul rezul-tlrt Z;,, ;i bitul de transf er uffnetor C;.". Pentru adunarea a douiL currinteile n bili este necesar si se inserieze ,, astfel de surnatoare de cite un bitta i;r {igura 1.15, c (n:8 pentru ;rF standald). ln aceasti figurS, se

    teaa::atlt;:a.:a::Jt

    Sub rin;:5ir: lriii

    fur.:11cneoz6Ccie.loi :loi e lloii^_",-Derrsitln lur:,ie efeclu3ieP?:1e IjmitdP;:1r. iimitb

    il) hll -\l \t) ) u1

    JE .IR \ 4F. Di, j..

    -(,1- O 4F lrh]F .IR \ 4F. Di

    L c I l0 irO !P '50 Ii:l-L-

    -

    !r- -t-[ c 51

    Ds

    f :l F: R ' 51 D9i ij r.] s 53 F.2

    _

    3_ 33 _FJ I s 5i I, I'24 34 l-4 r 154 Ei

    ,t .,t l-5 'l I' 55 E46 :t(' Fr, ]\- lxi us1 \i F7 :l \\' .57 E6

    tr

    s .::. F5 \ 58 F7_I .19 Fq lY ,.r9 1 ils

    : .lA i- iA L I -5-\ Eq':-,.

    a1 oo

    br bol

    cC2 H-#71 zo

    registru Zbl-5B ] -AD

    -ic 4C / .5C

    -,t--

    o)

    Fig. 1..15. Adunareabelul de adevir al

    Fqnion { bit)d e lransporl

    clc-uvintelor binare: o

    -

    simbolul sumatorului de doi bifi; b -

    la-adund.rii a doi bili; c

    -

    schemd bloc a sumadorului pentru douAcuvinte de n bifi,

    o b ini r z re:00001

    1

    1

    I

    00'I

    1

    001

    1

    01

    01

    01

    01

    01

    1

    01

    001

    0001

    01

    1

    1

    40

    I > | :E 6E ll ,r 5Ei .sFI i I 3F i on ll - 5F: 60

    41

  • considere c5. cele dou5. cuvinte cale se aciuni" sint situate initiai in dou6registre (registrul , gi B), iar rezultatul se va gisi ?n registrul Z. l.nsiructura rnicroprocesoarelor exisiS. nurnai un registru, registrul J(denumit reg'istrw au,nnulator) in care se pb-streazi- un cuvint, ceiXlaltcuvint B este adus din memorie si insumat cu ,4 intr-uu sumator rjl:il biti, iar rezuliatul depiis in registrui Z care este acelasi cu registrui ,+(rezultatul se obline tot in acumul.ator). Dac5. cuvintul rezultat d"eni-je;te capa-citarea'de 8 bili bi'iul de transiei de!abr la &, (pentro.ut*'**eristS. Ioc in acu.rnulator) se inscrie intr-un bistabil exterior (care ar pnteafi. consiclerat bitul al 9-iea aL cuvintului) denumit bit de transport"fanion de transport, simbolizat prin abreviafia CY (CARRY). De eremp!,u:

    CYil.-0ti10010rl

    1000 00c0 (-128)1 1_1 i 1 1 1 1 (-1)

    t 1 1 1 1 1 i {,t-12}, rezutrtat gresit)0111i11i (+127)

    Y 0000 0001 (+1)

  • " '1,r-cit,-'"1tri

    000u 0011r Ll n I 1bai,ti. :r inc,:pr,t

    il)-TS

    1 6't-_ir.J r1,1) fiecareaciunu.ca, cifrelor

    :> i00i_t-1 000

    din cr.i doi opi:ranzi oc,-lpindcele rla-i. putiil s.e.mniirca tlvc' Scdderea culintetror biliare.

    llr J.-1',11 ltrnli.tloi :000

    (t) i-')i10 10i0 (2)

    1- ; 1- ; 0- ; 0- J)t.sclzut0l0iSciizirtor101, lDi{erenia

    CInr[ st' sc;rt]e i clirr U rsic fiicut r.Ln iitrprr,rmritriur. [inc1 se

    -scad doui. nurnere cu lungiince cielr, fel ca si la :rdunale, crL cristi p, ntni clesci;,-r-rttr';insport CY. Se corsiclerir ulniLtoalcle clou.iL o1,r61r'r :rltere f r'ir;i sernn:

    ,-r-

    i', _._ j I L) I 0 0 0i-n1010110

    f)pt'l'ati:,t t'le scl'rtlcrer a c1c'i Lifi se t'acetr ' Iirpr-umr-rf

    la LlrLrl ,1.' ''.

    r'.. r'.',' '-un bait se considtri.,al. 9-1ea bit, bitLil cie

    alii c1e scirclere peltti'il

    L-T

    E-'0o0o 01o imprurnttI 10 iI)escirzr,rtI 0 1 1Sciziior

    : _j + (-B), (1.24)

    fa1[ de 2. De exemplu, opera{ia de

    i *7-

    000 [ lrezuitat 3r'e;ir)AC

    Dr:o?rcc.e procesorui. adr-r.nir irr binar, adunarea a dou5. tetrade impilc[o capacitat! Fina la modulo 16:Zt, rezultatui poate fi gregit pentlu cIin codul BCD capacitatea r-rnei tetrade este doar 10 lnioaulo ttti. D*:cieste necesara o ajustarL' a rezultatului prin adiugarea rinei Lronstanteegane cu di{erenf a dintre cele dor.rirbaze (modulo), adicrt 16- 10:6*0X [0,\"irXoarc- denumite aj r-rstare zr.cilnal:r.

    100i -l- 9+1000 s

    rezultat incorect in BCD01l0 ajustarea zecimale

    '.,

    I 1 -- ry r-ezultat corect in BCD1+-'iAj rustarea zecimald 0l l0 trebuie adiugatl nurnai cind suma celor clou.lniLrnrere depfue;te valoarea 9, adic5" existS" un transfer inbaza 10. Pentruo adunare corectii" a doi operanzi codificali in BCD, rezulti urmltorulatrgoritm: I

    -

    se efectueazS- surna,'l + B + 6;i se testeazi rezultatul;2

    -

    daci ..1 + B + 6< 15 sall ,{ + B-15 se ia ca reztiltat corect sunraArB+6.in cadrul pP adunarea a doi operanzi in cod BCD se face, in general,

    cu o instrucliune de adunare obi;nuit5. care este urmat5., obligatorir-r,de o instructiune de ajustare zecimalS- DAA (Decimal Adjust Accumu.-lator), prin care se realizeazS. corectitudinea adunS.rii confonnalgonit-nrului de mai sus. Dupir cum existir.bitul de transfer CY pentru depir;ireecapacitS,fii rnodulo 28 la fel eristi- si bitul (fanionul) de transport airxi-liar AC (Auxiliary Carrv) care este pus pe unu AC : I cind se pro ucetr.urs{er de la &3 na dr1, adicd sedepi;e;tecapacitatea modulo l6(:24).44

    01101100 1i000010In prirra scirclere scir.zA.torul este nai mic clecit descS.zutul, deci rlu

    r';iisti_imprurnut ci-tre b? (XISB) de ta CY, deci CY este pus pe zero, iarin a doua scidere sclzS.torul fiind mai mare decit desclzutul eristirniprunut cirtre b, cie ia CY, cleci bitul cle transpor-t este pus pe uiiu.{'incl cY : 1 difer-enfa rezult5" negativS", dal care nu poate fi repreZentatit'r;, un nurn:ir negatir'. I)eci CY : i indicir, o depir;ire a capacithtii pentruscirLderea numerelor f5"r5. semn. De;i CY: 1 atit la transport (adunare),cit si. la imprt'unut (scirdere) aceasta nu inseainni ci" imprumutul e-stei'lentic cu transportul ci dimpotrir,i ele au semnificatii contrare. Aceastase poa-tc. obselva dac5. se inlocuieste scS,derea prin adunarca cor-np1e-rrrntnlr.ii, relatia (1.18), adici

    ill

    AC[

  • Aici, spre deosebire de sciderea (1) in care CY : 0, apare un transportCY : -i, dar sciderea a fost inioi.uitS" prin ad.unarei complemenddurde doi.

    ln cazul sclclerii numerelor cu semn reprezentate in complementfa!5. de 2 dep[;irea capacitilii

    -128, !t27 se face prin testarea bituluide semn br.-

    Scd.derea a doud nunlere de acelagi se?nel, nti va produce niciodatEdep5;ire de capacitate, deci rezultatul va fi permanent corect (bitulde semn al diferenlei va fi identic cu bilii de semn ai celor doi operanzi)"Exe'mplw:

    CY b?i,101 0 1 1 1 1 1 1 1 - (127, cel mai marenumir pozitiv)

    0000 0000 (0, ceL mai mic nurnS,r pozitiv)

    -

    Scdd,eyea a dowd nuini:;/e de se,ntne d'ifer,ite poate genera deol;irea.capacitS"fii

    -128, +IZ7. Se poate deternina corectitudinea operatieiprin testarea bitrrlui de semn rezultat, care trebuie s[ fie identic cu atrdescizutului. E xetnplu, :

    Operaliile de inmulfire gi implrfire sint efectuate cu circuite spe-, r,rlizate (in hardware) doar Ia procesoarele matematice rnai evoluate,1',' ,ind la microprocesoarele standard se realizeazS" prin intermediul'rrr,'r algoritmi implementali prin software. Amintim doar c5. depla-':rr, u unui num5r binar spre dreapta cu un rang inseamni inmulfirea, u I jZ, iar deplasarea cu un rang spre stinga, inmullirea cu 2. ProblemeIr ltirtc de modul cum se deduc ace;ti algoritmi de inmullire;i implrlire'iut expuse in [8] [9] [12].

    Unitatea aritmeticS. si logici ALU (Arithmetic Logic Llnit) este un,rriuit integrat care acceptl doi operanzi A si B gi realizeazl asupra,rr r'.,tor?. 16 operalii aritmetice si l6logice (in totai 32 de operafii) pro-1'r:rrnabile prin semnale aplicate din exterior SgSzSrSo. Circuitele ALU, rrrcnte sint in realizare TTL, acceptS" doui cuvinte A ;i B, fiecare,l, iratru bifi, un transport anterior Cin, generind un cuvint de iegire/' tlc patru bili;i un transport urrnS.tor Cs. Aceste circuite ALU pot filr 1s;rte in cascade pentlu a procesa cuvinte cu lungimea multiplu de1,:rlru (pentru cuvinte care nu sint multiplu de patru se lasir bili neuti-lizrLfi). Un modul tipic de ALU de patru bili este circuitul integrat7'1181 reprezentat in figura 1.17. Pentru a obline rezultatul adunXrii,,rrrr scS"derii trebuie sd. treacS. timpul de propagare aI transportuiui.lisle posibil s5. se realizeze si conexiunea cu transport anticipat, pentru:r rcduce timpul de scS.dere sau adunare.

    at laa

    in ici:a t :a

    lc.

    ::9rRiFr.. -.1 -

    .. F :. FclRAl.:r-aai Uil n-iaR

    -

    :1..

    i [ :] F? F, :rE cct., rARlTa R -

    ciil PIF,r,i:::R, i\;iaiPATiEt,i:iiR. TR.ri.si.:Rr 3

    0i111111cY b7lil--1000 000{J-II

    111111111000 0001

    {127, rczruJtat corect)

    (-128, cel mai mic num5.r negatir,')(-1, cel mai mare numSr negativ!{-127, rezultat corect).

    C^t r '-,: r'--rol"lr:l,lll

    B3

    I

    A3

    Iil4181A,llriCY

    i tl* 0i11111i-{+12.1)1 1 1 1 1 1 I 1 (-r)1 0 0 0 0 0 0 0 (-128, reztltat incorect)

    Rezultatul corect este f X28, dat apare negativ deoarece +IZ 8 nu poatefi reprezentat cu 8 bili, deci s-a generat o dep5.;ire de capacitate.b7

    1000 0000-(-128)00oo 0001(+i)

    :- I ;r.-

    .=A.E

    -a.s

    llrli 1.,i,,_lr.iI

    lC ,,', ir.:!i

    A1 Ar 4oi-r-; li i :i.

    a

    . j ---,i Jo

    a"aR

    iN-TRAFI0PER;.ilD r.

    -

    A3OPEFA:]D A .3J:ELTCiAD'A

    irPEALll:i -::

    TRAfitFaiI-

    CY

    i'i0 I 1 1 1 1 1 1 (+tZ,r, rezultat incorect)

    Rezultatul corect este -

    129, dar apare pozitir" deoarece -129 liu poatefi reprezentat cu 8 bi!i, deci s-a generat o depl;ire de capacitate. Orga-

    nigrama algoritmului descris mai sus este reprezentati in figura 1.16, b"

    46

    Fig'1.17.IIodul de unitate aritnetici si logicii (ALU) cJe patru bifi.

    17