Cursuri SOC

download Cursuri SOC

of 128

Transcript of Cursuri SOC

  • 8/12/2019 Cursuri SOC

    1/128

    Curs 4

    3.2.2. nmulirea binarExist numeroase metode de nmulire binar. Cele mai importante sunt

    urmtoarele: Metoda adunrii repetate;nmulireaprin metoda Booth.

    Fiecare din aceste metode are mai multe variante, care in cont de modulreprezentare a numerelor cu semn sau urmresc creterea vitezei de execuieoperaiei.

    3.2.2.1. nmulirea prin metoda adunrii repetate (metoda direct)Aceast metodse poate aplica pentru numere reprezentate n mrime MS.

    Se nmulescnumerele iar cifra de semn este tratat separat. Dac numerele suntreprezentate n C1 sau C2, numerele negative trebuie complementate pentru a obinereprezentarea numerelor pozitive corespunztoare (care sunt identice cureprezentarea n MS). Aceast metod de nmulire este recomandat pentrunumerele reprezentate n C1, cnd complementarea se realizeaz simplu. Pentrunumerele reprezentate n C2, se prefer utilizarea altor metode care opereazdirect asupra numerelor n aceast reprezentare.

    Fie 12=X i 6=Y . Reprezentnd aceste numere n MS i considerndnumai biii de mrime, nmulirea binar obinuit a celor dou numere seefectueaz astfel:

    1100 x Denmulit (12)0110 nmulitor (6)0000

    1100 Produse pariale11000000

    1001000 Produs final (26+23= 64+8 = 72)

    Dup cum se constat procesul de nmulire const din testarea succesiva biilor nmulitorului, ncepnd cu bitul cel mai puin semnificativ(c.m.p.s.). Dacbitul testat este 1, se copiaz denmulitul, n caz contrar fiind copiate zerouri.

    Se pot formula urmtoarele observaii:1. nmulirea implic generarea unor produse pariale, cte unul pentru

    fiecare bit al nmulitorului. Aceste produse sunt apoi nsumate pentru a se obineprodusul final.2. Dac bitul testat al nmulitorului este 0, produsul parial corespunztor este

    0. Dac acest bit este 1, produsul parial este egal cu denmulitul.3. Pentru obinerea produsului final, fiecare produs parial este deplasat la

    stnga cu o poziie fa de produsul parial precedent.4. nmulirea a dou numere binare fr semn de cte nbii are ca rezultat

    un produs cu o lungime de pn la n2 bii.Pentru implementarea nmulirii directe se introduc urmtoarelemodificri:- In locul adunrii tuturor produselor la final, se realizeaz adunarea lor, ntr-

  • 8/12/2019 Cursuri SOC

    2/128

    un registru acumulator, pe msur ce ele sunt obinute. In acest mod se eliminnecesitatea de a memora toate produsele pariale, fiind necesare mai puineregistre.

    - Dup obinerea fiecrui produs parial acesta este deplasat la dreapta cuo poziie.

    - Testarea nmulitorului ncepe cu bitul c.m.p.s.- Pentru fiecare bit de 1 din nmulitor, este necesar o adunare i o

    deplasare. Pentru fiecare bit de 0 din nmulitor, cnd produsul parial este 0, estenecesar numai o deplasare.Avantajele acestei implementrisunt urmtoarele: Se utilizeazun sumator de n bii, chiar dac rezultatul va avea 12 +n bii

    (innd cont i de semn). Pentru denmulitse utilizeaz un registru de 1+n bii. Registrul acumulator are 1+n bii.Deoarece rezultatul are 12 +n bii, registrul acumulator ar trebui completat cu

    un registru auxiliar pentru memorarea produsului. O soluie eficient const nutilizarea biilor care nu mai sunt necesari din registrul nmulitorului. In acest cazregistrul acumulator se plaseaz n continuarea registrului nmulitorului, formndun registru combinat care se deplaseaz la dreapta n fiecare pas al operaiei.

    Astfel, n final registrul acumulator pstreaz biii c.m.s. ai rezultatului, iarregistrul nmulitorului pstreaz biii c.m.p.s.

    Structura unui dispozitiv de tip paralel care implementeaz metodanmulirii directe este prezentat n figura 3.6. Dispozitivul de nmulire cuprinderegistreleA, Bi Qde n+1 bii fiecare, un sumator paralel de n bii i un bloc decomand. Aceste registre suntdescrise n continuare.

    Fig. 3.6

    tergere

    Bloc de comand

    N

    Y

    Sumator de n bii

    Bn-1 Bn-2 B1 B0

    Bn

    An An-1 An-2 A1 A0 Qn-1 Qn-2 Q1 Q0

    Qn

    X

    ncrcare

    ncrcare

    Test Q0

    Deplasare

    Start Stop

  • 8/12/2019 Cursuri SOC

    3/128

    RegistrulAeste utilizat ca acumulator pentru pstrarea produsului parial.La sfritul operaiei de nmulire, nA va conine semnul rezultatului. Registrultrebuie s aib intrri paralele pentru nscrierea informaiei de la sumatorisfuncioneze ca registru de deplasare spre dreapta. Astfel la nceput se transferbitul 0A n poziia 1n a registrului Q i ulterior, pe msur ce procesul de

    nmulire avanseaz, sunt transferai n registru Q biii care urmeaz(A1,A2,An-1)

    Fig. 3.7Registrul B este utilizat pentru ncrcarea paralel a denmulitului, iar

    coninutul lui se transfer la una din intrrile sumatorului. Registrul Qeste utilizatpentru ncrcarea paralel a nmulitorului. Acesta funcioneaz ca un registru de

    Start

    BX QY

    A0 Nn

    QnBnQn

    Q0=1

    AA+B

    An0, AiAi+1Qn-1A0, QiQi+1

    NN-1

    N=0

    AnQn

    Stop

    Nu

    Da

    Nu

    Da

  • 8/12/2019 Cursuri SOC

    4/128

    deplasare la dreapta, cu excepia bitului nQ care memoreaz la nceput semnulnmulitorului i apoi semnul rezultatului.

    Blocul de comand al dispozitivului de nmulire genereaz semnalele decomand n urma crora se succed operaiile elementare din care se compuneoperaia de nmulire. Acest bloc conine un numrtor N, care este iniializat cunumrul biilor de mrime n i este decrementat n fiecare pas al operaiei.

    Organigrama operaiei de nmulire prin metoda direct este prezentat n

    figura 3.7.Operaia ncepe cu iniializarea registrelor. Denmulitul i nmulitorul se

    ncarcn registrul B , respectiv Q . Registrul acumulator este iniializat cu 0, iarnumrtorul N este iniializat cu n, care reprezint numrul de cifre aledenmulitului i nmulitorului. Se formeaz apoi semnul rezultatului,(

    nnn BQQ = ) care este pstrat n bistabilul nQ al registrului Q .

    Se testeaz bitul0Q al nmulitorului i dac acest bit este 1, se adun

    denmulitul la produsul parial aflat n registrul acumulator. Se deplaseaz apoiregistrul combinat QA_ la dreapta cu o poziie; pe poziia c.m.s. a registruluiA

    se introduce 0. Se decrementeaz apoi numrtorul N. Dac numrtorul nu aajuns la 0, se continu cu pasul urmtor al operaiei, testnd urmtorul bit al

    nmulitorului i repetnd operaiile descrise anterior.Dac numrtorul este 0,se transfer semnul rezultatului din bistabilul nQ pe poziia c.m.s. a registruluiacumulator.

    In continuare vom prezenta urmtorul exemplu: X = 9, Y = -12.Reprezentarea acestor numere n MS este:X= 0 1001 i Y= 1 1100.Se iau n consideraie numai bii de mrime, deci

    1001=X , 1100=Y Determinarea semnului rezultatului se face separat. Execuia operaiei denmulire este ilustrat n tabelul 3.2, care prezint coninutul registrelordispozitivului de nmulire n fiecare pas al operaiei.

    Tabelul 3.2. Execuia operaiei de nmulire 9 x (-12) prin metoda direct

    Pas A Q B Qn Q0 N Operaii0 0 0000 1100 1001 1 0 4 Iniializare1 0 0000 0110 1001 1 0 3 Deplasare A_Q la dreapta

    2 0 0000+ 0011 1001 1 1 2 Deplasare A_Q la dreapta3 10010 10010 0100+

    00111001

    1001 1

    1

    1 Adunare denmulit

    Deplasare A_Q la dreapta4 1001

    0 11010 0110

    10011100

    1001 1

    0

    0 Adunare denmulit

    Deplasare A_Q la dreapta5 1 0110 1100 1001 1 0 0 Stabilire semn rezultat

    Rezultatul este: 1 0110 1100 = - 0110 11002= -6Ch = -(6*16+12)=-108

  • 8/12/2019 Cursuri SOC

    5/128

    3.2.2.2.nmulireaprin metoda BoothDac numerele din calculator sunt reprezentate n C2, se prefer o

    metod de nmulire care opereaz direct asupra numerelor n aceastreprezentare. Avantajul unei asemenea metode const n eliminarea operaieide complementare a operanzilor i a rezultatului, dac acetia sunt negativi,Pentru rezolvarea acestei probleme s-au elaborat mai multe metode dintre careamintim metoda Burks-Goldstine-von Neumann, metoda Robertson i metodaBooth. Dintre acestea, metoda Booth este cea mai utilizat.

    Pentru a nelege principiul metodei Booth s considerm dou numereX i Y, care reprezintdenmulitul, respectiv nmulitorul. Pentru nceput spresupunem c n cadrul nmulitorului exist un grup compact de cifre 1

    nconjurat de cifre 0. Astfel dac nmulitorul este00111110=Y

    Produsul celor dou numere este datde

    =+++++++=

    ==

    )2021212121212020(

    )00111110(

    01234567X

    XYX

    62)22222( 12345 =++++= XX Rezult c pentru calcularea produsului trebuiesc efectuate 5 adunri ale

    denmulitului.S observm acum c grupul de cifre 1poate fi scris i sub forma

    161612345 22212122222 ==++++ Justificarea aceste relaii este prezentat n continuare:

    1234522222 ++++ = 111 110

    Dac adunm acum la ultimul rezultat numrul 10 = 101

    22021 =+ Se obine:111 110 +10=1 000 000 = 62 Rezult c: 111110 = 1 000 000 10 = 16 22

    nlocuind acest rezultat n expresia obinut anterior pentru calculareaprodusului se obine:

    62)22( 16

    == XXYX Ultima relaie ne arat c putem calcula acest produs numai printr-o

    adunare i o scdere a denmulitului. Aceast schem poate fi extins la oricenumr de blocuri de 1 din cadrul nmulitorului, inclusiv la cazul cnd unele

    blocuri conin o singur cifr 1. Astfel dac nmulitorul este00111010=Y produsul celor dou numere poare fi scris ca

    58)2222( 1345

    =+++= XXYX Sau efectund nlocuirile:

    3634522222 =++ i 121 222 = se obine:

    58)2222( 1236

    =+= XXYX Algoritmul lui Booth utilizeaz aceast schem, efectund o adunare a

    denmulitului atunci cnd ntlnete prima cifr a unui bloc de 1 )01( i o

  • 8/12/2019 Cursuri SOC

    6/128

    scdere a acestuia atunci cnd ntlnete sfritul acestui bloc )10( . Acestalgoritm poate fi aplicat i n cazul unui nmulitor negativ.

    innd seama de observaia de mai sus, rezult urmtorul algoritm al metodeiBooth: la fiecarepas al operaiei se testeaz doi bii alturai ai nmulitorului, iy (bitulcurent) i 1iy (bitul testat n pasul precedent, numit i bit de referin). Testarea seefectueaz ncepnd cu bitul c.m.p.s. al nmulitorului. In funcie de valoarea biilortestai 1ii yy , se efectueaz operaiile indicate n tabelul 3.3.

    Tabelul 3.3.

    1iiyy Operaii

    00 Deplasare produs parial la dreapta01 Adunare denmulit, deplasare produs parial la dreapta10 Scdere denmulit, deplasare produs parial la dreapta11 Deplasare produs parial la dreapta

    Structura unui dispozitiv de nmulire prin metoda Booth este prezentat nfigura 3.8.

    Fig. 3.8

    Dispozitivul de nmulire care implementeaz metoda Booth conine unregistru combinat QA_ , format din registrul acumulator A i registrul Q , decte 1+n poziiifiecare. In registrul Q se introduce nmulitorul iar n A se vaintroduce, n timpul desfurrii operaiei de nmulire, produsul parial. Toate

    ncrcare

    tergere

    Scdere/Adunare tergere

    Bloc de comand

    N

    Y

    Sumator / Scztorde n+1 bii

    Bn Bn-1 B1 B0

    An An-1 An-2 A1 A0 Qn Qn-1 Q1 Q0

    X

    ncrcare

    Test Q0Q-1

    Deplasare

    Start Stop

    Q-1

  • 8/12/2019 Cursuri SOC

    7/128

    poziiile nmulitorului inclusiv cea de semn, particip la deplasare. Registrul B ,care pstreaz denmulitul, are de asemenea 1+n poziii. Aceste registretrebuie s aib posibiliti similare cu cele utilizate la metoda de nmuliredirect. Mai este necesar un bistabil 1Q , care pstreaz bitul de referin.Sumatorul utilizat trebuie s aib 1+n poziii, deoarece se opereaz cu toatecifrele inclusiv cea de semn.

    La fiecare pas al operaiei, blocul de comand testeaz biii succesivi

    notai cu 0Q , 1Q . In funcie de valoarea acestor bii, se efectueaz operaiilenecesare precizate n tabelul 3.4.

    Fig.3.9Observaii:

    1. Iniial, bistabilul 1Q este resetat, pentru ca bitul de referin pentru cifra

    0Q a nmulitorului s fie zero.

    2.La deplasare se tine cont de regula de deplasare pentru numerele cu

    Start

    BX QY Q-1=0

    A0 Nn+1

    Q-1=1

    AA+B

    AnAn AiAi+1 Qn = A0 QiQi+1 Q-1=Q0

    NN-1

    N=0

    Sto

    Nu

    Da

    Nu

    Da

    0=1 0=1

    AA-B

    Nu

    Da DaNu

    00 10 01 11

  • 8/12/2019 Cursuri SOC

    8/128

    semn reprezentate n C2 (Tabelul 1.7). Bitul de semn de pe poziia nA , este

    deplasat n 1nA , dar rmne i n nA .3. Se compar toi biii nmulitorului, inclusiv bitul de semn.4. Rezultatul se formeaz n registrul QA_ de 2n+2 poziii, bitul de semn

    repetndu-se pe primele dou poziii (rezultatul propriu-zis are 2n+1bii).Organigrama operaiei de nmulire prin metoda Booth este prezentat n

    figura 3.9.In etapa de iniializare, se ncarc denmulitul i nmulitorul n registrul B ,

    respectiv Q , bistabilul 1Q i registrul acumulator sunt iniializate cu 0 , iarnumrtorul Neste iniializat cu 1+n .

    In continuare se testeaz bitul de referin 1Q i bitul 0Q al nmulitorului.

    Dac 0110 =QQ , se adun denmulitul din registrul B la produsul parial din

    registrul A . Dac 1010 =QQ , se scade denmulitul din produsul parial. Pentrucelelalte dou combinaii ale biilor testai, n aceast etap nu se efectueaz nici ooperaie. La pasul urmtorse deplaseaz la dreapta registrul combinat QA_ , astfel

    nct n poziia bitului de semn nA s rmn aceeai valoare (pstrarea bitului desemn este indicat n organigram prin transferul nn AA ). Se decrementeaznumrtorul Ni dac acesta nu a ajuns la zero, se continu operaia cu testareabiilor 10 QQ . Dac numrtorul Na ajuns la zero, operaia se termin.

    ExemplulConsiderm 13=X , 10=Y . Exprimarea binar a acestor numere n C2

    este urmtoarea:

    0=X 1101

    1=Y 0110 Scderea denmulitului din coninutul registrului acumulator A se efectueaz

    prin adunarea complementului fa de 2 al acestuia X.X= - X = 1 0011In tabelul 3.4 este prezentat coninutul registrelor dispozitivului de

    nmulire la fiecare pas al operaiei.

    Tabelul 3.4. Execuia operaiei de nmulire 13 x (-10) prin metoda Booth.

    Pas A Q Q-1 B Q0Q-1 N Operaii

    0 0 0000 1 0110 0 0 1101 00 5 Iniializare1 0 0000+ 0 1011 0 0 1101 10 4 Deplasare A_Q la dreapta2 10011

    1 001111001

    0 10111 0101

    01

    0 1101

    11 3

    Scdere denmulit

    Deplasare A_Q la dreapta

    3 11100+ 1 1010 1 0 1101 01 2 Deplasare A_Q la dreapta4 0 1101

    0 10010 0100+

    1 10101 1101

    10

    0 1101

    10 1

    Adunare denmulit

    Deplasare A_Q la dreapta

  • 8/12/2019 Cursuri SOC

    9/128

    5 100111 011111011

    1 11011 1110

    01

    0 1101

    01 0

    Scdere denmulit

    Deplasare A_Q la dreapta

    Rezultatul este: 1 0111 1110 = - 1000 00102= - 82 h = - (8*16+2)= -130.Observaie. La deplasarea la dreapta a coninutului registrelor QA_ se ine

    seama de deplasare a numerelor reprezentate n C2 care cere ca pe poziia rmasliber s se repete bitul de semn al numrului. Astfel la paii 2, 3 i 5 pe locul rmasliber s-a plasat cifra 1, iar la paii 1 i 4 cifra 0.

    3.2.3.mprireabinar

    3.2.3.1. Principiul mpririi binareFiind dat dempritul X i mpritorul Y, de cte n cifre de mrime,

    mprirea const n determinarea ctului Q i a restului R , astfel nct s fie

    satisfcut relaia:RYQX += (3.5)

    Operaia de mprire se reduce la o serie de scderi ale mpritorului dinrestul parial, care se efectueaz numai dac restul parial este mai mare dect

    mpritorul, caz n care cifra ctului este 1; n caz contrar, cifra corespunztoare actului este 0.

    S considerm urmtoarea operaie 147:11.In binar avem

    1001147 0011

    101111 10010011:1011=00001101 Ct 1310111110 Rest parial1011

    1111 Rest parial1011100 Rest 4

    Ctul este 13, iar restul este 4. Pentru mprire se examineaz biii

    dempritului, de la stnga la dreapta, pn cnd setul biilor examinai reprezintun numr mai mare sau egal cu mpritorul. De exemplu, setul biilor examinaieste 1, 10, 100, 1001, 10010. Att timp ct setul biilor examinai este mai micdectmpritorul, se obin cifre de 0 pentru ct. Atunci cnd acest set este maimare sau egal cu mpritorul, se obine o cifr de 1 pentru ct. In continuare

    mpritorul este sczut din partea corespunztoare a dempritului, obinndu-seun restparial. La fiecare pas al operaiei se adaug cte un bit din demprit larestul parial, pn cnd se obine un numr mai mare sau egal cu mpritorul.Se scade apoi mpritorul din restul parial, obinndu-se un nou rest parial.Operaia continu pn cnd se examineaz toi biii dempritului.

    In cazul n care mpritorul este zero, operaia de mprire trebuieoprit,

  • 8/12/2019 Cursuri SOC

    10/128

    ceea ce impune testarea mpritorului naintea operaiei. Se poate testa idempritul naintea operaiei idac acesta este zero, operaia se poate termina,rezultatul fiind zero.

    3.2.3.2. Metode de mprire binarExist trei metode principale de mprire:

    Metoda comparaiei;

    Metoda refacerii restului parial; Metoda fr refacerea restului parial.In cazul metodei comparaiei, dispozitivul de mprire conine un circuit

    comparator, utilizat pentru compararea restului parial cu mpritorul. Circuitelede comparare fiind destul de complexe, aceast metod nu se utilizeaz n modobinuit.

    Metoda aleas depinde de forma de reprezentare a numerelor n calculator.Metoda comparaiei i cea a refacerii restului parial se pot aplica numai n cazulreprezentrii numerelor n MS. Dac numerele sunt reprezentate n alt form,este necesar conversia formei de reprezentare n MS naintea aplicrii metodei iconversia rezultatului operaiei. Metoda fr refacerea restului parial se poateaplica oricrei forme de reprezentare, fiind necesare ns unele corecii alerezultatului.

    3.2.3.3. Metoda refacerii restului parialIn cazul metodei refacerii restului parial, n fiecare etap a operaiei se

    efectueaz o scdere a mpritorului din restul parial. Dac rezultatul scderiieste un numr negativ, deci restul parial este mai mic dect mpritorul, se refacerestul parial la valoarea anterioar, prin adunarea mpritorului la restul parial.

    Fiecare etap a operaiei de mprire ncepe cu o deplasare a restuluiparial la stnga cu o poziie. Se efectueaz apoi scderea mpritorului dinrestul parial, obinndu-se noul rest parial. Dac se obine un numr pozitiv,cifra corespunztoare a ctului este 1. Dac se obine un numr negativ, cifracorespunztoare a ctului este 0 i restul parial este refcut prin adunarea

    mpritorului. Pentru obinerea unui ct cu n cifre de mrime, aceste operaii serepet de n ori. Procesul demprire se opretedac restul parial devine zerosau mai mic dect mpritorul.

    Pentru implementarea algoritmului prezentat se utilizeaz un registrucombinat format din registrul acumulator i registrul dempritului. Iniial registrulacumulator este 0.

  • 8/12/2019 Cursuri SOC

    11/128

    Fig. 3.10

    Structura dispozitivului de mprire care utilizeaz metoda refacerii restuluiparial esteprezentat n figura 3.10.

    Regitri A , B i Q au cte 1+n poziii. Regitri A i Q se pot deplasa la

    stnga, astfel nct bitul 1nQ va trece n 0A . Bitul nQ nu particip la deplasare.Sumatorul este de n bii. Coninutul registrului B poate fi adunat sau sczut din

    coninutul registrului acumulatorA .Organigrama operaiei de mprire prin metoda refacerii restului parial este

    prezentat n figura 3.11.Dempritul X se ncarc n registrul Q . Semnul dempritului se

    pstreaz n poziia nQ a registrului Q .mpritorulYse ncarc n registrul B .Numrtorul Nse iniializeaz cu numrul cifrelor de mrime n.In fiecare etap aoperaiei, se deplaseaz registrul combinat QA_ la stnga cu o poziie, iar apoi seefectueaz o scdere a mpritorului (registrul B ) din restul parial (registrul A ).Dac rezult un numr pozitiv n acumulator ( 0=

    nA ), cifra ctului este 1, care se

    introduce n poziia 0Q a registrului Q . Dac rezult un numr negativ n

    acumulator ( 1=nA ), cifra ctului care se introduce n poziia 0Q este 0. Valoareacifrei ctului care se obine n aceast etap este deci:

    nAQ =0 Dac n urma scderii a rezultat un numr negativ, se reface restul parial

    prin adunarea registrului B la acumulator. Se decrementeaz numrtorul Nidac acesta nu este zero, operaia continu cu o nou etap. Dac Neste zero,operaia este terminat, restul aflndu-se n registrul A , iar ctul n registrul Q . In

    Adunare

    Scderencrcare

    tergereX

    Sumator / Scztorde n bii

    Bn-1 Bn-2 B1 B0

    Bn

    Qn

    Y

    Deplasare

    Start Stop

    Bloc de comand

    N

    ncrcare

    An An-1 An-2 A1 A0 Qn-1 Qn-2 Q1 Q0

  • 8/12/2019 Cursuri SOC

    12/128

    final se stabilete semnul restului i al ctului. Semnul restului este semnuldempritului: nn QA = . Semnul ctului se obine prin operaia SAU EXCLUSIVntre semnele celor doi operanzi:

    nnn BQQ =

    Fig. 3.11

    In organigram nu sunt artate testele care trebuie efectuate dup etapa deiniializare. Astfel, trebuie s se testeze dac mpritorul este zero; n caz afirmativ,operaia se oprete i se indic o eroare de mprire cu zero.

    ExempluConsiderm numerele 13=X i 5=Y . Reprezentarea n MS a acestor

    Start

    A_QX BY

    Nn

    Sto

    Nu

    A0Qn-1 AiAi-1 QiQi-1

    AA-B

    Qo nA

    AA + B

    DaNu

    NN-1

    Da

    An n n nBn

    An= 1

    N=0

  • 8/12/2019 Cursuri SOC

    13/128

    numere este urmtoarea:0=X 11010=Y 0101

    Complementul fa de 2 al mpritorului este:Y= -Y= 1 1011

    Scderea se efectueaz nC2 deoarece n aceast reprezentare operaiase face mai simplu.

    Cifrele de semn fiind tratate separat, n registrele B i Q se ncarc numaicifrele de mrime. La operaia de adunare sau scdere a mpritorului dinacumulator particip ns toate cifrele. Execuia operaiei este prezentat n tabelul3.7.

    Tabelul 3.7 . Execuia operaiei de mprire 13:5 prin metoda refacerii restului parial.

    Pas A Q B Q0 Qn N Operaii0 0 0000 1101 0101 0 0 4 Iniializare1 00001+

    1101111100+0 01010 0001

    1010

    1010 0 0 0 3

    Deplasare A_Q la stnga

    Scdere mpritor

    Adunare mpritor

    2 00011+1101111110+0 01010 0011

    0100

    0100 0101 0 0 2

    Deplasare A_Q la stngaScdere mpritor

    Adunare mpritor

    3 00110+1101100001

    1000

    1001 0101 1 0 1

    Deplasare A_Q la stngaScdere mpritor

    4 0 0011+1101111110+0 01010 0011

    0010

    0010 0101 0 0 0

    Deplasare A_Q la stngaScdere mpritor

    Adunare mpritor

    Ctul obinut este 0 0010=2, iar restul este0011=3.

  • 8/12/2019 Cursuri SOC

    14/128

    Cap.4. UNITATEA DE COMAND l CONTROL

    Funciile principale ale unitii de comand i control (UCC) sunt urmtoarele: Decodificarea codului operaiei; Calculul adresei operanzilor care particip la operaie i extragerea lor din

    memorie; Generarea secvenei de comenzi necesare execuiei instruciunii;

    Generarea secvenei de comenzi necesare memorrii rezultatului i ainformaiilor de stare; Calculul adresei instruciunii urmtoare i citirea acesteia din memorie.

    4.1. MicrooperaiiPrelucrrile efectuate de UCP pentru execuia unei singure instruciuni

    reprezint un ciclu de instruciune. Fiecare ciclu de instruciune const dinurmtoarele subcicluri:

    Subciclul de extragere a instruciunii din memorie; Subciclul de execuie; Subciclul dentrerupere.Pe lng aceste subcicluri, la execuia unei instruciuni mai poate aprea

    subciclul de indirectare. Execuia unei instruciuni poate necesita extragereaunuia sau a mai multor operanzi din memorie. Aceti operanzi pot fi adresaidirect sau indirect. Dup extragerea instruciunii, se verific dac operandulnecesar este adresat n modul indirect. In caz afirmativ, se ncarc operandulrespectiv utiliznd adresarea indirect.

    Ciclul de instruciune, completat cu subciclul de indirectare, este reprezentatsimplificat n figura 4.1.

    Fig.4.1

    Fiecare subciclu al unei instruciuni poate fi descompus ntr-o serie deoperaii elementare. O asemenea operaie elementar, care realizeaz oprelucrare numeric a informaiei sau un transfer al acesteia, pe durata unuisingur impuls al generatorului de tact, se numete microoperaie. Unitatea de

    Subciclul deextragere

    Subciclul dentrerupere

    Subciclul deexecuie

    Subciclul deindirectare

  • 8/12/2019 Cursuri SOC

    15/128

    comand i control are rolul de a genera succesiunea semnalelor de comandcare asigur secvena corect de execuie a fiecrei microoperaii.Aceast suc-cesiune este specific fiecrei instruciuni, fiind determinat att de codul operaieict i de recepionarea unor semnale de stare de la circuitele controlate, prin carese verific ndeplinirea unor condiii.

    In continuare se analizeaz subciclurile care intr n componena uneiinstruciuni i microoperaiile din care se compune fiecare subciclu. Pentru

    aceasta s presupunem c UCP utilizeaz urmtorii regitri:- Registrul de adrese al memoriei (RA). Acest registru este conectat la liniilede adres ale magistralei sistem i conine adresa din memorie a uneiinstruciuni sau a unei date.- Registrul de date al memoriei (RD). Acest registru este conectat la liniilede date ale magistralei sistem i conine valoarea care trebuie depus nmemorie sau ultima valoare citit din memorie.- Contorul de program (PC) conine adresa urmtoarei instruciuni care se vaexecuta.- Registrul de instruciuni (Rl) conine ultima instruciune citit.

    4.1.1. Subciclul de extragereIn acest subciclu este adus n UCP o instruciune din memorie.Operaiile

    executate n acest subciclu sunt indicate n figura 4.2. Registrul PC conine adresainstruciunii care urmeaz s fie executat.Aceast adreseste depus n RA[1]i apoi este plasat pe magistrala de adrese (MA) [2]. Unitatea de comandsolicit o operaie de citire a memoriei, trimind pe magistrala de comand (MC)o comand ctre Unitatea de memorie [3]. Coninutul locaiei de memorie acrei adres a fost transmis Unitii de memorie este plasat pe magistrala de

    date (MD) i reinutn registrul de date (RD) [4]. In acelai timp UCC elaboreazcomanda de incrementare a registrului Program Counter (PC) [5], pregtindastfel urmtorul ciclu de extragere. Registrul, RD fiind unica poart deintrare/ieiren UCP, trebuie golit de informaiile pe care le conine, astfel nctinstruciunea care se afl n acesta este transferat n registrul de instruciuni(RI) [6]. In RI instruciunea este decodificat i este pstrat pe toat perioadaexecutrii acesteia.

    Generatorul de tact al sistemului de calcul genereaz impulsuri de tact(ceas) la intervale constante. Fiecare impuls de ceas definete o unitate de timp.

    Aceast unitate de timp este aleas astfel nct fiecare microoperaies poat fieexecutat pe durata unui singur impuls de ceas. Unitile de timp sunt notate cu

    321 ,, ttt .

    Simbolic, secvena de microinstruciuni care descrie microoperaiileprezentate anterior se poate scrie astfel:

  • 8/12/2019 Cursuri SOC

    16/128

    Fig.4.2 Subciclul de extragere

    :1t RAPC

    :2t RDMem

    PCPC+1:3t RIRD

    A treia microoperaie se poate executa i n unitatea de timp t3, fr a afectasubciclul de extragere.

    4.1.2. Subciclul de indirectareDup extragerea instruciunii din memorie, urmeaz s se ncarce

    operanzii care particip la operaie specificat de aceast instruciune. Oinstruciune este format din cel puin dou cmpuri. Primul cmp coninecodul operaiei ce trebuie executat iar cel de al doilea cmp conine adresadin memorie a operandului implicat n operaie.

    Unitatea de comand examineaz cmpul de adres a instruciunii dinregistrul Rl i, dac este indicat o adresare direct, aduce n RD coninutullocaiei de memorie a crei adres este specificat n cmpul de adres ainstruciunii.Adresarea direct se refer la situaia n care cmpul de adresconine adresa efectiv a operandului (Figura 4.3):

    PC RA

    UCC

    RDRI

    Memorie

    MA MD MCUCP

    1 2

    3

    4

    46

    5

  • 8/12/2019 Cursuri SOC

    17/128

    Fig. 4.3

    Acest mod de adresare presupune o singur referire la memorie i nunecesit un calcul de adres. In acest caz dup subciclul de extragereurmeazsubciclul de execuie.

    In cazul adresrii indirecte, naintea subciclului de execuieeste necesarun subciclu de indirectare.Adresarea indirect se refer la situaia n care ncmpul de adres al instruciunii se gsete o referinADR1 la un cuvnt dememorie, care conine adresa completADR2 a operandului. Vezi figura 4.4.

    Fig. 4.4

    Adresa ADR1 din cmpul de adres al registrului de instruciuni Rl estetransferat n RA [1] i este apoi depus pe magistrala de adrese [2]. Unitateade comand genereaz semnalele de comand [3] necesare pentru aducerea

    n registrul de date RD a adresei ADR2 a operandului [4]. In continuare, cmpulde adres din Rl este actualizat pentru a conine adresa direct a operandului [5].

    Aceast adres este utilizat apoi pentru ncrcarea operandului n registrul dedate RD.

    ADR 2

    Operand

    CO ADR 1

    Instruciune

    Memorie

    CO Adres

    Instruciune

    Operand

    Memorie

  • 8/12/2019 Cursuri SOC

    18/128

    Fig.4.5 Subciclul de indirectare

    Dup executarea acestor operaii urmeaz subciclul de execuie. Operaiileexecutate n subciclu de indirectaresunt indicate n figura 4.5.

    Descrierea simbolic a microoperaiilor prezentate este urmtoarea:

    1t : RA RI(cmpul de adres) (ADR1 n RA)

    2t : RD Mem (ADR2 din memorie n RD)

    3t : Rl(cmpul de adres) RD (ADR2 n RI)

    4.1.3. Subciclul de execuieSubciclurile de extragerei de indirectare, ca i subciclul de ntrerupere,implic secvene fixe de microinstruciuni. Subciclul de execuie difer n funciede instruciune, pentru fiecare instruciune existnd o secven proprie demicroinstruciuni care trebuiesc executate.

    Considerm ca exemplu instruciunea:ADD X

    care adun valoarea variabilei X din memorie la coninutul registruluiA, rezultatulfiind memorat tot n A. Acest registru cu funcie special este numit registruacumulator. In acest context X reprezint adresa din memorie a valorii variabileiX.

    Execuiaacestei instruciuni poate fi descris prin urmtoarea secven demicroinstruciuni:

    :1t RARI(cmpul de adres) (ADR X n RA):2t RDMem

    :3t AA+RD

    Rl conine codul instruciunii ADD. La primul pas(t1), partea de adres dinRl, care reprezint adresa variabilei X, este ncrcat n RA.La pasul t2se copie,

    UCP

    RA

    UCC

    RDRI

    Memorie

    MA MD MC

    1 2

    3

    45

  • 8/12/2019 Cursuri SOC

    19/128

  • 8/12/2019 Cursuri SOC

    20/128

    Fig.4.6 Subciclul de ntrerupere

    Subciclul de ntrerupere poate fi descris prin urmtoarea secven demicroinstruciuni::1t RD PC

    :2t RA Adresa_salvare

    PC Adresa_rutina:3t Mem RD

    Dup cum se constat, n momentul t2, adresa rutinei de tratare antreruperii se transfer n PC. Ca urmare, urmtorul ciclu de instruciune vancepe prin extragerea primei instruciuni din rutina de tratarea ntreruperii.

    Procesoarele actuale au extins sistemul de ntreruperi pentru aeficientiza funcionarea UCP. De exemplu, cele mai multe periferice sunt multmai lente n comparaie cu UCP i aceasta ar trebui s rmn inactiv pnla terminarea unei operaii de transfer cu un dispozitiv I/E. Prin mecanismul

    ntreruperilor, n timpul unei operaii de I/E, UCP poate executa instruciunilealtui program.

    Sistemul de ntreruperi este utilizat de asemenea pentru rularea maimultor programe n acelai timp(time sharing). Datorit vitezei mari de lucru aprocesorului se lanseaz n execuie mai multe programe, pentru fiecare dintreacestea alocndu-se o anumit cuant de timp. In acest mod utilizator aresenzaia c programele sunt executate simultan.

    4.2.1 Semnale de control ale UCCPentru a-i realiza funciile, unitatea de comand trebuie s primeasc o

    serie de semnale care s-i permit determinarea strii sistemului iar pe bazaacestor informaii elaboreaz semnale care controleaz funcionarea sistemului.Intrrile i ieirile unei uniti de comand i control sunt prezentate n figura4.7. UCC are urmtoareleintrri:

    - Semnalul de ceas. UCC comand execuia unei microinstruciuni (sau a

    PC

    RD

    UCC

    RAMemorie

    UCP MA MD MC

    1

    3

    2

    4

  • 8/12/2019 Cursuri SOC

    21/128

    unui set de microinstruciuni simultane) la fiecare impuls de ceas. Perioadasemnalului de ceas se mai numete ciclu de ceas.

    - Codul operaiei este citit din registrul de instruciuni, care pstreazinstruciunea curent, i se utilizeaz pentru a determina microinstruciunilecaretrebuie executate n timpul ciclului de execuie.

    - Indicatorii de condiii sunt necesari pentru a determina starea UCP irezultatul operaiei precedente executate de UAL, n scopul executrii

    instruciunilor de salt condiionat.- Semnale de control. Magistrala de control transmite ctre UCC semnalede ntrerupere, sau de achitare (terminare) a unei ntreruperi.

    Fig. 4.7 Semnale de control UCC

    UCC elaboreaz urmtoarele semnale de ieire:

    - Semnale prin care se comand funcionarea UCP.Acestea sunt de doutipuri: semnalele care determin transferul datelor dintr-un registru n altul isemnalele care activeaz funcii specifice ale UAL.

    - Semnale de control transmise pe magistrala de control.Acestea sunt totde dou tipuri: semnale de control ctre memorie i semnale de control ctremodulele de I/E.

    Pentru a nelege funcionarea UCC s considerm din nou ciclul dencrcare al unei instruciuni. Adresa instruciunii care urmeaz s fie executateste pstrat n registrul PC. Primul pas const n transferul:

    RA PC

    Acest transfer se efectueaz prin activarea unui semnal de control caredeschide (activeaz) porile dintre cele dou registre.

    Urmtorul pas const n citirea din memorie a instruciunii de la adresaindicat, aducerea acesteia n registrul de date i incrementarea contorului deprogram PC:

    RD MemPC PC + 1

    Aceste operaii se efectueaz prin activarea simultan de ctre UCC aurmtoarelor semnale de control:

    Indicatoride condiie

    Ceas

    Semnale de laMC

    Semnale decontrol la MC

    UCC

    RI

    Semnale decontrol UCP

    MC

  • 8/12/2019 Cursuri SOC

    22/128

    1. un semnal de control care valideaz depunerea coninutului RA pemagistrala de adrese.

    2. un semnal de control trimis pe magistrala de control, pentru citireamemoriei.

    3. un semnal de control care valideaz memorarea coninutului de pemagistrala de date n registrul de date RD.

    4. semnale de control prin care se incrementeaz cu 1 coninutul PC i se

    depune rezultatul napoi n PC.Ultimul pas const n transferul:RI RD

    pentru care se activeaz un alt semnal de control care valideaz transferul.In continuare UCC trebuie s decid dac urmeaz un ciclu de indirectare

    sau un ciclu de execuie. Pentru aceasta, examineaz coninutul registrului deinstruciuni Rl i testeaz dac se utilizeaz o adresare indirect, caz n carestabilete secvena corespunztoare de microoperaii.

    Pentru ciclul de execuie, UCC testeaz codul de operaie al instruciunii,pe baza cruia decide secvena de microoperaii care va fi executat.

    4.2.2. Implementarea UCCPentru implementarea UCC se utilizeaz diferite metode, care se pot

    ncadra ntr-una din urmtoarele dou categorii: UCC cablat; UCC microprogramat.

    Ounitate de comand cablat este, n principiu, un circuit secvenial caretransform semnalele logice de intrare ntr-un set de semnale electrice de ieire,ce reprezint semnalele de control. Modificarea funciilor unei astfel de uniti de

    comand necesit modificri ale structurii hardware a circuitului.

    4.2.3. UCC cablat care utilizeaz un decodificatorUCC preia de la registrul RI codul instruciunii curente i pe baza acestuia

    va stabili aciunile ce urmeaz s fie executate. In cazul unitii de comand, luatn discuie, codul instruciunii este decodificat cu ajutorul unui decodificator careactiveaz la un moment dat un singur semnal de ieire.

    Impulsurile generatorului de ceas al sistemului acioneaz asupra unuigenerator de faze, care genereaz semnalele de intrare

    nTTT ,...,, 21 ce asigur

    secvenierea n timp a semnalelor de comand. In fiecare din aceste momenteUCC activeaz semnalele de comand cerute de codul instruciunii. La sfritulfiecrui ciclu de instruciune, UCC reiniializeaz generatorul de faze pentru arelua generarea secvenei

    nTTT ,...,, 21 .

    Structura unei UCC cu decodificator este prezentat n figura 4.8. Codulinstruciunii este preluat din registrul RI i transformat de circuitul de decodificare nsemnalele binare D1, D2, Dn. La fiecare din momentele T1,T2,Tn UCC vaelabora cte un semnal de comand C1, C2, Cn, care vor declana aciunileimplicate de execuia instruciunii decodificate.

  • 8/12/2019 Cursuri SOC

    23/128

    Fig. 4.8 UCC cu decodificator

    4.2.4. Uniti de comand microprogramateSemnalele de comand elaborate de UCC pot fi reunite sub forma unei

    succesiuni de cifre binare, numitcuvnt de comand. Fiecare microoperaie secaracterizeaz printr-un cuvnt specific de comand, iar succesiunea cuvintelorde comand prin care se indic secvena corect a microoperaiilor, pentru fiecareoperaie, poate fi memorat ntr-o memorie de comand.

    O unitate de comand n care succesiunea cuvintelor de comand, estememorat, se numeteunitate de comand microprogramat. Fiecare cuvnt decomand memorat n memoria de comand formeaz o microinstruciune, iar

    secvena de microinstruciuni formeaz un microprogram.O unitate de comand microprogramat are dou funcii principale:- Funcia de control propriu-zis, prin care se stabilesc microinstruciunile

    care trebuiesc executate pentru instruciunea decodificat.- Funcia de secveniere, prin care se determin adresa microinstruciunii

    urmtoare.In conformitate cu aceste funcii pe care trebuie s le ndeplineasc

    unitatea ce comand microprogramat, o microinstruciune este format dinurmtoarele cmpuri principale (Fig. 4.9):

    - Cmpul semnalelor de comand generate pentru controlul UCP. Acestcmp conine cte un bit pentru fiecare semnal de comand intern al UCP.

    - Cmpul semnalelor de comand pentru magistrala sistem. Acest cmpconine cte un bit pentru fiecare semnal de comand al magistralei sistem.

    - Cmpul de condiii, de care depinde urmtoarea microinstruciune care vafi executat.

    - Cmpul de adres, care conine adresa urmtoarei microinstruciuni carese va executa, dac o anumit condiie este adevrat. De exemplu, dac bitul deindirectare din codul instruciunii este 1 (condiia aste adevrat), se va executasecvena de microinstruciuni pentru calcularea adresei efective a operandului.

    Dn D2 D1

    Indicatori decondiii

    T1

    T2

    Tn

    Cn C2 C1

    Decodificator

    RI

    UCCGenerator

    defaze

    Ceas

  • 8/12/2019 Cursuri SOC

    24/128

    Dac acest bit este 0 (condiia este fals), se va executa urmtoareamicroinstruciune din memoria de comand, a crei adres este indicat n cmp.

    Fig. 4.9

    Acest tip de microinstruciune se numete microinstruciune orizontal. Spredeosebire de acestea se utilizeaz i microinstruciuni verticalecare utilizeaz uncod pentru fiecare operaie care trebuie executat.

    Totalitatea microinstruciunilor care constituie o unitate logic formeaz unmicroprogram.

    O microinstruciune orizontal este interpretat n modul urmtor:1. Pentru execuia unei microinstruciuni, se activeaz toate semnalele de

    control crora le corespunde un bit de 1 n cmpul semnalelor de comand i sedezactiveaz cele crora le corespunde un bit de 0.2. In cazul n care condiia indicat de cmpul de condiie este fals, se

    trece la execuia urmtoarei microinstruciuni din microprogram. In cazul n carecondiia indicat de cmpul de condiie este adevrat, se trece la execuiamicroinstruciunii indicat de cmpul de adres.

    In figura 4.10 se prezint amplasarea microprogramelor n memoria decomand.

    Fiecare rutin este constituit dintr-un microprogram. Microinstruciunile dinfiecare rutin sunt executate secvenial. Fiecare rutin se termin cu oinstruciune de salt care indic urmtoarea rutin care va fi executat. Exist orutin special pentru nceputul unui subciclu de execuie, care dup ncrcare idecodificare indic rutina care va fi executat pentru diferitele instruciuni (ADD,

    AND,..., JMP), n funcie de codul instruciunii.Memoria de comand reprezint o descriere complet a funcionrii UCC,

    deoarece definete secvena de microinstruciuni care trebuie executate n timpulfiecrui subciclu (de extragere, de indirectare, de execuie, de ntrerupere) ispecific secvenierea acestor subcicluri.

    Adres microinstruciune

    Cmp de condiii- Salt necondiionat- Zero- Depire- Bit de indirectare

    Semnale de control pentrumagistrala sistem

    Semnale de control pentruUCP

  • 8/12/2019 Cursuri SOC

    25/128

    Fig. 4.10

    In figura 4.11 se prezint elementele principale ale unei uniti de comandmicroprogramate.

    Registrul de microadrese RMA conine adresa urmtoarei microinstruciunicare va fi citit din memoria de comand. Dup citirea din memoria de comand,microinstruciunea este transferat n registrul de microinstruciuni RMI.

    Unitatea microprogramat are aceleai intrri (Rl, indicatori de condiii aiUAL, ceas) i ieiri (semnale de comand) ca i o unitate de comand cablat.Unitatea de comand microprogramat funcioneaz astfel:

    1. Instruciunea din RI este decodificat de decodificatorul 1 rezultndadresa din memoria de comand a urmtoarei microinstruciuni.

    2. Pentru extragerea microinstruciunii a crei adres se gsete nRMA, logica de secveniere activeaz un semnal de citire a memoriei decomand.

    3. Microinstruciunea extras din memoria de comand este depus nregistrul de microinstruciuni(RMI).

    4. Dup decodificarea microinstruciunii din RMI sunt activate semnalele

    de control pentru UCP, magistrala de control i pentru blocul de secveniere.5. Logica de secveniere ncarc o nou adres n registrul de microadrese,

    pe baza informaiilor despre adresa urmtoare de la registrul de microinstruciuniRMI i a indicatorilor de condiii ai UAL.

    Dezavantajul unitilor microprogramate este c sunt mai lente dect celecablate realizate ntr-o tehnologie comparabil.

    .

    .Salt la indirectare sau execuie...Salt la execuie

    .

    .Salt la extagere

    Salt la decodificarea codului op...Salt la ntrerupere sau extragere

    .

    .Salt la ntreru ere sau extra ere

    Rutina pentruciclul de extragere

    Rutina pentruciclul de indirectare

    Rutina pentruciclul de ntrerupere

    nceput ciclu de execuie

    Rutina pentru ADD

    Rutina pentru AND

    Rutina pentru JMP

    .

    .

    .

    .

    .Salt la ntreru ere sau extra ere

  • 8/12/2019 Cursuri SOC

    26/128

    Fig. 4.11 Unitate de comand microprogramat

    Cu toate acestea, micro-programarea este tehnica cea mai utilizat pentruimplementarea unitilor de comand.

    RI

    Decodificator 1

    RMA

    Memorie decomand

    RMI

    Logic de

    secveniere

    Indicatori decondiii

    Ceas

    READ

    Semnale decontrol UCP

    Decodificator 2

    Semnale de controlpe magistrala

  • 8/12/2019 Cursuri SOC

    27/128

    Cap.5. Magistrale

    5.1 Noiuni generalePrin magistral se nelege un ansamblu de linii conductoare, grupat

    funcional, menite s conecteze dou sau mai multe uniti ale unui sistem dcalcul. Pe fiecare linie a unei magistrale se poate transfera, la un moment dat, singur valoare logic (asignat unui nivel de tensiune bine definit), ce reprezint

    o cantitate de informaie de 1 bit. Dac magistrala are n linii, atunci pe magistrase transfer n bii de informaie n paralel i vom spune c magistrala transfercuvinte de informaie de dimensiune n.

    Anumite dispozitive conectate la magistral sunt active i pot iniia un transfer, iaaltele sunt pasive i ateapt cererile de transfer. Dispozitivele active se numesdispozitive master, iar cele pasive - dispozitive slave.Atunci cnd UCP solicit uncontroler de disc citirea sau scrierea unui bloc, UCP are rol de master, iar controlerare rol de slave. Controlerul de disc poate deveni master, de exemplu atunci cnsolicit memoriei acceptarea cuvintelor citite de pe disc. Memoria nu poate devemastern nici o situaie.

    Pentru amplificarea semnalelor, dispozitivele masterse conecteaz la magistraprin drivere de magistral (bus driver). Similar, dispozitivele slave sunt conectate prreceptoare de magistral (bus receiver). Pentru dispozitivele care pot fi att emitoact i receptoare, se utilizeaz circuite emitoare/receptoare de magistral (butransceiver).

    5.2. Clasificarea magistralelorDup modul de transfer al informaiilor, magistralele pot fi:-magistrale unidirecionale la care transferul de informaii se efectueaz p

    toate liniile ntr-un singur sens, de la o unitate emitoare ctre una sau mai multuniti receptoare;

    -magistrale bidirecionale la care transferul se poate efectua n ambelsensuri, alternativ prin multiplexare n timp, la un moment dat transferndu-sinformaii ntr-un singur sens. Astfel, unitile conectate la o magistralbidirecional pot fi pe rnd uniti emitoare sau receptoare de semnale.

    Dup tipul informaiilor transferate, magistralele pot fi:- magistrale primare pe care au loc transferurile informaiilor utile ce s

    doresc a fi transmise ntre subsistemele unui calculator. Acestea pot fi: magistralde instruciuni sau magistrale de date.Deoarece memoria sistemului este comun

    pentru programe i date, cele dou tipuri de informaii primare sunt transferate po magistral bidirecional, numit generic magistral de date.

    -magistrale secundare pe care au loc transferurile de informasuplimentare, necesare obinerii informaiilor primare. Acestea pot fi: magistrale dadrese, magistrale de comenzi sau magistrale de stri, considerate n generaunidirecionale.Cele dou magistrale, de comenzi i de stri transfer informaii sensuri opuse i formeaz mpreun o magistral bidirecional pe linii separatenumit magistral de control.

    Dup rata de transfer i implicit dup numrul de uniti conectate, putem

  • 8/12/2019 Cursuri SOC

    28/128

    avea:-magistrale locale care sunt amplasate n apropierea unitilor foarte rapid

    cum este, de exemplu, procesorul. Aceste magistrale sunt caracterizate de o ratmare de transfer i un numr mic de uniti ce pot fi conectate la ele. Ca exemplpot fi date: magistrala local a procesorului, magistrala local a memoriei;

    -magistrale de extensie (magistrale I/O), care sunt magistrale accesibiutilizatorului, fiind terminate cu conectoare de extensie.

    Magistralele de extensie sunt amplasate mai departe de procesor i suncaracterizate de o rat mai mic de transfer i un numr relativ mare de uniti cpot fi conectate la ele. Dup modul de control al transferului de informamagistralele pot fi:

    - Magistrale sincrone. Toate operaiile magistralelor sincrone sunt sincronizatde un semnal de ceas i orice transfer dureaz un numr ntreg de perioade de ceanumite cicluri de magistrala. In cazul acestor magistrale, dac un transfer se termin

    naintea unui numr ntreg de cicluri, urmtorul transfer poate ncepe numai dupsfritul ciclului n curs de desfurare. Aceast situaie conduce lantrzieri inutile.

    - Magistrale asincrone. O magistral asincron elimin dezavantaje

    magistralelor sincrone. In locul semnalului de ceas se utilizeaz un protocol logntre emitor i receptor (numit handshake). In cadrul acestui protocol are loc uschimb de informaii ntre unitatea masteri unitatea slavecare permit corelarea coordonarea transferului de date. Fiecare aciune a celor doi participani la transfeeste condiionat de o aciune anterioar i nu de un impuls de ceas.

    Magistralele asincrone necesit mai multe linii de semnal i o logic macomplex, fapt care ridic preulacestora. Pentru acest motiv, n ciuda avantajeloprezentate de magistralele asincrone, magistralele sincrone sunt mai des utilizate

    Dac la o magistral sunt conectate dispozitive cu viteze diferite (unele lente

    altele rapide), viteza de transfer trebuie aleas dup dispozitivul cel mai lendispozitivele rapide fiind ntrziate.

    5.3. Arbitrajul de magistralLa majoritatea sistemelor, exist mai multe module care pot prelua control

    asupra magistralei (care pot deveni module master). Pentru acest motiv, dac apamai multe cereri simultane de magistral, este necesar s existe un mecanism darbitrare prin care s se determine modulul care va deveni master. Modulul masteva putea apoi iniiaun transfer cu un alt modul care, pentru acest transfer, va averolul de modul slave.

    Metodele de arbitrare pot fi clasificate ca fiind centralizate sau descentraliza(distribuite).

    5.3.1. Arbitrarea centralizatIn cazul arbitrrii centralizate, alocarea magistralei este realizat de un dispozit

    hardware numit arbitru de magistral. Acest dispozitiv poate fi un modul separat sapoate face parte din UCP.

    In figura 5.1 se prezint un exemplu simplu de arbitrare centralizat. In cadracestei soluii exist o singur linie de cerere a magistralei, care poate fi activat d

  • 8/12/2019 Cursuri SOC

    29/128

    unul sau mai multe dispozitive n orice moment. Arbitrul nu poate distinge dac existmai multe cereri simultane sau o singur cerere, cinumai dac exist sau nu cereri un moment dat.

    Fig. 5.1Arbitrarea centralizat

    Dac apare un semnal pe linia de cerere, arbitrul activeaz linia de acordare magistralei, la care sunt conectate n serie toate dispozitivele. Dispozitivul cel maapropiat fizic de arbitru detecteaz semnalul de pe aceast linie i, n cazuln care efectuat o cerere, preia controlul asupra magistralei. Dac nu a efectuat o cerertransmite semnalul urmtorului dispozitiv, care procedeaz la fel, pn cnd udispozitiv preia controlul asupra magistralei.

    In aceast schem de tip daisy chain, prioritatea dispozitivelor este dat ddistana la care se afl fa de arbitru. Dispozitivul cel mai apropiat de arbitru arprioritatea maxim. Pentru a modifica aceste prioriti implicite, magistralele pot avemai multe niveluri de prioritate. In acest caz pentru fiecare prioritate exist o linie dcerere i una de acordare a magistralei.

    5.3.2. Arbitrarea descentralizatIn cazul arbitrrii descentralizate nu exist un arbitru de magistral. Fiecare mod

    are o prioritate unic i conine o logic pentru controlul accesului la magistral carine cont de prioritile celorlalte module. Atunci cnd un anumit modul solicitaccesul la magistral, acesta verific mai nti dac exist vreun modul cu prioritatmai mare care, de asemenea, solicit magistrala. In cazuln care o asemenea cerer

    nu exist, iniiaz transferul. Dac un modul cu prioritate mai mare iniiaz o cerere acelai ciclu de ceas, modulul iniial menine cererea pn magistrala este eliberat.

    5.4. Parcarea magistralelorAnumite dispozitive master ale unui sistem de calcul ca, de exemplu, uniti

    centrale, sunt active n marea majoritate a timpului, n timp ce altele sunt active n mosporadic. Un dispozitiv din prima categorie poate pstra controlul asupra magistralchiar i dup terminarea transferului curent, deoarece este foarte probabil c vutiliza magistrala i n continuare. Procedura prin care magistrala nu este eliberatautomat dupterminarea transferului curent ci numai n cazul n care exist o cerer

    magistrala

    Acordare

    Arbi tru

    D1 D2 D4D3

    Dispozitive de I/E

    Cerere magistrala

  • 8/12/2019 Cursuri SOC

    30/128

    de magistral, se numete parcarea magistralei.Prin utilizarea acestei metode, nu este necesar executarea operaiilor d

    eliberare a magistralei i de arbitrare pentru fiecare transfer. Dac se utilizeazparcarea magistralei orice alt modul care solicit accesul la magistral ncepe cu cerere adresat dispozitivului masterde a elibera magistrala.

    5.5.Magistrale localeAceste magistrale deservesc unitile foarte rapide cum sunt UCP

    memoria principal.Magistrala procesoruluiestecalea de comunicaie ntre UCP i subsisteme

    cu care acesta lucreazdirect. Magistrala procesorului este utilizat, de exemplpentru a transfera date ntre UCP i magistrala principala sistemului sau ntrUCP i memoria extern rapid (memoria cache). Deoarece de performaneacestei magistrale depind n mare msur performanele calculatorului, aceastmagistral lucreaz la o vitez mult mai mare dect orice alt magistral dsistem.

    Magistrala procesorului are n componena magistrala de date, magistrala d

    adrese i pe cea de control. De exemplu, magistrala procesorului unui sistemPentium are 64 linii de date, 32 linii de adres i un numr de linii de controasociate.

    Magistrala memoriei este utilizat la transferul informaiei ntre UCPmemoria principal - memoria RAM a sistemului. Aceast magistral estimplementatprintr-un set de circuite dedicate i este responsabil cu transferinformaiilor ntre magistrala procesorului i memorie. In componena magistralmemoriei intr i o magistrala de adrese utilizat pentru selecia locaiei dmemorie n care urmeaz s se efectueze o operaiede citire/scriere.

    Fig. 5.2 Magistrale locale

    Dimensiunea magistralei de memorie este strns legat de mrimememoriei pe care unitatea central o poate adresa direct. In figura 5.2 sun

    Magistrala procesorului

    Magistrala principala sistemului

    Magistrala principal

    a sistemului

    UCPMemorieextern

    rapid

    Controlerulde

    memorie

    RAM

    Magistrala memoriei

  • 8/12/2019 Cursuri SOC

    31/128

    prezentate magistralele locale ale unui sistem de calcul.

    5.6. Magistrala de extensieMagistrala de extensie, numit i magistral l/O, permite unitii centrale s

    comunice cu dispozitivele periferice. Magistrala l/O face posibil, de asemeneaadugarea de noi dispozitive pentru a extinde posibilitile de prelucrare acalculatorului. In conectorii de extensie pot fi introduse componente de baz, cum

    sunt controlerele de hard disc i plcile adaptoare video; de asemenea, se pointroduce dispozitive mai specializate, cum ar fi plci de sunet i plci de interfacu uniti CD-ROM.

    De-a lungul evoluiei sistemelor de calcul s-au dezvoltat mai multe tipuri dmagistrale de I/O. Dintre acestea cele mai importante sunt:

    - ISA;- EISA;- MCA;- Magistrala local;- Magistrala VESA local;- Magistrala PCI;- Magistrala PCMCIA.

    Aceste magistrale se deosebesc n principal prin numrul de informatransferate simultan i prin viteza cu care se face acest transfer. Arhitecturmagistralei este realizat cu un set de circuite care este conectat la magistralprocesorului.

    5.6.1 Magistrala ISAMagistrala ISA (Industry Standard Architecture) este arhitectura d

    magistral introdus odat cu primul IBM PC, n 1982 i care a fost mai trzmbuntit la modelul IBM PC/AT. Pn nu de mult magistrala ISA stteabaza calculatorului personal modern i era principala arhitecturfolositn maremajoritate a sistemelor PC de pe pia. Longevitatea acestei magistrale sdatoreaz siguranei, accesibilitii i compatibilitii sale. Magistrala ISA a fosconceput s lucreze cu arhitecturi pe 8 bii i mai trziu a fost extins pentru 1bii.

    5.6.2 Magistrala EISAEISA sunt iniialele pentru Extended Industry Standard Architecture.Aa cu

    arat i numele, magistrala EISA este o extindere a magistralei ISA, astfel nct spermit arhitecturi de 32 de bii i viteze de transfer superioare, pstrnd nscompatibilitatea cu plcile de extensie existente i cu perifericele. In comparaie carhitectura de sistem ISA pe 16 bii, EISA permite mai multe extensii cu mai puinconflicte intre plcile adaptoare.

    Pentru a mri viteza sistemului, EISA utilizeaz o tehnologie numit bumastering (controlul total al magistralei). In esen, un dispozitiv cu opiunea dcontrol total al magistralei este un adaptor prevzut cu un procesor, care poatexecuta operaii independent de UCP. Pentru a funciona corespunzto

  • 8/12/2019 Cursuri SOC

    32/128

    tehnologia bus-mastering se bazeaz pe un circuit de arbitrare EISA (EISarbitration unit), numit de obicei cip ISP (Integrated System Peripheral - sisteperiferic integrat). De exemplu, un controler de disc n tehnologia bus-masterinschimb un volum de date mult mai mare cu o unitate rapid de hard disc, comparaie cu un controler obinuit.

    Unitatea ISP decide care dispozitiv primete controlul, printr-un sistem dpatru niveluri de prioritate. Ordinea dat de nivelurile de prioritate est

    urmtoarea:- Remprosptarea memoriei- Transferuri DMA (Direct Memory Access)- UCP- Plci bus-masterDispozitivul adaptor cu bus-mastering semnaleazunitii ISP cdorete s

    preia controlul sistemului. In cel mai scurt timp posibil (dupce au fost satisfcutprioritile mai mari), ISP pred controlul dispozitivului. Aceste dispozitive aincluse la rndul lor circuite care le mpiedics pstreze controlul pe perioade dtimp mai mari dect cele necesare operaiilor ciclice cum este, de exemplu

    mprosptarea memoriei.

    5.6.3 Magistrala MCAApariia procesoarelor pe 32 de bii a fcut ca magistrala ISA s nu m

    corespund noii generaii de procesoare. Microprocesoarele 386 transfer32 dbii de date simultan, iar magistrala ISA putea s transfere doar maxim 16 bii. loc s extind din nou magistrala ISA, IBM a decis s construiasc o noumagistral; aa a aprut magistrala MCA (Micro Channel Architecture). MCadmite controlul total al magistralei (bus-mastering). Prin implementare

    tehnologiei bus-mastering, descris n aliniatul anterior,s-au realizat mbuntsemnificative ale performanelor n comparaie cu magistrala ISA. Dispozitivul darbitrare controleazcompetiia pentru transferul pe magistral, asigurnd accestuturor dispozitivelor la magistral dar mpiedicnd, n acelai timp, monopolizareacesteia de singur dispozitiv.

    Sistemul de arbitraj al magistralei are n structura sa 4 linii de prioritate, carstabilesc 16 nivele de prioritate. Fiecrui dispozitiv master i se atribuie un nivel dprioritate ntre 0 i F, nivelul F fiind cel mai puin prioritar. Dispozitivul cu nivelul dprioritate F este numit master implicit.Atunci cnd nu exist nici un alt mastersau apariia unei condiii de excepie, magistrala este acordat acestui dispozitiv.

    Un dispozitiv conectat la magistrala Micro Channel, care dorete s utilizezmagistrala, trimite numrul de prioritate, ce i-a fost acordat, pe cele 4 linii de prioritatefiecare dispozitiv sau plac de extensie urmrete aceste semnale i renun magistral, dac detecteaz existena unei cereri de prioritate mai mare. Procesorprincipal (UCP) are prioritatea cea mai mic (F) fiind master implicit.

    5.6.4 Magistrala localMagistralele l/O prezentate pn acum aveau o rat de transfer relat

    sczut. In timp ce rata de transfer magistralei procesorului a crescut, magistral

  • 8/12/2019 Cursuri SOC

    33/128

    l/O a cunoscut doar ajustri neimportante ale acestui parametru, n principal prcreterea numrului de ci paralele. Magistrala l/O a trebuit slucreze la o rat dtransfer sczut deoarece majoritatea adaptoarelor instalate funcionau doar viteze mai mici.

    Figura 5.3 prezint schema bloc de principiu a magistralelor unui sistem dcalcul.

    Fig. 5.3

    Dac pentru majoritatea dispozitivelor periferice cum sunt tastaturaimprimantele, scannere, etc. aceast rat de transfer este suficient, au aprudispozitive pentru care era necesar transferul rapid al unor blocuri mari de date

    Aceast necesitate apare mai ales la urmtoarele subsisteme:-Adaptoare grafice. Interfeele grafice ale sistemelor de operare Windows, OS/

    i Unix X-Windows necesit actualizarea rapid a imaginii grafice pentru deplasareredimensionarea i actualizarea ferestrelor multiple. Acelai lucru este valabil i pentimaginile video n micare. Procesorul trebuie s actualizeze i s transfere blocumari de date n cadrul memoriei video.

    - Adaptoare pentru interfaa SCSI. Interfaa SCSI este utilizat mai ales pentrmemorii de mas, ca unitile de disc fix, unitile CD-ROM i unitile de band

    ncasetat. Creterea vitezei de transfer ale acestor dispozitive influeneaz

    semnificativ performanele globale ale sistemului.O soluie evidenta acestei probleme este mutarea unora dintre extensiil

    l/O ntr-o zon unde pot avea acces la vitezele sporite ale magistralei procesorulula fel ca i cea de care beneficiaz i memoria imediat. Figura 5.4 descraceastnoudispunere.

    Aceastdispunere a componentelor a devenit cunoscutsub denumirea dmagistral local(local bus), deoarece dispozitivele externe (plci adaptoare) poaccesa acea parte a magistralei care aparinea pn acum doar procesoruluianume, magistrala procesorului.

    Soluiile local-bus nu nlocuiesc standardele anterioare, cum ar fi ISA

    (Vitez mare)

    Magistralamemoriei

    (Vitez mic)(Vitez mic)

    Magistrala

    I/O

    Magistrala procesorului

    (Vitez mare)

    UCP

    Memoriaimediat

    (cache)

    Controlerulde

    magistral

    RAM

    Plciadaptoare

    I/O

    AdaptoareI/O

    incluse

    MagistralaI/O

  • 8/12/2019 Cursuri SOC

    34/128

    EISA, ci sunt proiectate pentru a le mbunti. Pentru acest motiv, un sistemuzual este bazat pe standardele ISA sau EISA fiind n acelai timp dotat i cu unsau mai muli conectori local-bus. Astfel, plcile mai vechi rmn compatibile csistemul, iar plcile adaptoare de mare vitez beneficiaz acum de conectolocal-bus.

    Fig. 5.4 Magistral de extensie de tip local-bus

    5.6.5 Magistrala localVESA

    La nceput, magistrala local era folosit n principal pentru adaptoaregrafice. Aceast magistral a aprut n sistemele de vrf n care strangulrile eraevidente. Din nefericire, spre sfritul anului 1992, erau n competiie pe piammulte sisteme local-bus i fiecare dintre aceste sisteme erau brevetate. Aceastlipsa standardizrii a stnjenit acceptarea larga soluiei local-bus.

    Pentru a depi aceastproblem, Video Electronics Standard Associatio(VESA) a dezvoltat un standard de magistral local-bus cunoscut sub numele dVESA Local-Bus sau, mai simplu, VL-Bus. La fel ca n implementrile anterioarsistemele VL-Bus ofereau accesul direct la memoria sistemului, cu vitez

    procesorului. Magistrala VL-Bus transfera 32 de bii de date simultan i depermitea ca transferul datelor ntre UCP i un subsistem compatibil video sau uhard disc s se fac pe lungimea integral de 32 de bii a cuvntului prin carcomunica microprocesorul 486.

    Magistrala local VESA nu a mai fost dezvoltat pentru a fi adaptat procesoarele Pentium astfel nct a rmas inevitabil legat de procesorul 486.

    5.6.6 Magistrala PCIIn paralel cu grupul care a dezvoltat magistrala VESA, Intel a dezvolta

    magistrala PCI (Peripheral Component Interconnect bus) care rspundea, d

    (Vitez mare)

    Magistralamemoriei

    (Vitez mic)(Vitez mic)

    Magistrala

    I/O

    Magistrala procesorului

    (Vitez mare)

    UCP

    Memoriaimediat

    (cache)

    Controlerulde

    magistral

    RAM

    Plciadaptoare

    I/O

    AdaptoareI/O

    incluse

    MagistralaI/O

    PlciAdaptoare

    I/O

  • 8/12/2019 Cursuri SOC

    35/128

    asemenea, necesitii de a se depi slbiciunile magistralelor ISA i EISA. acest scop, ntre CPU i magistrala l/O existent, a fost intercalat o noumagistral denumit PCI.

    Fig. 5.5

    Pentru faptul c magistrala PCI lucreaz n paralel cu magistraprocesorului, rata de transfer a acesteia este considerabil crescut. Unul dintravantajele majore ale magistralei PCI const n faptul c, n timp ce UCP transfersau primete date de la memoria imediat, PCI se poate ocupa cu transferareinformaiilor ntre alte elemente ale sistemului.

    Un alt avantaj al magistralei PCI este faptul c aceasta admite transferuri mod exploziv (burst). Un asemenea transfer const dintr-o singur faz de adresurmat de mai multe faze de date. In acest caz arbitrajul de magistral trebuexecutat o singur dat la nceperea fazei de adrese. In timpul fazei de adrese s

    transmite adresa de nceput a blocului de date i tipul tranzaciei care urmeaz; citirsau scriere. Dispozitivul slavememoreaz adresa de nceputntr-un contor de adresi va incrementa adresa n fiecare faz de date. La magistralele care nu permtransferuri n mod exploziv, blocul de date se transmite utiliznd o serie de tranzacseparate i, n acest caz, este necesar arbitrajul de magistral pentru fiecare dintaceste tranzacii. In aceste condiii,ntre dou tranzacii, un alt dispozitiv master poatobine magistrala fapt care limiteazsever rata de transfer.

    Dezvoltarea ulterioar a magistralei PCI a condus la apariia magistralei PCX i aceasta cu diverse variante.

    Magistrala ISA

    CD-ROM

    LANMagistrala

    SCSI

    Magistrala PCI

    memoriei

    Magistrala

    local aUCP

    MagistralaUCP

    Punte

    UCP/PCIMemoria

    principal

    Periferic

    audio

    Periferic

    video

    Memorie

    video

    Adaptor

    SCSI

    Adaptor

    grafic

    Adaptor

    LAN

    Punte

    PCI / ISA

    Disc

    Band

    Master

    magistral

    Slave

    memorie

    Slave

    I/E

    Buffer de

    cadre video

  • 8/12/2019 Cursuri SOC

    36/128

    Din cauza tendinei de dezvoltare a funciilor grafice, posibilitile magistralPCI au fost repede depite, n special pentru motivul c aceasta a fost conceputpentru a deservi mai multe dispozitive. Aceast situaie a condus la dezvoltareunei magistrale dedicate pentru adaptoarele grafice numit Accelerated GraphPort (AGP). Magistrala AGP a fost utilizat, n primul rnd, pentru a accelergrafica 3D. Magistrala AGP a fost nlocuit ntre anii 2004 2007 de magistraPCI Express, care avea performane mbuntite.

    Fig. 5.6

    In figura 5.6 sunt prezentate toate magistralele care sunt implicate realizarea unui sistem de calcul actual.

    Punile care conecteaz diverse magistrale ntre ele au n acest caz denumconsacrate. Astfel puntea care conecteaz magistrala procesorului (FSB) cmagistrala memoriei i magistrala plcii grafice se numete Northbridge. Placgrafic i magistrala corespunztoare poate fi de tip AGP sau, mai nou, PCExpres. O a doua punte numit Southbridge, conecteaz magistrala de extenscare acum este de tip PCI cu porturile rapide (IDE, SATA, USB) i cu magistralperifericelor lente numit LPC.

    Magistrala LPC (Low Pin Count) conecteaz unitile periferice de vitez

    UCP

    Northbridge

    Southbridge

    IDESATA

    USB

    Controlergrafic on

    board

    Cabluri iporturi

    off board

    Slot pentruplac grafic

    MagistralAGP sauPCI Expres

    Magistralamemoriei

    Sloturi pt.memorie

    RAM

    Front side bus

    Magistralaintern

    Chipset

    MagistralaPCI

    ROM(BIOS)

    Porturi serialePorturi paralele

    Floppy diskTastatura

    Mouse

    MagistralaPCI

    SloturiPCI

    Magistrala LPC

  • 8/12/2019 Cursuri SOC

    37/128

    redus cum sunt tastatura mouse-ul, controlerul de floppy disk, porturile seriale paralele (la care poate fi conectat, de exemplu, o imprimant), la circuitSouthbridge. La aceeai magistral este conectat i memoria ROM n care sgsete BIOS-ul (Basic Input/Output Sistem). Aceast magistral a fost conceputpentru a nlocui magistrala ISA i are avantajul c necesit mai puine ci pentrcomunicaia cu perifericele, fapt important pentru plcile de baz actuale care su

    n general foarte aglomerate. Punile Northbridge i Southbridge sunt conectat

    ntre ele prin magistrala intern i mpreun formeaz ceea ce se numechipset.

    5.6.7 Magistrala PCMCIADin dorina de a oferi calculatoarelor laptop inotebook aceeai calitate de

    fi extensibile pe care o au sistemele desktop, Personal Computer Memory CarInternational Association (PCMCIA) a stabilit cteva standarde pentru plcile dextensie de dimensiuni reduse (credit-card-size) care se potrivesc in conectomici ai calculatoarelor laptop inotebook.

    Standardele PCMCIA, care au fost elaborate de un consoriu format dpeste 300 de productori (inclusiv IBM, Toshiba i Apple), au fost considerate a un progres major n domeniul calculatoarelor portabile, deoarece conectorPCMCIA pentru laptop i notebook admit plci de extensie de memorie, plfax/modem, adaptoare SCSI, plci de reea local (LAN) i multe alte tipuri ddispozitive. Ideea de baz a standardului PCMCIA a fost aceea de a dposibilitatea ca toate dispozitivele periferice PCMCIA existente la productori spoat fi utilizate de orice notebook.

    Dei implementarea standardului PCMCIA a fost un progres considerabpentru calculatoarele de tip laptop i notebook totui acesta nu este ntotdeaun

    respectat de productori de calculatoare i dispozitive periferice.Dorind s rezolve aceste probleme de compatibilitate, PCMCIA a continua

    s stabileasc noi standarde. In urma acestei activiti au rezultat, de fapt, standarde: PCMCIA tip I pnla tip IV. Cu toate acestea, existncprobleme dcompatibilitate, mai ales datoritfaptului cstandardele PCMCIA sunt opionale.

  • 8/12/2019 Cursuri SOC

    38/128

    Cap.6. UNITATEA DE MEMORIE

    Memoria este acea parte a sistemelor de calcul care se utilizeaz pentrupstrarea i regsirea ulterioar a datelor i instruciunilor. Operaiile principale ncare este implicat memoria sunt urmtoarele:

    Preluarea datelor de intrare n memorie;

    Pstrarea datelor pentru a putea fi prelucrate de ctre UCPsau pentru aputea fi preluate de echipamentele de ieire;

    Transmiterea datelor din memorie ctre UCP sau ctre echipamentele deieire.

    Sistemele de memorie influeneaz n mod determinant performanelecalculatoarelor. Deoarece n memorie sunt pstrate att datelect i instruciunile,sistemul de memorie trebuie s satisfac cererile simultane pentru prelucrareadatelor, execuia instruciunilor i transferul ntre memorie i exterior.

    Exist o mare varietate de tipuri, tehnologii, organizri, performane i costuriale memoriilor utilizate n sistemele de calcul. Nici una din acestea nu este optimpentru satisfacerea tuturor cerinelor. Ca o consecin, sistemele de calcul suntechipate cu o ierarhie de subsisteme de memorie, unele interne sistemului(accesibile direct de UCP), iar altele externe (accesibile de ctre UCP printr-unmodul de I/E).

    6.1. Caracteristicile sistemelor de memorieCele mai importante caracteristici sunt urmtoarele:- Amplasarea. Sistemele de calcul dispun de memorii interne i externe.

    Memoria intern este numit,de cele mai multe ori, memorie principal. Exist ns

    i alte forme de memorie intern.Astfel UCP necesit o memorie local proprie,constituit dintr-un numr deregistre de memorie. Unitatea de comand i controldin cadrul UCP poate necesita de asemenea o memorie proprie, n cazul unitilorde comand microprogramate. Memoria extern const din diverse dispozitiveperiferice, ca discurile sau benzile magnetice, unitile de CD-ROM sau DVD-ROMi altele,care sunt accesibile de ctre UCP prin controlere (module) de I/E.

    - Capacitatea.Se exprim prin dimensiunea cuvntului de memorie (8, 16, 32,64 sau 128 de bii) i numrul de cuvinte (Koctei, Moctei, Goctei) din care estecompus memoria.

    - Unitatea transferabil.Pentru memoria intern, unitatea transferabil esteegal cu numrul liniilor de date ctre i de la modulul de memorie, deci cunumrul de bii transferai simultan. Unitatea transferabilnu trebuie s fie egalneaprat cu un cuvnt de memorie. Pentru memoria extern, datele sunttransferate de multe ori n uniti mai mari dect un cuvnt, numite blocuri.

    - Metoda de acces. Exist urmtoarele tipuri de acces la unitile de date:1.Acces secvenial. Memoria este organizat n uniti de date, numite

    nregistrri. Fiecare nregistrare poate fi regsit pe baza adresei acesteia. Pentrua accesa o anumit nregistrare trebuie parcurse toate nregistrrile anterioare.Pentru acest motiv timpul de acces la o nregistrare oarecare este variabil i

  • 8/12/2019 Cursuri SOC

    39/128

    depinde de poziia nregistrrii n cadrul fiierului. Unitile de band suntechipamente cu acces secvenial.

    2. Acces direct. Blocurile sau nregistrrile individuale au o adres unic pebaza amplasrii fizice a acestora. Timpul de acces este de asemenea variabilidepinde de poziia nregistrrii accesat anterior. Unitile de discuri fixe suntechipamente cu acces direct.

    3. Acces aleator. Fiecare locaie adresabil a memoriei are un mecanism de

    adresare ncorporat. Timpul de acces a fiecrei locaii este independent desecvenele acceselor anterioare i este constant. Fiecare locaie poate fi, deci,selectat aleator i poate fi adresat i accesat direct. Memoria principal poatefi accesat n mod aleatoriu, de unde provine i numele acesteia (Randomaccess memory-RAM).

    4. Acces asociativ. Memoria asociativ este un tip de memorie cu accesaleator, care permite regsirea unui cuvnt de memorie pe baza unei pri aconinutului acestuia i nu pe baza adresei (memorie adresabil prin coninut).

    Acest lucru se realizeaz prin compararea unor bii dintr-un cuvnt cu o anumitvaloare specificat i efectuarea acestei comparri n mod simultan pentru toatecuvintele. In acest fel regsirea este foarte rapid.

    - Tehnologia de realizare. Dispozitivele de memorie ale unui sistem decalcul pot fi semiconductoare, magnetice sau optice. Memoria principal este deobicei semiconductoare (RAM) iar memoria secundar este constituit din unulsau mai multe discuri dure (Hard Disk - HDD) care memoreaz informaia pe unsubstrat magnetic. In ultimul timp au luat tot o mai mare dezvoltare dispozitiveleoptice de memorare, dintre care amintim CD-ROM, DVD-ROM, BLU-ray (BD).

    - Metoda de scriere. In funcie de modul de funcionare a memoriiloracestea pot fi reversibile sau permanente. O memorie reversibil este

    caracterizat de faptul c informaiile pot fi scrise i citite n timpul funcionriiacesteia. Memorarea informaiilor ntr-o astfel de memorie este temporar,acestea fiind pierdute la deconectarea memoriei. Un exemplu de memorii cucitire/scriere sunt memoriile RAM.

    Memoriile al cror coninut nu poate fi modificat n timpul funcionrii suntnumite memorii numai cu citire (ROM - Read-Only Memory). Memoriile ROMsunt scrise n procesul de fabricaie i coninutul lor nu mai poate fi modificatulterior.

    O alt clas de memorii din aceasta categorie o constituie memoriilePROM (Programmable Read-Only Memory). Procesul de scriere al acestormemorii este executat prin semnale electrice de ctre furnizor sau utilizator ntr-un moment ulterior fabricaiei circuitului, utiliznd un echipament special.Memoria PROM asigur flexibilitate la un cost moderat, dar aredezavantajul cnu poate fi tears.

    O alt variant a memoriei ROM este memoria EPROM (ErasableProgrammable Read-Only Memory).Aceasta este citit i nscris electric, ca imemoria PROM, ns naintea unei operaii de scriere toate celulele dememorare trebuie terse pentru a avea aceeai stare iniial prin expunereacapsulei la o radiaie ultraviolet. Acest proces de tergere poate fi executat n

  • 8/12/2019 Cursuri SOC

    40/128

    mod repetat.O form actual de memorie ROM este memoria EEPROM (Electrically

    Erasable Programmable Read-Only Memory). Aceast memorie poate finscris n orice moment fr a-i terge coninutul. Operaia de scriere trebuieefectuat pe blocuri i necesit un timp considerabil mai lung dect operaia decitire. Memoria EEPROM are avantajul c poate fi actualizat on-line, utilizndsemnale obinuite de control, adrese i date. Acest tip de memorie este potrivit

    pentru pstrarea programelor de control i ca un nlocuitor al memorieisecundare n anumite aplicaii.Programul BIOS (Basic input/output system) estepstrat ntr-o memorie de tip ROM situat pe placa de baz a sistemului decalcul.

    - Durata de via a informaiilor memorate. Din acest punct de vederedispozitivele de memorare se mpart n dou categorii: volatile i nevolatile. Suntvolatile memoriile care pierd informaia la deconectarea acestora de la sursa deenergie electric. Din aceast categorie fac parte memoriile RAM care se tergla oprirea calculatorului.

    Memoriile nevolatile pstreaz informaiile memorate i dup deconectare.Dintre acestea amintim memoriile de tip ROM, Hard Disk-ul, dispozitivele opticede memorare, etc.

    La anumite tehnologii de memorie, informaiile memorate se pierd dup operioad de timp dac acestea nu sunt refcute. Pierderea informaiilormemorate poate avea locn urmtoarele cazuri: citirea distructiv imemorareadinamic. La anumite memorii metoda de citire distruge informaiile memorate;acest fenomen este numit citire distructiv (DRO - Destructive Readout).Memoriile la care citirea nu afecteaz informaiile memorate sunt caracterizateprin citire nedistructiv (NDRO -Non-Destructive Readout). La memoriile DRO

    fiecare operaie de citire trebuie urmat de o operaie de scriere care refacestarea original a memoriei. Aceast refacere este efectuat automat utilizndun registru buffer. Operaia de citire transfer cuvntul din locaia adresat ntr-un registrul buffer. Coninutul bufferului este rescris apoi n locaia original.

    Anumite memorii au proprietatea c informaia memorat are tendina sse modifice dup un anumit timp, datorit unui proces fizic. De exemplu, laanumite memorii semiconductoare o sarcin electric dintr-un condensatorreprezint valoarea binar 1, iar absena sarcinii reprezint valoarea binar 0. Intimp, condensatorul tinde s se descarce, determinnd pierderea informaiei.Pentru a evita acest lucru sarcina este refcut printr-un proces numitremprosptare. Memoriile care necesit o remprosptare periodic sunt numitememorii dinamice, spre deosebire de memoriile statice, care nu necesitremprosptare.Aceast operaie se efectueaz n acelai mod n care suntrefcute informaiile ntr-o memorie cu citire distructiv. Coninutul fiecrei locaiieste citit periodic n registre buffer, iar apoi este rescris sub form amplificat nlocaia original.

  • 8/12/2019 Cursuri SOC

    41/128

    6.2. Indicatori de performan ai memoriilorDin punctul de vedere al utilizatorului, cele mai importante caracteristici ale

    unei memorii sunt capacitatea i performana.1. Capacitatea reprezintcantitatea de informaie carepoate fi memorat

    de un dispozitiv de memorie. Cea mai mic unitatea adresabil a unei memoriieste octetul compus din opt bii.De obicei, memoria este organizat pe cuvintede 16 bii (2 octei),32 bii (4 octei ) sau 64 bii (8 octei).

    Capacitatea memoriei se exprim n Koctei (KB- Kilobait)) sau multipli aiacestuia:

    1 KB=210B=1024B1MB=210KB=220B1GB = 210MB = 230BPreul pe bit al unei memorii scade o dat cu creterea capacitii de

    memorare a acesteia.2. Performana. Performana unei memorii este determinat n principal de

    viteza cu care informaiile pot fi citite din memorie sau scrise n memorie. Ceimai importani indicatori de performan utilizai sunt timpul de acces, durataciclului, rata de transfer i fiabilitatea.

    - Timpul de acces al unei memorii cu acces aleator, notat cuAt , este

    intervalul de timp necesar pentru a executa o operaie de citire sau scrierepentru o cantitate fix de informaie, de exemplu, un cuvnt. Acest interval detimp este calculat din momentul n care memoria primete o cerere de citire sauscriere pn n momentul n care datele sunt disponibile pentru utilizare sausunt memorate. Timpul de acces pentru citire nu este ntotdeauna egal cu timpulde acces pentru scriere. Pentru o memorie cu acces non-aleator, timpul deacces este timpul necesar pentru a poziiona mecanismul de citire-scriere la

    locaia dorit.- Durata ciclului, notat cu

    Mt , se refer n primul rnd la memoriile cu

    acces aleator. Durata ciclului const din timpul de acces la care se adaugtimpul suplimentar necesar nainte de a putea ncepe un al doilea acces.

    Anumite memorii cu citire distructiv nu pot iniia un nou acces nainte de a fiexecutat o operaie de refacere sau remprosptare. Pentru acest motiv, timpulminim care trebuie s treac ntre nceperea a dou operaii de accesconsecutive poate fi mai mare dect timpul de acces

    At .

    - Rata de transfer, notat cuMr , este cantitatea maxim de informaii care

    pot fi transferate n sau din memorie n unitatea de timp. Aceast rat estemsurat n bii pe secund sau cuvinte pe secund. Dac w este numrul debii care pot fi transferai simultan n memorie, rata de transfer este

    MM twr /=

    bii/s. DacAM

    tt = , atunciAM

    twr /= .

    - Fiabilitatea este msurat prin timpul mediu ntre defecte (MTBF -MeanTime Between Failures). In general, memoriile fr pri n micare au ofiabilitate mult mai ridicat dect memoriile care implic o deplasare mecanic,precum discurile magnetice. Chiar i la memoriile fr pri n micare, aparprobleme de fiabilitate, n particular atunci cnd se utilizeaz densiti de

  • 8/12/2019 Cursuri SOC

    42/128

    memorare sau rate de transfer foarte ridicate. Codurile detectoare de erori icodurile corectoare de erori pot crete fiabilitatea oricrui tip de memorie.

    6.3. Ierarhia de memoriiPrincipalele caracteristici de care trebuie s se in cont la realizarea unui

    sistem de memorie sunt capacitatea i performanele memoriei. Dintre astea dinurm cel mai important este timpul de acces. Pe lng acestea, trebuie s se ia n

    considerare i costul memoriei. Aceste caracteristici sunt contradictorii. Deexemplu, exist n general urmtoarele relaii ntre capacitatea, timpul de acces icostul pe bit al diferitelor tehnologii utilizate pentru implementarea sistemelor dememorie:- O capacitate mai mare implic un timp de acces mai mare;- O capacitate mai mare implic un cost pe bit mai mic;- Un timp de acces mai mic implic un cost pe bit mai mare.

    innd seama de aceste considerente, un sistem de calcul trebuie s coninmemorii ct mai rapide pentru a asigura cerinele de performan dar i memorii demare capacitate pentru a permite prelucrarea unui volum mare de date. Acestecerine contradictorii se pot asigura dac se utilizeaz n cadrul unui sistem decalcul mai multe componente i tehnologii de memorare, care formeaz o ierarhiede memorii.

    La ierarhizarea memoriei s-a inut seama de modul n care opereazprogramele. Astfel, prin analize statistice ale unor programe tipice s-a constatatc, n orice interval de timp dat, referinele la memorie tind s se restrng ntr-oanumit zon a acesteia. Aceast proprietate este cunoscut sub numele delocalitate a referinelor. Localitatea referinelorpoate fi spaial sau temporal.

    Aceste concepte sunt definite n continuare.

    - Localitatea spaial. De multe ori, un program utilizeaz date iinstruciuni ale cror adrese sunt apropiate unele de altele n spaiul de adrese.De exemplu, referinele la elementele unui tablou apar ntotdeauna n cadrulunei anumite zone limitate din spaiul de adrese. Similar, dac UCP face referirela o instruciune I, memorat la o adres dat A , instruciunea cea maiprobabil de a fi refereniat n continuare de ctre UCP este cea imediaturmtoare dup I, a crei adres este 1+A .

    - Localitatea temporal. Datele sau instruciunile referite recent au oprobabilitate ridicat de a fi referite din nou n viitorul apropiat. De exemplu, ungrup de instruciuni dintr-o bucl iterativ sau o subrutin pot fi executate n modrepetat, rezultnd o frecven ridicat a referinelorla adresele acestora.

    O ierarhie tipic este ilustrat n figura 6.1.In mod uzual, se poate considera c diferitele uniti de memorie dintr-un

    sistem tipic formeaz o ierarhie de memorii ),...,,( 21 nMMM , dup cum se arat

    n figura 6.1. Nivelul cel mai nalt, 1M este reprezentat de unitatea de memorie

    cea mai rapid, cu dimensiunea cea mai redus i cu costul cel mai ridicat, fiindamplasat cel mai aproape de procesor.

    Urmtorul nivel, 2M , este mai lent, are dimensiuni mai mari i un cost mai

    redus dect nivelul1

    M , fiind amplasat mai departe de procesor. Acelai lucru

  • 8/12/2019 Cursuri SOC

    43/128

    este valabil pentru nivelurile 3M pn la nM .

    Componentele sistemului de memorie pot fi plasate n patru grupe,prezentate n continuare.

    Registrele UCP. Registrele de vitez ridicat ale UCP sunt utilizate camemorie de lucru pentru pstrarea temporar a instruciunilor i datelor. Fiecareregistru poate fi accesat pentru citire sau scriere ntr-un singur ciclu de ceas.

    Memoria principal (primar).Aceast memorie extern, rapid pstreaz

    programe i date care sunt n uz curent. Locaiile memoriei principale suntadresate direct prin instruciunile de ncrcare i memorare aleUCP. Cu toatec se utilizeaz o tehnologie similar cu cea a setului de registre al UCP,accesul este mai lent din cauza faptului c memoria principal este separatfizic de UCP. Capacitatea memoriei principale poate ajunge n prezent la unitisau zeci de Goctei, iar timpii de acces tipici sunt de cteva cicluri de ceas.

    Fig.6.1

    Memoria secundar.Acest tip de memorie are o capacitate mult mai maredar, n acelai timp, este mult mai lent dect memoria principal. Memoriasecundar pstreaz programe i date care nu sunt solicitate n mod constant

    de UCP. Este utilizat de asemenea atunci cnd capacitatea memorieiprincipale este depit. Informaia din memoria secundar este accesatindirect prin programe de intrare/ieire care transfer informaii ntre memoriaprincipal i cea secundar. Tehnologiile reprezentative pentru memoriasecundar sunt discurile magnetice fixe i discurile optice, ambele avndmecanisme de acces electromecanice relativ lente. Capacitile de memorarede zeci sau sute de Gocteisau, mai nou, Tocteisunt obinuite, iar timpii deacces se msoar n milisecunde.

    Memoria cache. Majoritatea calculatoarelor mai au ncnivel de memorie(uneori mai multe asemenea niveluri) numit memorie cache. Logic memoriile

    Procesor

    Memorie nivel M1

    Memorie nivel M2

    Memorie nivel Mn

    Vitez Dimensiune Cost

    Cea mai mic Cel mai

    ridicat

    Cea mai mare

    Cel maiCea mai mare

    Cea mai mic

  • 8/12/2019 Cursuri SOC

    44/128

    cachesunt poziionate ntre registrele UCP i memoria principal. Capacitateade memorare a memoriei cache este mai mic dect cea a memoriei principale,dar poate fi accesat mai rapiddect aceasta. Deoarece o parte a acesteia sau

    ntreaga memorie cache se poate afla n aceeai capsul cu UCP, timpul deacces este de la unul la trei cicluri de ceas. Memoriile cache sunt componenteeseniale ale calculatoarelor cu performane ridicate.

    Spre deosebire de celelalte trei tipuri de memorii, memoriile cache sunt de

    obicei transparente pentru programator.Figura 6.2 prezint unele exemple de ierarhii de memorie cu dou, trei i

    patru niveluri. Ierarhia cu dou niveluri din figura 6.2(a) este tipic pentrucalculatoarele din generaiile anterioare. La ierarhia din figura 6.2(b) esteadugat o memorie cache numit memorie cache divizat, deoarece aceastaare zone separate pentru memorarea instruciunilor (Cache I) i a datelor(Cache D). Al treilea exemplu din figura 6.2(c) are dou niveluri de memoriicache, ambele de tip nedivizat.

    Fig.6.2

    6.4. Memoria principal semiconductoareMemoria principal semiconductoare este de obicei o memorie cu acces

    aleator (RAM). Acest tip de memorie se distinge prin faptul c fiecare locaie dememorare poate fi accesat independent, cu un timp de acces fix care este

    DD D D

    IIII

    D D D

    III

    M1

    I

    D

    D

    I

    UCPMemorie

    principal

    M1

    Memoriesecundar

    M2

    UCP

    Cache I

    Cache D

    Memorie

    principal

    M2

    Memorie

    secundar

    M3

    UCP

    Cache

    nivel 1

    M1

    Cache

    nivel 2

    M2

    Memorie

    principal

    M3

    Memorie

    secundar

    M4

    a

    b

    c

  • 8/12/2019 Cursuri SOC

    45/128

    independent de poziia locaiei accesate.

    6.4.1. Celula de memorie i unitatea de memorieO unitate de memorie este compus dintr-un anumit numr de celule de

    memorie. Dei, pentru realizarea celulelor de memorie, se utilizeaz odiversitate de tehnologii, toate celulele de memorie semiconductoare prezinturmtoarele proprieti:

    Au dou stri stabile (sau semi-stabile), care pot fi utilizate pentru areprezenta valorile binare 0 i 1.

    Pot fi nscrise (cel puin o dat) prin setarea strii. Pot fi citite prin sesizarea strii.

    O schem bloc a unei celule care memoreaz un bit de informaie esteprezentat n figura 6.3. Linia de selecie realizeaz selectarea (validarea)celulei. Linia R/W (Read/Write) stabiletedac trebuie efectuat o operaie decitire sau de scriere asupra celulei selectate. Atunci cnd linia R/W este 0, seefectueazo operaie de citire, care determin trecerea datei memorate printr-un amplificator de detecie (sense amplifier) i transmiterea acesteia pe linia deieire. Intr-un mod similar, atunci cnd linia R/W este 1, se efectueaz ooperaie de scriere, care determin ca data de pe linia de intrare s fiememorat n celul.

    Fig.6.3

    O celul de memorie poate fi construit, n funcie de tehnologia utilizat,dintr-un numr de unul pn la ase tranzistoare. Restricia principal laproiectarea unei celule este dimensiunea sa. Obiectivul este ca dimensiunea

    celulei s fie ct mai redus, astfel nct s poat fi mpachetate mai multecelule n spaiul disponibil din cadrul unei capsule.Exist dou tipuri de memorii cu acces aleator, statice (SRAM) i dinamice

    (DRAM). Att memoriile statice ct i cele dinamice sunt volatile, deci informaiamemorat este pierdut atunci cnd alimentarea cu energie este ntrerupt.Memoriile statice constau din celule asemntoare cu bistabilele utilizate nproiectarea logic. Celulele memoriilor SRAM difer de bistabile n principal prinmetodele utilizate pentru adresarea celulelor i transferul datelor. Memoriilestatice rein datele atunci cnd un cuvnt este citit din acestea, dec