Subiecte AC

76
Arhitectura Calculatoarelor – Rezumat subiecte 1. Concepte de sistem de calcul si calculator. Deseori, noţiunile de calculator şi sistem de calcul sunt folosite cu acelaşi înţeles, ambele fiind realizate ca sisteme digitale de ordin patru. Din punct de vedere constructive, între ele există o relaţie că de la parte la întreg. Sistemul de calcul este mai cuprinzător şi poate fi realizat în manieră programată sau programabilă, în timp ce calculatorul este un sistem de ordinal patru programabil. Un sistem de calcul programat este în general utilizat pentru rezolvarea unei singure probleme specifice sau a unei game restrânse de probleme similare; el efectuează prelucrări asupra unui flux de date de intrare şi generează rezultate sub forma unui flux de date de ieşire. Sistemul de calcul reprezintă un sistem electronic digital de ordinal patru, realizat în jurul unei structuri de procesare cablată sau microprogramată, capabil să prelucreze informaţii pentru rezolvarea unei probleme specifice şi care poate fi implementat într-o manieră programată sau programabilă. Structura de procesare microprogramată sugerează existenţa unui set finit de funcţii elementare predeterminate, numit set de instrucţiuni, pe baza căruia, într-un mod secvenţial, se indică operaţiile ce urmează a fi efectuate asupra informaţiilor. Calculatorul reprezintă un sistem de calcul programabil, destinat rezolvării unei game largi de probleme prin rularea programelor specific şi care are asociat în acest sens un software de bază, necesar operării, întreţinerii şi folosirii lui eficiente de către utilizatori. Definiţia se referă la accepţiunea modernă de calculator, la conţinutul convenţional al acestuia şi la reprezentarea binară a informaţiilor. Astfel se exclud toate maşinile de calcul precursoare erei electronice, cele realizare în tehnologii neconvenţionale şi cele care nu utilizează logica booleană. 2. Componenta hardware a unui calculator. Orice calculator are două componente majore: componente hardware şi componente software. [1]

description

arhitectura calculatoarelor

Transcript of Subiecte AC

Page 1: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

1. Concepte de sistem de calcul si calculator.

Deseori, noţiunile de calculator şi sistem de calcul sunt folosite cu acelaşi înţeles, ambele fiind realizate ca sisteme digitale de ordin patru. Din punct de vedere constructive, între ele există o relaţie că de la parte la întreg. Sistemul de calcul este mai cuprinzător şi poate fi realizat în manieră programată sau programabilă, în timp ce calculatorul este un sistem de ordinal patru programabil. Un sistem de calcul programat este în general utilizat pentru rezolvarea unei singure probleme specifice sau a unei game restrânse de probleme similare; el efectuează prelucrări asupra unui flux de date de intrare şi generează rezultate sub forma unui flux de date de ieşire.

Sistemul de calcul reprezintă un sistem electronic digital de ordinal patru, realizat în jurul unei structuri de procesare cablată sau microprogramată, capabil să prelucreze informaţii pentru rezolvarea unei probleme specifice şi care poate fi implementat într-o manieră programată sau programabilă. Structura de procesare microprogramată sugerează existenţa unui set finit de funcţii elementare predeterminate, numit set de instrucţiuni, pe baza căruia, într-un mod secvenţial, se indică operaţiile ce urmează a fi efectuate asupra informaţiilor.

Calculatorul reprezintă un sistem de calcul programabil, destinat rezolvării unei game largi de probleme prin rularea programelor specific şi care are asociat în acest sens un software de bază, necesar operării, întreţinerii şi folosirii lui eficiente de către utilizatori. Definiţia se referă la accepţiunea modernă de calculator, la conţinutul convenţional al acestuia şi la reprezentarea binară a informaţiilor. Astfel se exclud toate maşinile de calcul precursoare erei electronice, cele realizare în tehnologii neconvenţionale şi cele care nu utilizează logica booleană.

2. Componenta hardware a unui calculator.

Orice calculator are două componente majore: componente hardware şi componente software.

Componentele hardware reprezintă suportul fizic necesar funcţionarii oricărui sistem de calcul. Ea cuprinde un ansamblu de subsisteme digitale secvenţiale, care acţionează direct asupra fluxurilor de informaţii precum şi o serie de dispozitive şi elemente suplimentare necesare operării. Subsistemele digitale secvenţiale asigura funcţiile principale ale unui calculator şi operează direct cu informaţiile. Ele au funcţiuni specifice şi pot lucra sincron, asincron sau pseudo-sincron unele faţă de altele utilizând semnale de ceas proprii sau comune. Transferul de informaţii între subsisteme se realizează în mod secvenţial, prin intermediul unor linii multiple de legătură, numite magistrale. Din punct de vedere funcţional, unităţile componente ale subsistemelor pot fi: unităţi master sau unităţi slave.

Unităţile master reprezintă blocuri decizionale, care comandă unităţile slave şi coordonează transferurile de informaţii cu acestea. Unităţile slave reprezintă resursele sistemului de calcul. Ele sunt blocuri subordonate, executând succesiv comenzile primite de la unităţile master. Unităţile slave pot fi: unităţi de memorie sau unităţi I/O (Input/Output). Unităţile de memorie realizate cu circuite integrate de memorie sunt cele mai rapide unităţi slave. Ele sunt conectate la magistrale rapide aflate în apropierea microprocesorului şi lucrează la frecvenţa semnalului de ceas al magistralei. Unităţile I/O sunt destinate transferului informaţiilor cu exteriorul. Ele sunt accesate prin intermediul unor interfeţe proprii ale sistemului de calcul numite porturi I/O. Pentru realizarea transferurilor de informaţii, unităţile master generează comenzi către unităţile slave. Unităţile slave finalizează transferul prin intermediul unei unităţi de

[1]

Page 2: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

control proprii numită controler, ce transformă comenzile primite în semnale specifice unităţilor slave pe care le controlează.

Un singur controler poate gestiona mai multe unităţi slave. Pentru fiecare unitate slave, controlerul respectiv are aceeaşi denumire, putând fi implementat că o componentă distinctă sau integrat în unitatea slave respectivă. Un controler poate gestiona o gamă diversă de unităţi slave de acelaşi tip, astfel are mai mult moduri de lucru şi poate fi programat să funcţioneze în modul dorit, fie la iniatializarea calculatorului, fie ulterior, de către sistemul de operare sau programele utilizator. În timpul unui transfer, unitatea master indică tipul unităţii slave cu care doreşte să lucreze.

Identificarea unităţilor slave se face prin intermediul unui număr unic asignat numit adresă: adresa de memorie sau adresa de port I/O. Unităţile slave pot fi dedicate unei singure unităţi master, caz în care transferurile de informaţie se fac doar cu unitatea master respectivă sau partajate între mai multe mastere. Procesul de partajare a resurselor unui sistem de calcul are loc prin dialoguri suplimentare între unităţile master. Pentru realizarea funcţiilor de bază ale unui calculator componenta hardware are 3 subsisteme diferite interconectate prin intermediul magistralelor:

- subsistemul unităţilor centrale;- subsistemul de memorie;- subsistemul de intrare-iesire.

Dispozitivele şi elementele suplimentare asigură: alimentarea cu energie a subsistemelor componente, interconectarea subsistemelor, măsurarea şi disiparea temperaturii. Componenta hardware este protejată prin brevete de invenţie, acestea se obţin greu deoarece trebuie să fie o concepţie unică, şi expiră după 17 ani. În plus, componenta hardware este uşor de copiat datorită existenţei pe piaţă a seturilor specifice de circuite integrate.

3. Componenta software a unui calculator.

Orice calculator are doua componente majore: componenta hardware si componenta software.

Componenta software reprezinta ansamblul de programe, realizate pe baza setului de instructiuni al unitatii centrale, ce pot fi rulate pe calculatorul resprectiv. Cuprinde programe necesare, atat operarii si intretinerii componentei hardware, cat si rezolvarii problemelor utilizator.

Programele componentei software pot fi grupate functional in trei categorii:- sistem de operare- programele utilitare si de test- programe utilizator

Sistemul de operare asigura functionarea calculatorului, prin gestionarea judicioasa a resurselor acestuia, si rezolva problemele de interfata ce apar in dialogurile cu operatorul uman sau cu un alt calculator. SO este transferat in memoria primara de catre programul incarcator al sistemului si apoi este lansat in executie, astfel detine controlul absolut asupra resurselor calculatorului. In absenta SO calculatorul nu poate fi utilizat. Componenta BIOS este parte a SO. Ea este dependenta de structura hardware si contine un ansamblu de drivere software, prin intermediul carora controleaza porturile I/O. La initializarea calculatorului, accesul la resursele acestuia este asigurat de o componenta BIOS, memorata intr-un circuit de memorie nevolatila

[2]

Page 3: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

ROM. Aceasta componenta mai este numita ROM-BIOS, fiind utilizata de programul incarcator al SO, precum si de sistemele de operare monotasking. Un sistem de operare multitasking, dupa ce este incarcat in memoria primara, foloseste propria componenta BIOS.

Programele utilitare si de test sunt necesare testarii performantelor si intretinerii in bune conditii de functionare a calculatorului. In aceasta categorie intra si o parte din programele memorate in circuitul de memorie nevolatila ROM, ce sunt lansate in executie o singura data, la alimentarea calculatorului sau dupa RESET, atunci cand memoria primara nu contine niciun program valid.

Programele utilizator reprezinta aplicatiile ce se doresc a fi rulate pentru rezolvarea problemelor utilizatorului, constituind scopul existentei unui calculator. Initial, utilizatorul era fortat sa-si scrie programele de aplicatie de la inceput pana la sfarsit, folosind un anumit limbaj de programare, de nivel scazut sau de nivel inalt. Pentru a putea realiza programe performate, el era nevoit sa cunoasca foarte bine atat componenta hardware, cat si comenzile limbajului utilizat.

Ulterior, accentul s-a mutat spre fabricantii de software, care pun la dispozitie componente soft foarte dezvoltate. Cu ajutorul lor, utilizatorul isi poate construi propria aplicatie intr-o maniera facila, apeland la biblioteci de functii, de unde poate prelua module de program predefinite, fara sa cunoasca in detaliu componenta hardware si fara a fi nevoit sa invete toate comenzile specifice unui limbaj de programare.

4. Interdependentele hard-soft

Intre componentele hardware a unui calculator si componenta software exista o stransa interdependenta, ce se manifesta permanent pe multiple planuri, afectand performantele de ansamblu ale sistemului. De aceea, programele sunt in general optimizate pentru fiecare tip de arhitectura in parte.

Performantele programelor utilizator depind esential de SO instalat pe calculatorul respectiv.

Interdependenta hard-soft este exemplificata in continuare pentru trei situatii distincte:

1. Un program nu poate rula daca nu are suport hardware adecvat sau daca nu primeste acces la resurse, din partea SO.

2. Acelasi program rula pe calculatoare compatibile, dar cu arhitecturi diferite, va conduce la performante diferite.

3. Doua programe similare, rulate pe acelasi calculator, vor avea performante complet diferite, in functie de gradul de optimizare a lor in raport cu componentele hardware a arhitecturii considerate.

In plus, modificari majore ale componentei hardware determina transformari ale componentei software, care la randul ei genereaza necesitati de modificare a primei componente. Cunoasterea acestor conditionari constituie un suport important pentru utilizarea eficienta a oricarui calculator si dezvoltarea de aplicatii cat de complexe.

[3]

Page 4: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

5. Functii de baza ale unui calculator.

Componenta hardware efectueaza diverse operatii asupra informatiilor sub controlul componentei software, realizand trei functii de baza ale unui calculator:

- functia de prelucrare: operatii de prelucrare efectuate asupra informatiilor- functia de memorare a informatiilor- functia de transfer a informatiilor cu exteriorul

Functia de prelucrare reprezinta principala functie a unui calculator. Ea se refera la operatii specifice de prelucrare a informatiilor la comanda componentei software, cum ar fi: operatii aritemtice, logice, de deplasare si de rotire. Aceasta functie presupune existenta unui subsistem distinct de prelucrare, numit unitate contrala de prelucrare sau prescurtat unitate centrala, ce contine una sau mai multe unitati aritmetico-logice (ALU).

Functia de memorare se refera la necesitatea memorarii informatiilor achizitionate sau a rezultatului unei prelucrari, precum si regasirii acestor informatii, in vederea transmiterii sau prelucrarii lor ulterioare. Ea necesita un subsistem specific, numit subsistem de memorie si presupune doua operatii distincte, in functie de sensul de transfer cu memoria: scriere in memorie (stocare) si citire din memorie (extragere).

Functia de transfer cu exteriorul asigura legaturile calculatorului cu exteriorul sau, in dialogul cu operatorul sau cu un alt sistem de calcul, prin intermediul operatiilor de achizitie (receptie) si transmitere (emisie) de informatii. Pentru implementarea acestei functii, calculatorul dispune de un subsistem specific, numit subsistemul de intrare/iesire. Cele doua operatii sunt realizate cu ajutorul dispozitivelor de intrare/iesire, ce pot fi grupate in functie de tipul de dialog: dispozitive pentru dialogul cu operatorul uman si dispozitive de dialog cu alte calculatoare.

6. Informatii vehiculate intr-un sistem de calcul

Suporturile cele mai potrivite in reprezentarea si procesarea informatiilor sunt semnalele de tip electric, optic sau magnetic. La aceste semnale, parametrii ce pot exprima cantitativ informatia sunt: amplitudinea, frecventa, faza. In sistemele electronice digitale, tensiunea reprezinta suportul informatiilor, iar tranzistorul este componenta de baza. Tranzistorul lucreaza in comutatie, ca niste comutatoare. Tensiunile pot lua valori in doua intervale distincte, corespunzatoare celor doua niveluri logice: 1L si 0L. Astfel, pentru reprezentarea informatiilor intr-un sistem de calcul se foloseste sistemul de numeratie binar. Informatia este reprezentata prin secvente binare, organizate de obicei in cuvinte. Un cuvant este o unitate de informatie de lungime fixa n biti, valoarea lui n fiind determinata de fabricant, luandu-se in calcul raportul performante/cost al hardware-ului. De-a lungul timpului dimensiunea cuvantului a avut valori diferite, in functie de tipul sistemului de calcul si de producatorul acestuia, tinzand insa spre anumite valori standard. La ora actuala datorita dezvoltarii tehnologice, valoarea maxima a lui n este 8, un cuvant de 8 biti numindu-se octet. Daca dimensiunea cuvantului este mai mare, acesta

[4]

Page 5: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

este de obicei un multiplu de 8 puteri ale lui 2, atunci cand cuvantul este folosit fara calculul paritatii si un multiplu de 9 cand se utilizeaza calculul paritatii, pentru fiecare octet adaugandu-se un bit de paritate.

Din punct de vedere functional, informatiile vehiculate intr-un calculator pot fi:- informatii primare, ce reprezinta informatiile utile care se doresc a fi transmise

intre unitatile componente ale unui sistem de calul. Ele pot fi instructiuni sau date;- informatii secundare, ce reprezinta informatii suplimentare, necesare obtinerii

informatiilor primare. Acestea pot fi adrese de memorie sau porturi I/O, comenzi, stari. Semnalele de comanda si stare sunt numite generic semnale de control.

Instructiunile sunt secvente binare de comanda, care indica unitatii centrale, ce trebuie sa execute aceasta. Ele sunt grupate intr-o structura logica in cadrul unui program, fiind preluate din memorie de catre unitatea centrala, intr-o succesiune determinata. In memorie, secventele de instructiuni sunt pastrate in zone distincte fiecarui program, numite zone de cod. Acestea sunt doar citite, de catre unitatea centrala ce executa programul, si de aceea, ele sunt declarate de tip read-only de catre SO multitasking, evitandu-se astfel de operatiuni ilegale de modificare a lor in memorie.

Datele reprezinta obiectul instructiunilor, fiind secvente binare asupra carora unitatea centrala poate efectua toate tipurile de operatii. Sunt organizate in structuri mai complexe si sunt pastrate in memorie in zone separate ale programului respectiv, numite zone de date, care pot fi si scrise si citite. Datele pot fi de doua tipuri: numerice sau nenumerice. Datele numerice reprezinta operanzi cu semn sau fara semn, exprimati in valori binare sau zecimale codificate binar. Ele pot fi reprezentate in doua formate diferite: virgula fixa sau virgula mobila. Datele nenumerice reprezinta siruri de caractere, fiecare caracter fiind codificat sub forma unei secvente binare, cu ajutorul codurilor de caractere.

7. Concepte de arhitectura si structura unui sistem de calcul

Conceptele de arhitectura si structura a unui sistem de calcul permit caracterizarea in ansamblu a sistemului respectiv si descrierea amanuntita a subsistemelor componente. Ele sunt utilizate pentru definirea performantelor unui calculator, precum si pentru compararea diferitelor tipuri de calculatoare intre ele.

Arhitectura unui sistem de calcul precizeaza tipul susbsistemelor componente si modul concret de interconectare a lor, in vederea obtinerii ansamblului de functii pe care subsistemele trebuie sa si le ofere unul altuia.

Structura unui sistem de calcul precizeaza modul concret de realizare a fiecarui subsistem component, conform cerintelor de performanta si pret. Cu cat numarul functiilor oferite de subsistemele componente este mai mare, cu atat sistemul rezultate este mai flexibil, dar arhitectura va fi mai complicata. Multe dintre elementele de arhitectura sunt comune tuturor sistemelor de calcul, fiind elemente definitorii ale sistemelor digitate de ordin patru. Altele sunt comune, doar sistemelor de calcul programabile. In ambele cazuri insa, ele se regasesc in

[5]

Page 6: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

arhitectura unui calculator. Descrierea unei arhitecturi presupune definirea subsistemelor componente si a modului in care acestea sunt interconectate. Prima arhitectura a unui calculator electronic de uz general, numita arhitectura von Neumann, a fost descrisa in anul 1946 de John von Neumann si colegii sai de la Institulul de studii avansate al Universitatii Princeton. Lucrarea descria principiile logice de proiectare a unui calculator electronic de uz general, numit, ECI. Spre deosebire de predecesoarele sale, ECI folosea o memorie comuuna pentru program si date, si putea prelucra paralele operanzi binari pe 40 biti.

ECI cuprindea patru subsisteme:- memoria comuna pentru program si date avea o capacitate de 4096 de cuvinte de

40 biti, fiind adresata cu 12 linii de adresa. Memoria era realizata cu 40 tuburi catodice de cate 4096 biti fiecare.

- unitatea aritmetica putea efectua cele patru operatii de baza asupra unor operanzi binari de 40 biti, care reprezentau numere cu semn exprimate in virgula fixa in intervalul (-1,1), valorile negative fiind codificate in codul complement fata de 2.

- unitatea de control realiza controlul operarii celorlalte trei unitati prin executarea instructiunilor citite din memorie. Puteau executa 21 de instructiuni diferite, al caror format era pe 20 biti, ceea ce permitea memorarea a doua instructiuni in acelasi cuvant de memorie.

- subsistemul de intrare-iesire continea unitati de meorie secundara de tip fir magnetic, precum si dispozitive pentru comunicarea cu operatorul uman: teleimprimator pentru introducerea datelor si tiparirea rezultatelor si display pentru vizualizarea informatiilor.

In subsistemul I/O, informatiile erau transmise serial. In timp, arhitectura de baza a cunoscut diverse modificari si adaugiri. Functiile unitatii de control au fost distribuite catre celalalte subsisteme, majoritatea fiind inglobate in unitatea centrala. De asemenea, dezvoltarea tehnologica a permis cresterea complexitatii si performantelor fiecarui subsistem component si implicit ale calculatorului in ansamblu.

8. Masina Turing: definitie, componente

Primul model abstract de calculator a fost introdus de matematicianul englez Alan Turing, in anul 1936, model cunoscut sub numele de masina Turing. Acesta a pornit de la definirea unei operatii de calcul cu ajutorul calculatorului, introducand notiunea de executie secventiala. Masina Turing are doua componente principale: procesorul si memoria. Procesorul este un sistem secvential cu numar finit de stari de unde rezulta ca acesta va avea un set finit de instructiuni. Memoria masinii Turing este o banda de lungime infinita, impartita in locatii de memorie. Fiecare locatie poate fi goala sau poate contine un simbol ti, dintr-un set finit de simboluri. Masina Turing are si un cap de citire/scriere, cu ajutorul caruia procesorul poate citi simbolul din locatia de memorie aflata in dreptul capului, poate rescrie locatia respectiva sau poate muta banda de memorie o latie la stanga sau la dreapta fata de pozitia curenta a capului.

[6]

Page 7: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Masina Turing are un set finit de instructiuni de forma shtiojsk.

Semnificatia instructiunii este: daca procesorul se gaseste in starea sh si in dreptul capului de citire/scriere se afla simbolul ti, atunci procesorul executa operatia oj si va trece in starea sk.

Operatia oj poate fi una din urmatoarele patru operatii:* oj=tj procesorul va scrie in locatia de memorie curenta simbolul tj in locul simbolului ti;* oj=R procesorul va muta capul de citire/scriere o pozitie la dreapta fata de pozitia

curenta ceea ce poate insemna mutarea benzii de memorie o pozitie la stanga;* oj=L procesorul va muta capun de citire/scriere o pozitie la stanga fata de pozitia

curenta, ceea ce poate insemna mutarea benzii de memorie o pozitie la dreapta;* oj=H (halt) masina Turing se opreste.O masina Turing este definita pentru rezolvarea unei singure probleme specifice. Unul

dintre cele mai reamarcabile rezultatea obtinute de Turing a fost demonstrarea teoremei de existenta a unei masini Turing „universala” capabila sa efectueze toate calculele ce pot fi facute cu orice masina Turing. Masina Turing universala nu necesita un numar mare de simboluri si nici un procesor cu numar mare de stari. S-a demonstrat ca daca notam cu t numarul de simboluri diferite care pot fi scrise pe banda si cu s numarul de stari posibile ale procesorului, atunci t*s<30. Masina Turing universala are un set mic de instructiuni, cu care poate executa toate operatiile ce pot fi realizate cu calculatoarele reale, considerate masini Turing „rezonabile”, care realizeaza operatia intr-un numar finit de pasi. Aceasta asertiune este numita teorema lui Church, dar nu a fost demonstrata riguros, deoarece termenul „rezonabil” are un caracter subiectiv.

9. Limite ale MT si ale calculatoarelor reale.

Din multitudinea de probleme existente in natura, ce pot fi reprezentate simbolic pe axa reala, nu toate sunt rezolvabile cu o masina Turing, iar cele mai multe sunt practic inabordabile rezolvarii cu calculatoare reale. Chiar si pentru problemele rezolvabile cu calculatoare reale apar o serie de limitari de natura practica, ce fac innacceptabile solutiile de rezolvare.

1. Exista probleme care nu se pot rezolva cu masina Turing, deci nu se pot rezolva nici cu calculatoare reale. Vom arata ca exista functii rationale ce nu pot fi calculate cu o masina Turing. Notam cu (M,X) o masina Turing M cu datele de intrare X, memorate pe banda. O functie se numeste calculabila cu o masina Turing, daca f(x) poate fi evaluata intr-un numar finit de pasi de catre M, oricare ar fi datele de intrare X specificate. Spunem ca (M,X) se opreste daca

[7]

Page 8: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

masina Turing M se opreste dupa un numai finit de pasi. Fie functia rationala fH (M,X), numita functia de oprire a masinii Turing, definita pentru toate masinile Turing M si datele de intrare X specificate, de forma:

FH (M,X) = 1 daca (M,X) se opreste0 daca (M,X) nu se opreste

Se poate arata ca functia rationala fH nu este calculabila, ceea ce inseamna ca nu se poate determina o metoda algoritmica generala prin care sa se cunoasca apriori daca masina Turing se opreste sau nu, oricare ar fi masina M si datele de intrare X. Exista foarte multe probleme inrudite cu fH care nu au solutii.

2. Exista probleme care ar putea fi rezolvate cu masina Turing, dar care, in principiu nu pot fi rezolvate cu calculatoarele reale.

Procesorul masinii Turing are un numar finit de stari si implicit are un set finit de instructiuni. Insa, banda de memorie are un numar infinit de locatii de memorie si de aceea masina Turing este o masina cu stari infinite. Calculatoarele reale au un numar finit de locatii de memorie si sunt masini cu stari finite. Ele nu pot lucra cu numere oricat de mari, deci toate problemele care opereaza cu numere foarte mari nu pot fi rezolvate doar cu masina Turing.

3. Exista probleme ce sunt rezolvabile cu calculatoarele reale intr-un numar finit de pasi, dar care practic nu se pot rezolva deoarece necesita o cantitate prea mare de memorie, fie un timp de calcul prea lung.

Presupunem o probleme P ce se poate rezolva cu un calculator prin executarea unui algoritm A. Referitor la dificulatea algoritmului trebuie precizate doua aspecte cantitative:

- ce spatiu de memorie este necesar pentru rezolvarea algoritmului- cat timp dureaza executia acestuia.Cele doua cantitati sunt greu de masurat deoarece depind de dimensiunea datelor de

intrare n. Totusi pentu a putea caracteriza gradul de dificultate al unui algoritm, se definesc doua marimi, al caror expresii depind de n:

- complexitatea de spatiu a algoritmului A- complexitatea de timp a algoritmului ALimitarile impuse de timp sunt mult mai restrictive decat cele ale spatiului de memorie.

10. Complexitatea de timp a unui algoritm

Limitarile impuse de timp sunt mult mai restrictive decat cele ale spatiuliu de memorie. Un algoritm A are complexitatea de timp o (f(n)) daca numarul de pasi p necesari pentru rezolvarea algoritmului este proportional cu f(n) p=c*f(n), unde c este o constanta, iar f este o functie oarecare, iar n reprezinta dimensiunea datelor de intrare.

O problema se numeste tratabila cu un anumit calculator daca ea poate fi rezolvata exact intr-un timp „rezonabil”, oricare ar fi dimensiunea datelor de intrare n specificata. In general se admine ca o problema este tratabila, daca si numai daca exista un algoritm de rezolvare a ei, care are complexitatea de timp o(p(n)), unde p este o functie polinimiala de n. Reciproc, o problema nu este tratabila daca toti algoritmii de rezolvare au complexitatea de timp o(kn), timpul de executie crescand exponential cu dimensiunea datelor de intrare.

[8]

Page 9: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Daca o problema nu este tratabila, atunci ea va putea fi rezolvata exact intr-un timp rezonabil, doar daca dimensiunea datelor de intrare n este mai mica sau egala cu o valoare maxima m. Astfel o problema netratabila poate deveni tratabila doar pentru n ≤ m.

Valoarea lui m depinde de viteza de lucru s a calculatorului care rezolva problema. Cu cat s este mai mare, cu atat m va fi mai mare, dar dependenta nu este direct proportionala pentru toti algoritmii.

11. Influenta vitezei de calcul asupra dimensiunii maxime a datelor de intrare

Cresterea vitezei de calcul (s) a unui calculator s-a facut, in general prin perfectionarea tehnologiilor de fabricatie a unitatilor de memorie si a cricuitelor de comutatie. Dezvoltarea tehnologica a condus la o crestere medie a vitezei de lucru a unui calculator, de 100 de ori pe zi pe decada, in ultimii 70 de ani. Presupunand rata de crestere constanta si in viitor, vom arata ca m n u depinde direct proportional de s, pentru toti algoritmii. Fie un calculator M cu o viteza de calcul s, care ruleaza un interval de timp T, efectuand un numar de pasi p. Cu cat calculatorul este mai rapid si viteza de calcul s este mai mare, cu atat numarul de pasi p, executati in interval de timp T, este mai mare.

Calculatorul ruleaza un algoritm A cu complexitatea de timp o(f(n)). In intervalul de timp T, acesta va putea procesa o dimensiune maxima a datelor de intrare m, dependenta de viteza de calcul s. Pentru ca algoritmul A cu complexitatea o(f(n)) sa fie rezolvat in intervalul de timp T, trebuie ca numarul de masi necesari rezolvarii lui sa fie c*f(n)≤p, pentru orice dimensiune a datelor de intrare n ≤ m.

Pentru n=m => p=c*f(n).Presupunem ca in urmatoarea decada, viteza de operare a calculatoarelor creste de 100 de

ori. Consideram un nou calculator M’ cu o viteza de calcul s’=100s si care efectueaza, in acelasi interval de timp T, un numar de pasi p’=100p. Avand o viteza mai mare si ruland algoritmul A, calculatorul va putea procesa o dimensiune maxima a datelor de intrare m’ mai mare.

Similar vom avea: p’≥ c*f(n), oricare ar fi n ≤ m’P’= c*f(m’), n=m’

Dorim sa determinam noua valoare m’ a algoritmului A, la cresterea vitezei de calcul de 100 de ori. Sintetizand rezultatele anterioare, rezulta urmatorul sistem din care se obtine m’:

p=c*f(m)p’=c*f(m’) => f(m’)=100*f(m)p’=100p

De la un algoritm la altul, m’ va avea valori diferite

Exemplu: f(m’)=100*f(m)

[9]

Page 10: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

12. Magistralele unui sistem de calcul: definitie, simboluri, slasificari.

Transferul de informatii intre subsistemele unui calculator se realizeaza in mod secvential prin intermediul unor linii multiple de legatura numite magistrale.

Magistrala de semnale digitale (bus) este un ansamblu de linii conductoare de legatura, grupate functional, care conecteaza doua sau mai multe unitati componente ale unui sistem de calcul, prin intermediul carora au loc transferurile de informatii intre unitatile conectate, sub forma unor configuratii binare. Pe fiecare linie a unei magistrale se poate transfera, la un moment dar, o singura valoare logica ce reprezinta o cantitate de informatii de 1bit. Daca magistrala are n linii, atunci pe magistrala se transfera n biti de informatii in paralel si vom spune ca magistrala tansfera cuvinte de informatie de dimensiune n biti. Simbolul de reprezentare a unei magistrale de semnale digitale depinde de tipul magistralei.

Numarul de linii pe care le contine magistrala este indicat printr-un numar plasat deasupra simbolului, iar sensul de transfer este indicat prin sageti. Pentru identificarea tuturor magistralelor ce pot exista intr-un sistem de calcul, acestea primesc cate un nume, care apare trecut langa simbol. Grosimea magistralei simbolizate poate depinde de numarul de linii incluse:

Deseori magistralele de semnal sunt reprezentate prin simboluri simplificate:

Liniile componente ale unei magistrale pastreaza numele sau initiala magistralei respective, langa nume fiind trecut numarul liniei. Acest numar reprezinta puterea bazei 2 corespunzatoare pozitiei liniei in configuratia binara care se transfera.

[10]

Page 11: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

13. Caracteristici ale magistralelor: dimensiunea magistralei, semnalul de ceas

Dimensiunea magistralei (n) reprezinta numarul de legaturi simultane pe care se face transferul de informatii si care apare si in simbolul magistralei. Daca o magistrala are n linii, vom spune ca magistrala are dimensiunea de n biti si ca pe ea se transfera cuvinte de n biti.

Semnalul de ceas al magistralei (CLK) este un semnal de frecventa fixa, fCLK, care ajuta la simcronizarea transferurilor pe magistrala. El are de obicei un factor de umplere de ½.

Transferurile de informatii pe magistrala se fac sincronizat cu semnalul de ceas, pe unul din fronturile acestuia, declarat front activ. Ele depind de perioada TCLK, durata lor fiind un numar intreg de stari de ceas, stari ce sunt numerotate in ordine crescatoare.

Daca magistrala nu are ceas propriu, atunci transferurile vor fi sincronizate cu semnalele de ceas ale unitatilor conectate la magistrala. Frecventa ceasului magistralei poate sa fie fixa pentru magistralele la care se conecteaza unitati ce contin circuite dinamice sau poate fi modificata de la 0 la valoarea maxima pentru magistralele la care se conecteaza unitati cu circuite complet statice. Frecventa maxima a ceasului de magistrala depinde de lungimea fizica a magistralei si de numarul de unitati conectate la aceasta. Cu cat magistrala este mai lunga si la ea se pot conecta mai multe unitati, cu atat frecventa semnalului de ceas trebuie sa fie mai mica. Determinarea frecventei semnalului de ceas se face tinandu-se cont de posibilitatile de transfer ale unitatilor conectate la magistrala si de frecventa transferurilor, astfel incat sa se obtina o functionare optima.

TCLK ≤ tL, unde tL = timpul minim al celui mai lent transfer.TCLK ≥ tK, unde tK = timpul minim al celui mai rapid transfertK ≤ TCLK ≤ tL

14. Caracteristici ale magistralelor: timpul de transfer

Timpul de transfer (tT) reprezinta timpul necesar transferului unui cuvant de informatie pe magistrala si se exprima in secunde. Pentru o magistrala la care sunt conectate mai multe unitati, timpul efectiv de transfer la un moment dat depinde de unitatile care participa la efectuarea transferului. Durata transferului intre doua unitati conectate la magistrala depinde de vitezele de lucru ale lor si de perioada ceasului de magistrala, fiin data de cea mai lenta dintre unitati si aproximata la un numar intreg de stari de ceas. Unitatea mai rapida va astepta terminarea transferului, introducand stari de asteptare egal cu perioada de ceas, pana cand unitatea mai lenta poate finaliza transferul. Cu cat o unitate este mai lenta, cu atat durata de transfer va fi mai mare, iar unitatea mai rapida va trebui sa astepte mai mult pana la terminarea transferului.

[11]

Page 12: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Timpul de asteptare relativ la durata transferului: tAr = N*Tw/tT unde:N = numarul starilor de asteptare TwtT = timpul de transfer

Timpul de asteptare poate fi exprimat procentual: tAp = 100tAr

Pentru a micsora timpii de asteptare ai unitatilor rapide este indicat ca unitatile conectate la o magistrala sa aiba viteze de operare apropiate si transferul sa dureze cat mai putine stari ale ceasului de magistrala. Daca unitatile lucreaza la viteza foarte diferite ele trebuie sa fie conectate la magistrale diferite, cu viteze de transfer apropiate de cele ale unitatilor conectate. Deoarece timpul de transfer are valori diferite, de la un transfer la altul se definesc alte marimi similare care caracterizeaza mai bine durata transferurilor pe magistrala:

* timpul de transfer minim (tTmin) reprezinta durata celui mai rapid transfer, fiind utilizat pentru definirea ratei de transfer tTmin = tR. Daca magistrala are semnal de ceas propriu, atunci perioada acestuia se alege egala cu timpul de transfer minim TCLK = tTmin.* timpul de transfer mediu (tTM) este definit ca medie aritmetica a timpilor de transfer considerati in functie de frecventa de aparitie a transferurilor.Daca transferurile au frecvente de aparitie egale, atunci tM va fi media aritmetica simpla,

iar daca frecventele de aparitie sunt diferite atunci tTM va fi media aritmetica ponderata cu aceste

frecvente. tTM = ∑i=1

N

tTi

NtTM =

∑i=1

N

tTi∗f i

∑i=1

N

f i

Cu cat frecventele de aparitie ale transferurilor lente usnt mai mari, cu atat valoarea medie va fi mai mare. Este de dorit ca transferurile cu unitatile lente sa fie cat mai rare.

* timpul de transfer cumulat (tTC) reprezinta timpul necesar realizarii tuturor transferurilor considerate, fiind definit similar timpului de transfer mediu.

tTM = ∑i=1

N

tTi = N*tTM tTC = ∑i=1

N

tTi∗f i = tTM * ∑i=1

N

f i

15. Caracteristici ale magistralelor: rata de transfer, starea magistralei, numarul de unitati

Rata de transfer (rT) caracterizeaza viteza de transfer a informatiilor pe o magistrala si reprezinta numarul maxim de cuvinte ce pot fi transferate pe secunda pe magistrala respectiva. Ea se exprima de obicei in cuvinte pe secunda sau in multipli de cuvinte si reprezinta inversa timpului de transfer minim.

RT = 1/tTmin [cuv/s]

* in biti: rTb = rT*n [b/s], unde n= dimensiunea magistralei

* a unei linii: rTl [b/s] = rT [cuv/s]

Rata de transfer depinde de frecventa ceasului cu care se cinsconizeaza transferul pe magistrala, si de la numarul de stari de ceas necesare unui transfer: rT=fCLK/N=1/N*TCLK [cuv/s].

[12]

Page 13: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Rata de transfer reprezinta o valoare teoretica maxima, care in cazul practic este foarte greu de atins, deoarece unitatile conectate la magistrala au in general viteze de operare diferite. Astfel nu toate transferurile realizare pe magistrala respectiva dureaza o singura stare de ceas. Deoarece functiile de aparitie a transferurilor nu este aceeasi intre toate unitatile cu cat o unitate lenta va fi antrenata mai des in transferuri, cu atat valoarea reala a ratei de transfer va scadea.

Starea magistralei la un moment dat poate fi activa sau inactiva, indicand prezenta unui transfer intre unitati sau faptul ca magistrala nu este folosita la momentul respectiv. Daca are loc un transfer intre doua unitati una dintre ele este unitate emitatoare si magistrala se gaseste in stare activa. Cand magistrala nu este folosita ea se afla in stare inactiva si toate liniile sunt trecute in starea logica inactiva (HZ sau 1L). Timpul de inactivitate al unei magistrale poate fi o masura a utilizarii ineficiente a acesteia, fiind exprimat procentual din timpul total de utilizare. Daca transferurile sunt prea rare, timpul de inactivitate este prea mare si magistrala nu este utilizata eficient. Daca transferurile sunt prea dese timpul de inactivitate este zero si magistrala este activa permanent. Acest lucru poate ascunde intarzieri excesive si blocaje ce apar in cazul cererilor de transfer simultane cand se realizeaza doar un transfer, iar celelalte sunt amanate. De aceea timpul de inactivitate trebuie sa fie cat mai mic, iar cererile de transfer simultane cat mai rare.

Numarul maxim de unitati (Nu max) conectate la o magistrala este definit de standardul magistralei respective, fiind important pentru fabricant. Un numar prea mare poate duce la tranferuri foarte dese si la blocarea temporara a unor transferuri, iar un numar prea mic poate duce la un timp de inactivitate mare. Pentru utilizator, acest numar este totdeauna respectat, deoarece numarul conectoarelor de extensie accesibile utilizatorului este mai mic decat Nu max.

16. Clasificarea magistralelor

Dupa modul de transfer al informatiei:- magistrale unidirectionale: transferul de informatii se efectueaza pe toate liniile intr-un

singur sens, de la o unitate emitatoare catre una sau mai multe unitati receptoare.- magistrale bidirectionale: transferul de poate efectua in ambele sensuri alternativ prin

multiplexare in timp, la un moment dat transferandu-se informatii intr-un singur sens.Astfel unitatile conectate la o magistrala bidirectionala pot fi pe rand unitati emitatoare

sau receptoare de semnal.

După tipul informaţiilor transferate, magistralele pot fi: - magistrale primare, pe care au loc transferurile informaţiilor utile, ce se doresc a

fi transmise între subsistemele unui calculator. Acestea pot fi: magistrale de instrucţiuni sau magistrale de date. Deoarece memoria sistemului este comună pentru programe şi date, cele două tipuri de informaţii primare sunt transferate pe o aceeaşi magistrală bidirecţională, numită generic magistrală de date.

- magistrale secundare, pe care au loc transferurile de informaţii suplimentare, necesare obţinerii informaţiilor primare. Acestea pot fi: magistrale de adrese, magistrale de comenzi sau magistrale de stări, considerate în general unidirecţionale. Cele două magistrale, de comenzi şi de stări transferă informaţii în sensuri opuse şi formează împreună o magistrală bidirecţională pe linii separate, numită magistrală de control. Astfel se micsoreaza numarul liniilor de legatura dintre subsisteme dar informatiile primare se transfera succesiv pe aceeasi magistrala unica, ceea ce paote micsora performantele globale ale sistemului de calcul.

[13]

Page 14: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

După rata de transfer şi implicit după numărul de unităţi conectate, putem avea:- magistrale locale, care sunt amplasate în apropierea unităţilor foarte rapide, cum este, de

e xemplu, procesorul. Aceste magistrale sunt caracterizate de o rată mare de transfer şi un număr mic de unităţi ce pot fi conectate la ele. Ca exemple, pot fi date: magistrala locală a procesorului, magistrala locală a memoriei;

- magistrale de extensie (magistrale I/O), care sunt magistrale accesibile utilizatorului, fiind terminate cu conectoare de extensie. Magistralele de extensie sunt amplasate mai departe de procesor şi sunt caracterizate de o rată mai mică de transfer şi un număr relativ mare de unităţi ce pot fi conectate la ele.

După modul de control al transferului de informaţii, magistralele pot fi:- magistrale sincrone. Toate operaţiile magistralelor sincrone sunt sincronizate de un

semnal de ceas şi orice transfer durează un număr întreg de perioade de ceas, numite cicluri de magistrala. In cazul acestor magistrale, dacă un transfer se termină înaintea unui număr întreg de cicluri, următorul transfer poate începe numai după sfârşitul ciclului în curs de desfăşurare. Această situaţie conduce la întârzieri inutile.

- magistrale asincrone. O magistrală asincronă elimină dezavantajele magistralelor sincrone. In locul semnalului de ceas se utilizează un protocol logic între emiţător şi receptor (numit handshake). In cadrul acestui protocol are loc un schimb de informaţii între unitatea master şi unitatea slave care permit corelarea şi coordonarea transferului de date. Fiecare acţiune a celor doi participanţi la transfer este condiţionată de o acţiune anterioară şi nu de un impuls de ceas.

17. Conectarea unitatilor la magistrale

Conectarea unitatilor componente ale unui sistem de calcul la o magistrala se face prin intermediul unor circuite separatoare. Acestea permit partajarea magistralei intre diverse unitati, prin multiplexare in timp, unitatile inactive la un moment dat fiind separate de magistrala. In cazut defectarii unei unitati magistrala de semnale poate sa ramana functionala datorita circuitelor separatoare.

Din punct de vedere al rolului pe care il au la transferul pe magistrale, unitatile conectate la acestea pot fi: unitati receptoare sau unitati emitatoare de semnal. Unitatile emitatoare trebuie sa aiba circuite de iesire cu trei stari sau cu colector in gol pentru ca, la conectarea in paralel a iesirilor aceste circuite sa nu se defecteze. Circuitele de iesire cu trei stari trebuie sa fie active alternativ. Cele mai utilizate circuite sunt circuitele de iesire de tip tri-state, care permit separarea de magistrala cand unitatile sunt inactive, prin trecerea iesirilor in cea de-a treia stare logica, starea HZ. Daca la o magistrala sunt conectate mai multe unitati emitatoare, cel mult una trebuie sa fie activa pe magistrala la un moment dar, celelalte fiind inactive. Toate unitatile emitatoare pot fi inactive simultan, caz in care magistrala este nefolosita si nu se efectueaza niciun transfer de informatii. Daca la o magistrala sunt conectate mai multe unitati receptoare, acestea pot fi active independent la un moment dat. Unitatea emitatoare transmite semnale catre toate unitatile repectoare, semnale care sunt utilizate doar de unitatile active. Conectarea mai multor unitati care pot fi succesiv emitatoare si receptoare trebuie realizata prin intermediul unei magistrale bidirectionale. Toate unitatile pot fi emitatoare sau receptoare, conditia este ca la un moment dat, cel mult o unitate sa fie de tip emitator. Dintre unitatile ramase, unele pot fi receptoare, iar restul pot fi inactive pe durata transferului respectiv, caz in care acestea vor fi separate de magistrala.

[14]

Page 15: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

In situatia in care la o magistrala sunt conectate prea multe unitati emitatoare, se paote intampla ca magistrala sa fie tot timpul ocupata si unele unitati sa nu poata fi servite in timp util. Daca la magistrala se conecteaza prea putine unitati emitatoare exista riscul ca magistrala sa stea mai mult timp nefolosita. De aceea trebuie determinat un optim intre caracteristicile magistralei si numarul si tipul unitatilor conectate la aceasta. Daca unitatile ce se doresc a fi interconectate au viteze de operare mult diferite prin conectarea la aceeasi magistrala, unitatile rapide ar trebui sa astepte unitatile lente, introducand stari de asteptare, iar transferurile rapide ar putea fi intarziate.

Ocuparea magistralei pentru efectuarea transferurilor lente poate reduce performantele ssitemului, mai ales daca acestea au avut loc frecvent. Unitatile trebuie mai intai grupate in functie de vitezele lor de operare si apoi conectate la magistrale cu rate de transfer apropiate de aceste viteze. Transferurile de informatii intre unitatile conectate la magistrale diferite trebuie sa se faca intr-un mod transparent pentru cele doua unitati, prin intermediul unor punti (circuite specializate). Puntile asigura sincronizarea transferurilor intre cele doua magistrale astfel incat transferurile pe magistrala mai rapida sa nu fie blocate de magistrala mai lenta.

Pentru transferul de la o unitate mai rapida catre una mai lenta, de obicei puntea contine un latch conectat la magistrala mai rapida, care joaca rol de memorie tampon intre unitati. Astfel transferul se poate realiza cu vitezele proprii celor doua unitati.

18. Circuite de iesire normale: schema de principiu, functionare, conectarea in paralel.

Scot la iesire doar doua niveluri logice 0L sau 1L, comandand cele 2 tranzistoare de iesire in antifaza cu un singur semnal de comanda.

[15]

Page 16: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

In functie de valoarea comenzii Uc se va obtine la iesire prin saturarea unui tranzistor si blocarea celuilalt valoarea logica egala cu cea a tensiunii de comanda Uc.

Functionarea in regim dinamic presupune aplicarea unui semnal de comanda cu comutari multiple de tip ceas.

1. La cresterea frecventei de comutare se indesesc fronturile in aceeasi unitate de timp. Se indesesc pulsurile de curent mare si ca efect creste componenta continua de curent. Rezulta ca va creste si puterea disipata de cricuit.

2. Acelasi fenomen de comutare conduce la limitarea valorii SR la iesirea integratului.3. La cresterea frecventei de comutare, SR incepe sa devina important in perioada

semnalului si semnalul devine trapezoidal cu paliere din ce in ce mai scurte.4. Limitarea presiunii disipate la cresterea frecventei de comutare se poate face prin

miscarea tensiunii de alimentare si coborarea nivelului de 1L, care permite timpi de comutare mai mici si corespunzator cresterea frecventei de comutare.Conectarea iesirilor etajelor normale in paralel este interzisa deoarece duce la arderea tranzistoarelor T1,T1’ din etajele de iesire.

a) Uc1=0L Uc2=1LT1 – blocatT2 – saturatT1’ – saturatT2’ – blocat

[16]

Page 17: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

b) Uc1=1L Uc2=0LT1 – saturatT2 – blocatT1’ – blocatT2’ – saturat

19. Circuite de iesire cu colector in gol: schema de principiu, functionare, conectarea in paralel

Au aparut ca o consecinta la problemele generate de conectarea in paralel a etajelor normale, dorindu-se realizarea unui etaj de iesire care sa poate fi pus in paralel cu alte etaje de iesire. Solutia a fost eliminarea din schema a lui T1.

Prind disparitia lui T1 nu mai exista conditii de generare la iesire a tensiunii de 1L si a curentului aferent si de aceea circuitul necesita conecatarea in exterior a unei rezistente la +Vcc.

Functionare: Uc = 0L => T2 saturatUc = 1L => T2 blocat

Conectare in paralel:

[17]

Page 18: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Uc1 = 0L |Uc2 = 0L | => T2,T2’ saturate => U0L = 0L (functioneaza corect)

Uc1 = 1L | | T2 blocatUc2 = 0L | => | T2’ saturat => U0L = 0L

Uc1 = 0L | | T2 saturatUc2 = 1L | => | T2’ blocat => U0L = 0L

Uc1 = 1L |Uc2 = 1L | => T2,T2’ blocate => U0H = 1L (prin R)

Iesirile circuitelor open collector pot fi conectate in paralel pe magistrale. Pot functiona simultan asincron, iar rezultatul este conform functiei si cablat.

20. Circuite de iesire cu trei-stari: schema de principiu, functionare, conectarea in paralel.

Circuitul tri-state perminte obtinerea la iesire a 3 niveluri logice diferite 0L, 1L, HZ.Circuitul tri-state va avea 2 tranzistoare la iesire, ca si circuitul normal, T1 si T2 cu

deosebirea ca pentru a obtine la iesire 3 valori logice diferite comanda trebuie facuta cu 2 biti, cate unul pentru fiecare baza. Astfel va dispare circuitul inversor.

[18]

Page 19: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Uc1 = 0L | | T1 blocatUc2 = 1L | => | T2 saturat => U0 = 0L

Uc1 = 1L | | T1 saturatUc2 = 0L | => | T2 blocat => U0 = 1L

Uc1 = 0L |Uc2 = 0L | => T1,T2 blocate => U0 = HZ

Uc1 = 1L |Uc2 = 1L | => T1,T2 saturate

Functionarea normala la iesire se face cu un semnal de comanda OE = 0L. Daca OE = 1L iesirile se invalideaza, iar U0 = HZ.

U c 1 = U c * OE = UU c 2 = U c * OE = U c * OE

Conectare in paralel

OE1=1 L |

[19]

OE Uc Uc1 Uc2

0 0 0 10 1 1 01 X 0 0

Page 20: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

OE2=1 L | => U01=U02=HZ

OE1=0 L |OE2=0 L | => circuite active => punere in paralel de circuite normale si se ard

tranzistoarele T1 si T1’.OE1=0 L |OE2=1 L | => circuit 1 activ; U02=HZ

OE1=1 L |OE2=0 L | => U01=HZ; circuit 2 activ

Circuitele tri-state pot fi conectate in paralel pe aceeasi magistrala, dar cel mult un singur circuit sa fie activ, iar celelalte in HZ, la un moment dat.

21. Buffer unidirectional tri-state

Bufferul unidirectional tri-state este folosit pentru interfatarea magistralelor unidirectionale si poate fi inversor sau neinversor. Iesirea este validata cu ajutorul semnalului OE, activ pe 0L. Daca se doreste refacerea fronturilor semnalelor, buffer-ul poate fi de tip trigger Schimitt.

Daca magistralele contin n linii, pentru fiecare linie se utilizeaza un buffer unidirectional, iar semnalele de validare a iesirilor sunt legate impreuna.

[20]

Page 21: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Se obtine astfel un buffer unidirectional pe n biti, care poate fi utilizat: ca circuit de iesire tri-state pentru o unitate emitatoare de semnale sau ca circuit de separare intre magistrale, cand se doreste realizarea unei magistrale locale unidirectionale.

Avantajele buffer-ului unidirectional:* cand este utilizat ca circuit de iesire pentru o unitate emitatoare, pentru conectarea in

paralel, pe aceeasi magistrala, a mai multor circuite cu iesiri tri-state;* permite separarea magistralelor, realizand la iesire o noua magistrala locala

unidirectionala, care poate avea caracteristici diferite fata de magistrala initiala;* reface fan-out-ul magistralei locale de la iesire, incarcand intrarea in fan-out numai cu 1.Principalul dezavantaj il constituie introducerea unui timp de intarziere suplimentar,

datorita intarzierii de propagare a semnalelor de la intrare la iesire.

22. Buffer-ul bidirectional tri-state

Buffer-ul bidirectional tri-state este folosit pentru interfatarea magistralelor bidirectionale, avand structura realizata cu doua buffere unidirectionale.

Cele doua buffere unidirectionale trebuie sa fie comandate pe rand pentru evitarea realizarii buclelor locale. Semnalele de validare a iesirilor sunt conectate prin intermediul unui inversor. Buffer-ele componente pot fi de tip inversor sau neinversor. Semnalul de validare a

[21]

Page 22: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

iesirilor stabileste de fapt sensul de transfer, fiind numit SENS. Cand SENS=1, buffer-ul de sus este comandat deschis, cel de jos are iesire in HZ, iar transferul se face de la A la B. Cand SENS=0, buffer-ul de jos este comandat deschis, cel de sus are iesirea in HZ, iar transferul se face de la B la A. Daca magistralele contin n linii, pentru fiecare linie se utilizeaza un buffer bidirectional, iar semnalele SENS sunt legate impreuna.

Circuitele de tip buffer bidirectional au pin de validare a circuitului CE activ pe 0L. Acest semnal permite un consum mic de energie atunci cand buffer-ul nu este folosit. La unele buffere valoarea 1L a semnalului de validare forteaza circuitele de iesire sa treaca in HZ, indiferent de valoarea semnalului SENS. Un astfel de buffer are semnale separate pentru cele doua sensuri de transfer, SENS1 si SENS2.

Ele sunt generate de logica de control interna:SENS1= CE*SENSSENS2=CE*SENS

23. Subsistemul de memorie: definitie, obiectiv, cai de actiune.

Subsistemul de memorie al unui calculator reprezinta ansamblul unitatilor de memorie, impreuna cu algoritmii necesari pentru controlul transferurilor si memorarea informatiilor, algoritmi ce pot fi implementati hardware sau software. Subsistemul de memorie include atat locatii de memorie propriu-zise cat si circuitele necesare pentru adresarea locatiilor si controlul operatiilor de citire si scriere. O parte din aceste circuite se gasesc in unitatea de memorie respectiva, altele sunt externe, fiind de obicei integrate in controlerul unitatii de memorie. Obiectivul principal in proiectarea oricarui subsistem de memorie este realizarea unei capacitati de memorare adecvata sistemului de calcul, cu un nivel acceptabil de performante, la un cost rezonabil. Trebuie subliniat faptul ca nu intotdeauna obiectivul este acela de a obtine o capacitate de memorare cat mai mare.

Pentru atingerea acestui obiectiv, exista mai multe cai de actiune:* folosirea unui numar diferit de unitati de memorie, cu diferite raporturi

cost/performanta, organizate astfel incat sa se obtina un nivel ridicat al performantei, la un cost mic am cuvantului de informatie memorat. Aceste unitati de memorie formeaza o ierarhie in subsistemul de memorie.

* dezvoltarea conceptelor de memorie virtuala, pentru a elibera utilizatorul de gestionarea spatiului de memorie si pentru a realiza programe independente de configuratia fizica a subsistemului de memorie.

* folosirea mai eficienta a spatiului de memorie disponibil prin dezvoltarea unore metode de alocare automata a spatiului de memorie.

[22]

Page 23: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

* realizarea unor legaturi de comunicatie cu subsistemul de memorie, astfel incat unitatile master conectate la acestea sa poata operacat mai aproape de viteza lor de lucru. Aceasta cale poate fi realizata prin cresterea numarului de legaturi simultane pentru transferuri, cat si prin cresterea dimensiunii cuvantului transferat intre memorie si unitatea master.

24. Caracteristici ale unitatilor de memorie: capacitatea de memorare, timpul si rata de acces

Capacitatea de memorarea reprezinta numarul locatiilor de memorie continute de o unitate de memorie. Ea depinde de tehnologia de fabricatie si se exprima in cuvinte de informatie memorata, dimensiunea cuvantului fiind diferita de la un calculator la altul. Daca dimensiunea cuvantului memorat este diferita de octet atunci aceasta este exprimata separat in biti.

Timpul de acces (tA) este timpul necesar localizarii unei celule de memorie, pentru transferul de informatii la/de la locatia de memorie respectiva. Aceasta reprezinta intervalul de timp de cand o unitate master lanseaza o comanta catre o unitate de memorie, pana cand informatia este transferata in sensul dorit.

Timpul de acces variaza foarte mult, in functie de tipul unitatilor de memorie. El depinde de caracteristicile fizice ale mediului de memorare, de tehnologia de fabricatie, de modul de acces.

Rata de acces (rA) este inversa timpului de acces. rA = 1/tA [cuv]Pentru unitatile de memorie la care transferul se face pe cuvant, rata de acces reprezinta

frecventa maxima a transferurilor de cuvinte cu memoria respectiva. In general, aceasta este o valoare teoretica maxima, utilizata doar pentru dimensionarea magistralelor pe care se fac transferurile.

25. Caracteristici ale unitatilor de memorie: timpul de ciclu, costul, modul de acces

Timpul de ciclu (tc) este timpul minim intre doua accese succesive si reprezinta timpul de cand o unitate master lanseaza o comanda spre unitatea de memorie si pana cand poate lansa o noua comanda la aceeasi unitate de memorie.

[23]

Page 24: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Timpul de revenire (tr=tc-tA) reprezinta timpul minim necesar pentru inactivarea primei comenzi pana la activarea celei de-a doua. tA este mai restrictiv decat tc, deoarece tA reprezinta un timp de asteptare pentru unitatea master, dupa lansarea comenzii.

Rata de transfer (rT) este inversa timpului de ciclu si reprezinta cantitatea maxima de informatie care poate fi transferata la/de la memorie intr-o secunda.

rT = 1/tc [cuv/s]Costul (cT) include pe langa costul celulelor de memorie propriu-zise si costul circuitelor

de acces la aceste celule. Pentru compararea diverselor unitati de memorie intre ele, se utilizeaza costul unitar (Cu), ce reprezinta costul de memorare a unui cuvant de informatie. Costul unitar se determina prin raportarea costului total (CT) la capacitatea de memorare (CM).

CU = CT/CM [cost/cuv]Cu cat memoria este mai rapida, cu atat costul unitar este mai mare.Modul de acces arata ordinea in care informatia memorata poate fi accesata. Acesta poate

fi serial sau paralel.Daca locatiile de memorie pot fi accesate in orice ordine, iar timpul de acces este

independent de locatia accesata, atunci accesul este aleator, iar unitatea de memorie se numeste memorie cu acces aleator. In general memoriile semiconductoare sunt memorii cu acces aleator.

Daca locatiile de memorie pot fi accesate doar intr-o secventa predeterminata, iar timpul de acces depinde de locatia accesata, atunci accesul este serial, iar memoria se numeste memorie cu acces serial.

26. Ierarhizarea subsistemului de memorie: RP si MP

Registrele procesorului (RP) sunt cele mai rapide elemente de memorare, dar si cele mai scumpe. Ele sunt accesate la viteza interna a procesorului gazda, viteza limitata de logica de control a transferurilor dintre registre. Datorita tehnologiei actuale, timpii de acces sunt foarte mici. Registrele au o capacitate de memorare mica si pastreaza informatia primara necesara procesorului in momentul prelucrarii. Registrele sunt particulare fiecarui procesor. Ele sunt grupate functional si sunt indentificate printr-un nume sau printr-un numar. O parte din registre sunt folosite explicit de catre utilizator in campul instructiunii, fiind numite registre utilizator altele sunt accesate implicit de logica de control a procesorului si sunt transparente utilizatorului. Un procesor este cu atat mai flexibil in programare, cu cat registrele sale prezinta o simetrie mai mare fata de setul de instructiuni. Ideal ar fi ca oricare dintre registrele disponibile utilizatorului

[24]

Page 25: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

sa poata fi folosit cu oricare instructiune de prelucrare de operanzi, insa acest lucru poate complica structura procesorului si poate micsora viteza de lucru.

Memoria primara sau principala (MP) reprezinta memoria de lucru a sistemului de calcul. Ea este realizata cu circuite integrate de memorie DRAM si are o capacitate de memorare relativ mare. MP pastreaza informatiile active, ce vor fi apelate de catre procesor, dar care nu sunt imediat necesare acestuia. Informatiile devin active prin transferarea lor din MS in MP, fiind memorate sub forma de blocuri de informatii, in zone de memorie, proprii fiecarui program. Viteza de lucru a MP este mult mai mica decat a registrelor procesorului, avand timpi de acces aleator mai mari. Principalul avantaj al MP este pretul scazut, ce permite implementarea unor capacitati de memorare relativ mari.

27. Ierarhizarea subsistemului de memorie: MC

Memoria cache (MC) numita si memorie imediata, este o memorie de dimensiuni relativ mici (zeci-sute de KO), mai rapida decat memoria primara, care se interpune intre procesor si MP, in scopul reducerii discrepantelor mari dintre performantele acestora. Ea are rol de memorie tampon intre procesor si MP, pastrand informatiile cele mai recent folosite de procesor, duplicari ale celor din MP. MC este o memorie rapida, realizata cu circuite integrate de memorie SRAM. Are timpul de acces de 2-10 ori mai mic (ns) decat al memoriei primare, fiind insa si de cateva ori mai scumpa. La realizarea ei, se doreste ca procesorul sa lucreze cat mai mult timp cu MC, si nu cu MP. Pentru o memorie cache bine implementata, procesorul lucreaza cu aceasta, circa 70-90% din timpul total de lucru cu memoria.

Functionarea MC este diferita in operatii de citire, fata de cele de scriere.* in operatiile de citire, cand procesorul doreste sa preaia o informatie din memorie, se

testeaza si daca acesta se gaseste in MC. Din memoria cache se citeste informatia, cu timpul de acces mic al acesteia, invalidandu-se accesul la MP. Daca informatia dorita nu se gaseste in MC, ea va fi citita din MP, cu timpul mare de acces al MP. Simultan, o linie intreaga de memorie este transferata de catre controlerul de memorie din MP in MC. Daca procesorul doreste informatii de pe aceeasi linie de memorie, acestea vor putea fi citite din MC.

* in operatiile de scriere MC este mai putin avantajoasa, insa aceste operatii sunt mult mai rare.

Exista 2 algoritmi de scriere:* WT (Write Through): fiecare scriere se face simultan in MC si in MP* WB (Write Back): scrierea se face numai in MC, iar daca linia de date din MC se inlocuieste cu alta din MP, mai intai se face scrierea datelor modificate in MP.

Operatiile de citire, reprezinta avantajul MC, realizate de la adrese de memorie succesive.Cel mai dificil proces este cautarea daca data dorita se afla sau nu in MC. De aceea, MC

realizata cu memorii SRAM are doua sectiuni: una de date si una de etichete, care pastreaza informatii suplimentare necesare procesului de cautare. Pentru cresterea eficientei, MC poate fi implementata pe mai multe niveluri: un nivel plasat langa procesor (nivel 1) si altul extern, plasat langa memoria primara (nivelul 2).

28. Ierarhizarea sistemului de memorie: MS

[25]

Page 26: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Memoria secundara (MS) este o memorie nevolatila si reprezinta o extensie ieftina a MP, la fel cum MP este o extensie ieftina a registrelor procesorului. MS este realizata cu unitati de memorie pe suport magnetic si are capacitati de memorare foarte mari (zeci-sute de GO). Viteza de operare este mult mai mica decat cea a MP, avand un timp de acces cu 5-6 ordine de marime mai mare ca al MP. Fiind foarte lenta, MS este plasata in subsistemul de intrare/iesire si este accesata prin intermediul controlerelor. Principalul avantaj este costul unitar de memorare foarte mic. Informatia este memorata sub formna de blocuri, organizate in fisiere de dimensiuni relativ mari. In timpul executarii programelor blocurile de informatii sunt transferate intre MS si MP. Ele au anumite caracteristici, putand fi pagini sau segmente. Transferurile intre MS si MP nu se fac la nivel de cuvant ci se fac pe blocuri de informatii, deoarece timpul de cautare a datelor este mare si odata localizate datele, ratele de transfer sunt mari. Rezulta ca timpul total de transfer este aproximativ acelasi, fie ca se transfera un isngur bloc sau mai multe. Se doreste ca transferurile intre MS si MP sa fie rare si scurte. Dimensiunea blocurilor transferate si numarul lor in cadrul unui transfer au o influenta directa asupra performantelor sistemului de calcul. Daca se transfera blocuri de dimensiuni mici, atunci transferurile vor fi mai scurte, dar mai dese. Daca blocurile de informatie au dimensiuni mari, atunci transferurile vor fi mai rare, dar vor dura mai mult. De aceea, in permanenta trebuie cautat un optim al numarului de blocuri care se transfera odata, precul si al dimensiunii lor. Datorita timpului de acces mare, este util sa se transfere din MS mai multe blocuri de informatii, chiar si atunci cand se doreste transferul unui singur bloc. Restul de blocuri este transferat anticipandu-se utilizarea lor ulterioara de catre UC. Rezulata ca este necesara o memorie intermediara, plasata intre MP si MS in care sa poata fi aduse in avans, in mod anticipativ mai multe blocuri de informatii.

29. Ierarhizarea sistemului de memorie MI si MT.

Memoria intermediara (MI) numita si memorie cache pentru suporti externi sau memorie cache de disc, este plasata intre MP si MS actionand intr-o maniera similara cu MC. Are rol de memorie tampon care pastreaza blocurile de informatii cele mai recent accesate de un program, duplicari ale celor din MS. MI se realizeaza din zone disponibile ale MP definite functional ca MI. Astfel, timpul de acces la MI este la fel de mic ca cel al MP. Pentru utilizare necesita un driver software, care poate fi o componenta a SO sau un program utilizator.

[26]

Page 27: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Presupunem ca la un momentdat se lanseaza in executie programul P1. Acesta devine o nouza sarcina pentru sistem (T1) si este rulat intr-o zona proprie in MP, incepand cu blocul B1. Atunci cand dintr-o aplicatie se cere transferul unui bloc de informatii din MS in MP, programul memoriei cache de disc transfera in MI atat blocul de informatii solicitat cat si un numar de blocuri adiacente acestuia. Timpul de transfer din MS in MP este proaximativ acelasi, fiint dat in principal de timpul de acces la MS. Apoi blocul dorit se transfera catre aplicatie, din MI in zona de memorie proprie lui T1. Daca ulterior sunt solicitate blocuri adiacente, acestea se vor gasi deja in MI. Transferul din MI este rapid, deoarece se realizeaza intre circuite integrate de memorie. Performantele cresc daca blocurile transferate in MI pot fi utilizate direct de catre aplicatie.

Memoria tertiara (MT) sau memoria de arhivare este o memorie nevolatila de dimensiuni foarte mari, dar si cu timpi de acces foarte mari (zeci de secunde). Pastreaza informatii pasive, stocate doar in scop de arhivare si accesul la acestea se face foarte rar. MT este realizata cu unitati de memorare pe suport detasabil, optic sau magnetic. MT reprezinta colectia de casete sau CD-uri existente si nu unitatile de memorie propriu-zise.

30. Clasificarea memoriilor semiconductoare

1. Dupa modul de transfer al informatiilor in exterior:- memorii cu transfer paralel (pe cuvant) transfera paralel toti bitii cuvantului memorat si

accesat pe o magistrala de date de m biti. Memoriile cu transfer pe cuvant sunt mai rapide, dar si mai scumpe. Ele reprezinta clasa de memorii semiconductoare cea mai raspandita in sistemele de calcul.

- memorii cu transfer serial (pe bit) transfera serial pe o magistrala externa de date de 1bit cei m biti ai cuvantului memorat si accesat. Memoriile cu transfer pe bit sunt solutii ieftine, folosite in sistemel de calcul simple in care nu sunt necesare memorii performante.

2. In functie de modul in care este memorata informatia:

[27]

Page 28: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

- memorii nevolatile isi pastreaza continutul si dupa intreruperea alimentarii cu energie electrica pentru un timp nedefinit. Ele memoreaza informatii necesare la urmatoarea pornire a sistemului de calcul sau dupa RESET, cand memoria de lucru a sistemului nu contine informatii valide. Memoria nevolatila pastreaza programe executate de UC pana la incarcarea sistemului de operare, o setie de parametri de sistem eventual starea curenta si variabilele de lucru ale programelor necesare sistemelor de calcul folosite la conducerea proceselor.

- memorii volatile pastreaza informatiile doar atat timp cat memoria este alimentata cu energie electrica. Dupa intreruperea alimentarii ele isi pierd informatiile intr-un timp relativ scurt. Aceste memorii sunt folosite ca memorie de lucru in sistemele de calcul. Cand memoriile volatile sunt alimentate informatiile din celulele de memorie pot fi memorate:

* static ambele niveluri logice sunt memorate stabil;* dinamic informatia se pierde in timp si celulele de memorie trebuie sa fie improspatate

periodic. Teoretic, un singur nivel logic este instabil si se pierde in timp, celalalt nivel logic fiind memorat stabil. Practic, procesul de improspatare se aplica pentru toate celulele de memorie.

3. Dupa tipul operatiilor executate la celulele de memorie:- memorii ROM (Read-Only Memory) sunt memorii nevolatile care pot fi doar citite de

unitatile master. Ele au un singur ciclu de acces la memorie, numit ciclu de citire din memorie.- memorii RWM (Read-Write Memory) pot fi si citite si scrise de unitatile master si sunt

memorii volatile. Ele au doua cicluri diferite: ciclu de citire din memorie si ciclu de scriere in memorie, identificate printr-un semnal specific.

4. Dupa modul de acces la locatiile de memorie:- memorii cu acces serial (SAM = Serial Access Memory) locatiile de memorie pot fi

accesate doar intr-o anutima ordine, iar timpul de acces depinde de locatia accesata. Memoriile semiconductoare cu acces serial nu necesita magistrala externa de adrese, avand implementat un numar de adrese, care primeste semnale de comanda pentru incrementare sau decrementare. Circuitele de memorie cu acces serial pot fi:

* FIFO : folosite ca memorii tampon intre doua unitati de prelucrare aflate pe acelasi flux de informatii.

* LIFO : utilizate ca memorii de tip stiva.- memorii cu acces aleator (RAM = Random Access Memory) locatiile de memorie pot fi

accesate in orice ordine, iar timpul de acces nu depinde de locatia accesata.Memoriile RAM pot fi:*SRAM (Static RAM) memoreaza informatia in mod static.*DRAM (Dynamic RAM) memoreaza informatia in mod dinamic.

5. Dupa numarul de accese paralele care pot fi initiate:- memorii monoport permit un singur acces la un moment dat la celula de memorie

selectata prin magistrala de adrese. Daca doua mastere dorect accesul simultan la circuitul de memorie monoport, atunci masterul cu prioritatea mai mare este servit, iar cel cu prioritatea mai mica este pus in asteptare. Majoritatea circuitelor integrate de memorie sunt de tip monoport.

- memorii multiport permit accese multiple la un moment dat de la mai multe unitati master, fie la celule de memorie diferite, fie prin operatii diferite la aceeasi celula de memorie. Ele au performante superioare fata de memoriile monoport, insa necesita magistrale de adrese multiple. In general, memoriile multiport sunt memorii de tip RAM si de aceea se mai numesc memorii RAM multiport.

[28]

Page 29: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

31. Caracteristici ale memoriilor cu acces aleator

Circuitele integrate de memorie cu acces aleator sunt utilizate pentru implementarea de MC si MP din subsistemul de memorie sau pentru realizarea unor memorii tampon plasate in subsistemul I/O. Indiferent de tipul loc, CIM au o serie de caracteristici comune;

1. Locatiile de memorie sunt aranjate sub forma matriceala intr-o arie de memorie patrata sau dreptunghiulara. Celulele de memorie difera de la un tip de memorie la altul. Fiecare locatie este accesata cu ajutorul unei adrese de memorie, primita din exterior sub forma unei configuratii binare, pe o magistrala unidirectionala de adrese (ADR).

2. Intre numarul liniilor de adresa si capacitatea memoriei, exprimata in cuvinte de memorie, exista o relatie biunivoca: n linii de adresa dim. mem = 2n cuvinte

Dimensiunea cuvantului memorat arata dimensiunea magistralei de date, pe care se efectueaza transferurile de informatii cu exteriorul.

Simbolul unui CIM:

3. In interiorul circuitului de memorie, adresa primita din exterior este impartita in doua campuri. Acestea permit selectarea unei linii de celule de memorie, prin intermediul unui decodificator si a coloanei locatiei dorite, din aria de locatii de memorie, printr-un multiplexor sau demultiplexor. Daca aria de locatii de memorie este patratam atunci cele doua campuri contin un numar egal de linii de adresa.

4. Pentru conectarea mai multor circuite de memorie la aceeasi magistrala, acestea trebuie sa dispuna de circuite de iesire de tip tri-state. Pe aceeasi magistrala, memoriile vor fi active pe rand, cand una este accesata, celelalte vor avea circuite de iesire trecute in starea HZ. Rezulta ca memoriile vor avea un semnal specific de validare a iesirilor circuitului de memorie, numit generic OE. Daca OE=0, iesirile memoriei sunt activate si informatiile ajung pe magistrala de date. Suplimentar exista un semnal specific de validare a circuitului, activ pe 0L, ce permite un consum mic de energie atunci cand memoria nu este folosita, numit CE sau CS.

5. Memoriile RWM au doua cicluri de memorie diferite, citire si scriere, diferentiate printr-un semnal activ pe 0L, numit WE. Daca WE=0, atunci se realizeaza un ciclu de scriere in memorie, iar pentru WE=1, ciclul este de citire.

32. Memoria ROM: simbol, schema bloc, functionare, diagrama ciclului de citire.

Memoria ROM este o memorie nevolatila cu acces aleator, care poate fi doar citita de o unitate master. Deoarece ROM are un singur ciclu de memorie, numit ciclu de iesire, magistrala de date este unidirectionala, de iesire din circuit.

[29]

Page 30: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Semnalele de comanda, active pe 0L sunt: CE, pentru validarea circuitului, care permite un consum mic de energie atunci cand memoria nu este folosita si OE, pentru validarea iesirilor memoriei, care permite scoaterea informatiilor pe magistrala de date sau trecerea iesirilor in HZ si separarea de magistrala. Daca memoria poate fi programata de utilizator, ea contine si un semnal de intrare pe care se aplica ternsiunea de programare.

Memoria ROM are o structura de circuit logic combinational. Schema bloc, pentru simplitate, s-a presupus ca are celulele de memorie dispuse intr-o arie patrata de locatii de memorie, fiecare locatie memorand un cuvant de m biti.

Locatiile de memorie sunt accesate prin intermediul adreselor trimise pe magistrala de adrese. Semnalele de validare a circuitului si a iesirilor actionaeaza prin intermediul logicii de control. Adresa primita din exterior este impartita in doua campuri de cate n/2 linii de adresa. Primul camp permite selectarea unei linii de celule de memorie de 2n/2 linii, prin intermediul unui decodificator. Al doilea camp, printr-un multiplexor, selecteaza coloana locatiei dorite, din linia de locatii de memorie selectata de DCD. Deoarece cuvantul memorat este pe m biti, selectia cuvantului din linie se face prin m multiplexoare cu 2n/2 intrari si o iesire, care formeaza blocul MUX.

Diagrama de semnale pentru ciclul de citire din ROM cuprinde cele doua semnale de comanda si liniile magistralelor de adrese si de date. Liniile de adresa comuta simultan si apoi raman stabile pe durata intregului ciclu de citire.

[30]

Page 31: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Semnalul CE se activeaza inaintea lui OE permitand selectarea celulei de memorie, prin adresa transmisa pe magistrala de adrese ADR. Cei doi timpi reprezentati in fugira sunt timpul de acces si timpul de ciclu la ROM.

Se observa ca datele devin stabile la iesire, dupa un anumite timp de la activarea semnalelor de comanda. Datorita timpilor de intarziere de propagare prin circuitul de iesire, liniile de date devin stabile la momente de timp diferite, mai devreme sau mai tarziu, dar nu mai tarziu de o valoare limita impusa de foaie de catalog prin timpul de acces. Dupa transferul datelor semnalul de comanda se inactiveaza simultan.

33. Memoria ROM: simbol, celula de memorie, circuit de iesire, variante de comanda

Memoria ROM este o memorie nevolatila cu acces aleator, care poate fi doar citita de o unitate master. Deoarece ROM are un singur ciclu de memorie, numit ciclu de iesire, magistrala de date este unidirectionala, de iesire din circuit.

Semnalele de comanda, active pe 0L sunt: CE, pentru validarea circuitului, care permite un consum mic de energie atunci cand memoria nu este folosita si OE, pentru validarea iesirilor memoriei, care permite scoaterea informatiilor pe magistrala de date sau trecerea iesirilor in HZ si separarea pe magistrala. Daca memoria poate fi programata de utilizator, ea contine si un semnal de intrare pe care se aplica tensiunea de programare.

[31]

Page 32: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Celele de memorie difera de la un tip de memorie la altul, fiind realizate cu 1 sau 2 tranzistoare. Ele au o structura simpla in care tranzistoarele joaca rol de comutatoare. Celulele de memorie pot fi conectate la coloane astfel incat randurile si coloana respectiva sa formeze o functie cablata din cele 4 functii logice de baza. Structurile SI-NU sunt mai lente decat cele SAU-NU, dar permit densitati de integrare mai mari.

Cand comutatoarele sunt inchise prin selectarea randului, ele transfera la iesire o valoare logica bine definita, care poate fi 0L sau 1L. Daca acestea sunt permanent deschise ele nu modifica valoarea logica implicita a coloanei. Valorile memorate sunt trecute in dreptul celulelor. Atunci cand celula este selectata, prin activarea liniei corespunzatoare es transfera la iesire, valoarea prestabilita, conform functiei locice sau nu modifica iesire si coloana pastreaza valoarea logica im....

Circuitul de iesire din ROM este cu trei stari si permite scoaterea datelor pe magistrala sau separarea memoriei de magistrala de date. Comanda circuitului de iesire se face prin urmatoarea logica de control:

Cand memoria ROM nu este validata, ea trebuie sa fie separata de magistrala. De aceea CE=1 forteaza circuitul de iesire sa treaca in HZ, indiferent de valoarea semnalului OE. Logica de control inactiveaza blocurile interne, ceea ce permite un consum mic de energie. Daca CE=0 circuitul de iesire este comandat doar de semnalul OE. Cand OE=1, iesirile sunt trecute in HZ si memoria este separata de magistrala de date, iar cand OE=0, circuitul de iesire permite scoaterea informatiilor pe magistrala.

De obicei, semnalul CE se activeaza inaintea semnalului OE, pentru a permite curcuitelor interne sa selecteze o data valida si sa o transfere spre iesire, inainte de activarea circuitului de

[32]

CE OE Circuit de iesire1 X HZ0 1 HZ0 0 DATA

Page 33: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

iesire. Astfel magistrala de date este ocupata doar cat timp se efectueaza transferul propriu-zi, nu si in timpul selectarii celulei de memorie, timp care poate fi mascat printr-un transfer suplimentar pe magistrala, intre alte unitati conectate la aceasta.

Comanda memoriei ROM, pentru accesul la magistrala de date, se face intr-o maniera simplificata, utilizandu-se un singur semnal de comanda din exterior, corespunzator lui OE, respectiv CE

CE OE Circuit de iesire0 1 HZ0 0 DATA

Exista doua variante diferite prin care memoria ROM poate fi comandata din exterior cu un singur semnal, corespunzator lui OE sau CE:

In primul caz, circuitul de memorie este validat permanent, ceea ce conduce la un consum mare de energie, in special daca memoria este accesata rar. Totusi timpul de acces poate fi micsorat fata de comanda cu semnale separate, deoarece in orice moment de timp exista o linie deja selectata si transferata spre iesire. In plus, magistrala de date este ocupata doar cat timp se efectueaza transferul propriu-zis.

In cel de-al doilea caz, circuitul de iesire se activeaza simultan cu memoria, la comanda semnalului CE, moment in care amgistrala de date trebuie sa fie deja libera.

Pe magistrala vor apare initial date invalide deoarece circuitul de iesire este deja activat si dupa selectarea celulei de memorie, se vor obtine la iesire date valide si stabile.

34. Tipuri constructive de memorie ROM: MROM, PROM, EPROM

MROM (Mask-programmed ROM) sau ROM programata prin masca, este o memorie al carei continut este stabilit de fabricant, neputand fi modificat sau sters de catre utilizator. Principalele avantaje sunt pretul mic si fiabilitatea ridicata. Deoarece continului memoriei este cunoscut la momentul fabricatiei celulele de memorie sunt conectate sau nu la coloanele corespunzatoare printr-o masca de contacte electrice. Acolo unde comutatorul celulei trebuie sa fie deshis, contactul electric cu coloana nu se mai face, si practic, comutatorul nu se mai realizeaza.

[33]

CE OE Circuit de iesire1 1 HZ0 0 DATA

Page 34: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

In functie de tehnologia de realizare bipolara sau MOS, celulele contin cate o singura componenta, dioda sau tranzistor bipolar sau tranzistor MOS. Datorita modificarilor frecvente care au loc in componenta software a unui calculator, aceste memorii sunt folosite din ce in ce mai putin ca circuite distincte. Domeniul de aplicabilitate se rezuma doar la sistemele de calcul simple sau integrate in alte circuite digitale.

PROM (Programable ROM) este o memorie care poate fi scrisa o singura data de catre utilizator, prin aplicarea unui ciclu de programare specific. Celulele de memorie sunt de acelasi tip cu cele ale MROM. Toate comutatoarele sunt plantate si conectate la coloane, prin fuzibile de polisiliciu. In procesul de programare unele fuzibile sunt arse printr-un curent mare, datorat unei tensiuni de programare mai mari decat cea de alimentare. Odata arsa, fuzibila nu mai poate fi refacuta. In general continutul memoriei PROM este pastrat de utilizator intr-un fisier. Pentru programare, acesta este transmis unui programator de memorii. Programarea se face la nivel de cuvant si de aceea pot exista sesiuni multiple de programare a aceleiasi memorii, atat timp cat se ard noi fuzibile. Memoria PROM neprogramata memoreaza in toate locatiile valoarea 1L. Prin programare se scriu valori de 0L in locatiile de memorie unde se doreste acest lucru prin arderea fuzibilelor. O locatie de memorie scrisa cu Ol nu poate fi reprogramata cu 1L insa valorile 0L pot si programate in mai multe sesiuni.

EPROM (Erasable PROM) este o memorie care poate fi scrisa si stearsa de mai multe ori (sute-mii de cicluri) de catre utilizator. Scrierea se face intr-un programator de memorii si necesita o tensiune de programare mai mare decat cea de alimentare, aplicata prin exterior. Memoria este realizata in tehnologie MOS, iar celulelele contin cate un singur tranzistor n-MOS cu dublu poarta, una pentru comanda si una izolata. Programarea celulei consta in aplicarea unei tensiuni mari pe poarta de comanda, care are ca efect atragerea de electroni pe poarta izolata, din canalul n. Acest fenomen, numit injectie de electroni duce la acumularea de sarcini-electrice negative pe poarta izolata si la blocarea tranzistorului respectiv. Programarea se mentine un timp indelungat, cel putin 10 ani, dar este sensibila la radiatiile luminoase. Stergerea se face simultan pentru toate locatiile de memorie, prin expunerea memoriei la radiatii ultraviolete. Pentru aceasta, circuitul de memorie este incapsulat in ceramica si are o fereastra de cuart. Daca nu are fereastra de cuart, memoria poate fi programata o singura data si se numeste OTPROM (One Time PROM). Stergerea dureaza aproximativ 20 min.

35. Tipuri constructive de memorii ROM: EEPROM, FLASH ROM

EEPROM (Electrically EPROM) este o memorie care poate fi stearsa si programata electric de catre utilizator, folosind o tensiune mai mare decat cea de alimentare, generata intern. De aceea memoria EEPROM poate fi programata si stearsa in sistemul de calcul in care se

[34]

Page 35: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

foloseste, fara a fi necesar un programator de memorii, dar e scumpa. Este o memorie realizata in tehnologie MOS ca si EPROM, dar are o densitate de integrare mai mica deoarece necesita doua tranzistoare pe celula de memorie. Unul este pentru memorare, fiind de acelasi tip ca la EPROM, al doilea este de acces.

Atat stergerea cat si programarea se pot face aleator la nivel de cuvant. Numarul ciclurilor de programare si de stergere este mult mai mare decat la memoria EPROM (zeci-sute de mii de cicluri). Totusi aceste cicluri sunt foarte lente si de aceea memoria este considerata tot de tip ROM. Unele memorii indica in exterior printr-un semnal specific, cand se executa un ciclu de scriere. Programarea este realizata prin intermediul unei porti ezolate, fie prin injectie de electroni, ca la EPROM, fie prin efect tunel Fowler-Nordheim, in functie de modul de comanda a tranzistoarelor. Programarea se mentine timp indelungat (zeci-sute de ani). Stergerea se realizeaza electric, la nivel de cuvant, tot prin efect tunel.

Pentru compatibilitate electrica, logica interna a celor doua tipuri de memorii este astfel realizata incat celulele sterse sa contina 1L, iar cele programate sa memoreze 0L. Programarea sau stergerea sunt comandate in functie de modul in care este aplicata tensiunea de programare pe cele doua tranzistoare ale celulei de memorie. Tensiunea de programare este generata intern si este mai mare decat tensiunea de alimentare.

FLASH ROM (numita si FLASH) este o memorie careimbina avantajele memoriilor EPROM si EEPROM, permitand o viteza de stergere mai mare, o densitate mai mare de integrare si un cost unitar mai mic. Totodata numarul ciclurilor de programare si de stergere este mai mare decat la EEPROM. Stergerea este mult mai rapida deoarece nu se face individual, la nivel de cuvant, ci pentru toata memoria odata sau pe blocuri mari de cuvinte, Procesul de stergere dureaza mai putin de 1s. Celulele de memorie sunt realizate ca la EPROM, cu cate un singur tranzistor de tip n-MOS cu dublu poarta, ceea ce asigura o densitate mai mare de integrare. Operatiile de citire sunt realizate la fel ca la EPROM. Fara tensiunea de programare, memoria FLASH functioneaza ca o memorie EPROM standard. De asemenea, operatiile de programare sunt similare, realizate la nivel de cuvant, fie prin injectie de electroni in poarta izolata, fie prin efect tunel Fowler-Nordheim.

Tensiunea de programare este mult mai mare decat cea de alimentare, si poate fi generata intern sau furnizata din exterior. Algoritmul de programare a fiecarui cuvant este de obicei insotit de operatia de verificare, iar in cazut in care programarea nu a fost facuta corect, aceasta este reluata. Mecanismul de stergere este inca diferit fata de celelalte memorii, realizandu-se prin efect tunel Fowler-Nordheim. Acest proces are loc in sens invers programarii. Algoritmul de stergere presupune mai intai programarea integrala a blocului respectiv cu 0L si este de asemenea insotit de operatia de verificare. Datorita organizarii pe blocuri de informatii, memoria FLASH permite integrarea unor mecanisme hardware de protectie a informatiilor care restrictioneaza accesul la anumite blocuri, in operatiile de programare sau stergere.

36. Memorii SRAM: caracterizare, simbol, functionarea celulei de memorie

Memoria SRAM (Static RAM) este o memorie RAM statica, in care informatia este memorata intr-un mod stabil, pe ambele niveluri logice, cat timp memoria este alimentata. Este realizata in tehnologii rapide, cu timpi de acces foarte mici. Fiind o memorie care poate fi si citita

[35]

Page 36: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

si scrisa, SRAM va avea magistrala bidirectionala de date si doua cicluri diferite de memorie: ciclul de citire si ciclul de scriere, identificate de semnalul WE activ pe 0L.

Simbolul memoriei SRAM:

Deoarece circuitul de iesire este activ doar in ciclurile de citire din memorie, functia semnalului OE poate fi inglobata in celelalte doua semnale de comanda, in special la memoriile cu magistrale separate de date, de intrare si de iesire.

Memoria SRAM poate fi:* SRAM asincrona: nu necesita semnal de ceas pentru sincronizarea cu unitatea

master. Memoriile asincrone sunt mai lente decat cele sincrone, dar sunt mai ieftine si au consum de energie mic.

* SRAM sincrona: necesita un semnal de ceas pentru validarea semnalelor de control. Ceasul primit din exterior permite operarea memoriei, sincron cu unitatea master. Memoriile sincrone sunt foarte rapide, cu timpi de acces sub 10ns, pot functiona la tensiuni de alimentare mici, dar sunt scumpe. Pot fi: PBS (Pipelined Burst Synchronous), FTS (Floro Through Synchronous), ZBT (Zero Bus Turnaround) SRAM.

Celulele de memorie SRAM sunt realizate cu circuite basculante bistabile, cate unul pentru fiecare bit de informatie memorat. Pentru a face diferenta intre operatiile de citire si scriere celula are doua linii de bit.

Daca celula nu este accesata, T1 si T2 sunt blocate si se comporta ca niste comutatoare deschise, iar CBB este izolat si memoreaza stabil valorile determinate anterior, generate de iesirile celor doua inversoare. Presupunand ca celula memoreaza valoarea 0L, aflata la iesirea inversorului I, acesta genereaza la iesirea lui I2 valoarea 1L, care mentine stabila valoarea 0L la iesirea lui I1. Se observa ca la iesirea celor doua inversoare totdeauna vor exista valori logice complementare. Celula de memorie este accesata in operatiile de citire sau scriere prin celectarea intregului rand de celule de memorie, activandu-se linia de selectii a randului respectiv. In operatiile de citire, comutatoarele T1 si T2 se inchid si permit scoaterea valorilor CBB pe liniile de bit ale tuturor celulelor de pe randul selectat. Acestea ajung la amplificatoarele de send, care genereaza valorile logice memorate.

[36]

Page 37: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

In ciclurile de scriere, prin inchiderea comutatoarelor T1 si T2 are loc comutarea CBB al cuvantului de memorie selectat, in conformitate cu valorile logice de pe liniile de bit, generate de amplificatoarele de scriere. In general fiecare celula de memorie este realizata cu 6 tranzistoare. Deoarece liniile de bit sunt preincarcate la 1L, tranzistoarele T5 si T6 pot fi inlocuite cu rezistente. In acest caz celula de memorie va avea doar 4 tranzistoare si va fi mai compacta, dar va avea consum de energie mai mare.

Memoria SRAM are o densitate de integrare mica deorece foloseste un numar relativ mare de tranzistoare pentru fiecare locatie de memorie. Particularitatile constructive ale celulelor de memorie genereaza dezavantaje: densitate de integrare mica, consum energetic mare, pret unitar mare pe cuvantul de informatie memorat.

37. Memorii SRAM: schema bloc, ciclurile de memorie, diagrame de semnale

Celulele de memorie sunt dispuse intr-o arie patrata de locatii de memorie, fiecare locatie memorand un cuvant de m biti. Semnalele de comanda actioneaza prin intermediul logicii de control. Magistrala de date este bidirectionala. Daca memoria SRAM este organizata la nivel de bit magistrala de date este plementata pe linii separate de intrare si de iesire.

[37]

Page 38: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Locatiile de memorie sunt accesate prin intermediul adreselor, trimise pe magistrala de adrese intr-o maniera similara cu accesarea locatiilor la memoria ROM. Adresa primita din exterior este impartita in doua campuri, de cate n/2 linii de adresa. Primul camp permite selectarea unei linii de celule de memorie din cele 2n/2 linii, prin intermediul unui decodificator. Al doilea camp selecteaza coloana locatiei dorite, din cele 2n/2 coloane de m biti ale liniei de locatii de memorie selectata de DCD.

Circuitul MUX/DMUX functioneaza ca multiplexor in ciclurile de citire si ca demultiplexor in ciclurile de scriere. In operatiile de citire linia selectata este transmisa la intrarea MUX, prin intermediul amplificatoarelor de sens, iar apoi coloana selectata este transmisa pe magistrala de date, prin circuitul de iesire. In operatiile de scriere, cuvantul din exterior este transmis prin DMUX, pe coloana selectata de al doilea camp de adrese. Cuvantul este inscris in celula de memorie din linia selectata cu ajutorul smplificatoarelor de scriere, care pozitioneaza liniile de bit ale celulei.

Diagrama de semnale pentru ciclul de citire din memoria SRAM asincrona este similar cu cea a memoriei ROM.

La memoriile asincrone o noua operatie poate incepe dupa timpul de ciclu. La memoriile sincrone, adresele sunt memorate intern, ceea ce permite ca operatiile de acelasi tip, citire sau scriere, la adrese succesive sa se faca prin incrementarea interna a adresei, fiind astfel mai rapide. Diagrama de semnale pentru ciclul de scriere in memoria SRAM asincrona:

Pentru memoriile SRAM asincrone cu magistrala comuna de date, comandate doar de semnalele CE si WE, diagrama de semnale pentru ciclul de scriere este diferita.

[38]

Page 39: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Se observa ca magistrala de date este ocupata mai mult timp decat in cazul anterior. Semnalul WE nu trebuie activat dupa semnalul CE, deoarece, in timpul scrierii, s-ar activa circuitul de iesire din SRAM.

38. Memorii DRAM: caracterizare, simbol, functionarea celulei de memorie 3T DRAM

Memoria DRAM este o memorie volatila cu acces aleator, care memoreaza informatia in mod dinamic. Este realizata in tehnologie CMOS, cu consum foarte mic de energie. Datorita particularitatilor constructive ale celulelor de memorie, informatia 0L este memorata stabil, dar informatia 1L se pierde in timp si necesita improspatarea periodica a memoriei, de unde si denumirea acesteia. Memoria DRAM este mult mai lenta decat memoria SRAM, din cauza mecanismului specific de memorare a informatiilor. Timpul de acces la DRAM este de 2-10 ori mai mare decat de SRAM si variaza in functie de tipul accesului la memorie. In acces aleator, timpul de acces este mare, dar scade foarte mult daca se restrictioneaza accesul in mod pagina si poate ajunge doar de 2 ori mai mare decat al memoriei SRAM.

Celula de memorie este mult mai mica decat la memoria SRAM ceea ce permite realizarea unor densitati mari de integrare. Circuitele de memorie DRAM au capacitati de memorare mari si implicit un numar mare de linii de adresa. Pentru micsorarea numarului de legaturi cu exteriorul si implicit al costului unitar, memoria DRAM se conecteaza in exterior, pe magistrala de adrese, doar cu jumatate din liniile de adresa. Cele n linii ale magistralei de adrese necesare accesarii memoriei sunt impartite in doua mappuri de cate n/2 linii, numite adresa de rand, respectiv adresa de coloana. Ele sunt introduse in memoria DRAM in doi pasi succesivi, fiind memorate in registre interne separate, cu ajutorul a doua semnale de comanda. Acestea sunt active pe 0L si sunt numite dupa adresa pe care o memoreaza: RAS (Row Adress Strobe) si CAS (Column Address Strobe).

O particularitate a circuitelor de memorie DRAM, il constituie faptul ca numarul liniilor de adresa este totdeauna par pentru a permite impartirea adresei in doua campuri egale. Rezulta ca la circuitele de memorie DRAM, capacitatile de memorie cresc exponential cu baza 4. Unele memorii DRAM dispun de semnal de validare a iesirilor (OE), ceea ce permite o conectare mai judicioasa la magistrala de date. Fiecare bit de informatie este memorat prin incarcarea sau descarcarea unui condensator. Cand condensatorul este incarcat, spunem ca se memoreaza valoarea 1L, iar cand acesta este descarcat, valoarea memorata de 0L. Mecanismul de memorare nu presupune consum de curent de la sursa de alimentare.

[39]

Page 40: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Celula 3T DRAM contine doar 3 tranzistoare din celula SRAM. Mecanismele de citire si scriere sunt usor de implementat, insa celula contine multe conductoare, deoarece necesita linii separate de bit si pentru selectia randului, in citire sau scriere.

Elementul de memorare a informatiei este T3 prin capacitatea parazita poarta-sursa a acestuia. Daca celula nu este accesata T1 si T2 sunt blocate si se comporta ca niste comutatoare deschise, iar T3 este izolat. Daca pe poarta lui T3 exista un potential de 0V condensatorul este descarcat si isi pastreaza starea un timp nedefinit. Daca este memorata valoarea 1L, atunci condensatorul este incurcat la un anumit potential care tinde sa scada spre zero. Celula de memorie este accesata prin selectarea intregului rand de celule de memorie, activandu-se linia de selectie a randului respectiv, corespunzatoare operatiei de citire sau de scriere. In operatiile de citire comutatorul T1 se inchide si permite scoaterea pe linia de bit de citire, a valorii logice corespunzatoare starii lui T3: daca este memorat 1L, T3 se inchide si trece linia de bit de citire in 0L, iar daca este memorat 0L, T3 este blocat si linia de bit pastreaza valoarea implicita 1L. Valoarea liniei de bit este transmisa amplificatorului de sens, care o inverseaza si genereaza valoarea logica memorata. Operatia de citire este nedistructiva. In operatiile de scriere, amplificatorul de scriere pozitioneaza linia de bit de scriere in conformitate cu valoarea logica ce se doreste a fi memorata. Prin inchiderea lui T2, potentialul de pe linia de bit de scriere este transmis pe poarta lui T3 incarcand sau descarcand capacitatea parazita. Apoi comutatorul T2 se deschide.

39. Memorii DRAM: caracterizare, functionarea celulei de memorie 1T DRAM, simbol

Celula 1T DRAM contine doar un singur tranzistor, cu rol de comutator pentru accesul la celula si un condensator de stocare a sarcinilor, ca element de memorare. Dimensiunea celulei este redusa la maxim, avand numar minim de tranzistoare si conductoare, dar mecanismele de citire si scriere sunt mai complexe. Densitatea de integrare este foarte mare, ceea ce permite realizarea unor circuite de memorie DRAm ieftine si cu capacitati de memorare mari. Celula 1T DRAM este mai mare

[40]

Page 41: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

decat celula memoriei ROM, doarece necesita in pus un condensator. De aceea densitatea de integrare este mai mica decat a memoriei ROM.

Daca celula nu este accesata, T1 este blocat si se comporta ca un comutator deschis. Condensatorul CS este izolat, iar tensiunea dintre armaturi arata valoarea logica memorata. Cand celula memoreaza 0L, condensatorul CS este descarcat si isi pastreaza starea un timp nedefinit. Cand este memorata valoarea 1L, CS este incarcat la o anumita tensiune care tinde sa scada spre zero. Celula este accesata prin activarea liniei de selectie a randului respectiv, care duce la inchiderea tuturor comutatoarelor T1 si la conectarea condensatoarelor CS de pe linia selectata, la liniile de bit corespunzatoare. Operatiile de citire si scriere au loc prin transferul de sarcini electrice, intre linia de bit si condensatorul celulei.

Operatia de scriere intr-o celula 1T DRAM este mai simpla decat citirea, ciind similara cu cea de la celula 3T DRAM. Amplificatorul de scriere pozitioneaza tensiunea pe linia de bit in conformitate cu valoarea logica, care se doreste a fi memorata. Prin activarea liniei de selectii a randului, comutatorul T1 se inchide si tensiunea de pe linia de bit forteaza incarcarea sau descarcarea condensatorului CS. Apoi comutatorul T1 se deschide si izoleaza celula. In operatiile de citire, prin inchiderea lui T1 se realizeaza un transfer de sarcini electrice intre condensatorul celulei si capacitatea parazita a liniei de bit. Capacitatea CB este preincarcata la jumatate din tensiunea de alimentare, fiind de 10-100 ori mai mare decat capacitatea condensatorului CS. Transferul de sarcini electrice genereaza o mica variatie a tensiunii pe linia de bit, detectata si amplificata de amplificatorul de sens.

Daca celula memoreaza 1L, tensiunea pe CS este mai mare decat pe CB si va apare un transfer de sarcini de la CS la CB, care tinde sa creasca tensiunea pe linia de bit peste valoarea VDD/2. Amplificatorul de sens sesizeaza aceasta variatie si o amplifica generand la iesire 1L.

Daca este memorata valoarea 0L, tensiunea pe CS este mai mica decat pe CB si va apare un transfer de sarcini de la CB la CS. Aceasta tinde sa scada linia de bit, sub valoarea VDD/2, iar amplificatorul de sens genereaza la iesire 0L.

Spre deosebire de celula 3T DRAM, citirea este distructiva in acest caz, deoarece transferul de sarcini duce la modificarea tensiunii condensatorului celulei. De aceea celula trebuie improspatata dupa fiecare citire. Amplificatoarele de scriere comanda rescrierea tuturor celulelor de memorie de pe randul selectat, cu valorile generate de amplificatoarele de sens.

40. Memorii DRAM: schema bloc, functionare, ciclurile de citire si scriere.

Celulele de memorie sunt dispuse intr-o arie patrata sau dreptunghiulara de locatii de memorie, fiecare locatie memorand un cuvant de m biti. Semnalele de comanda actioneaza prin intermediul logicii de control. Eventual, memoria DRAM poate avea circuit intern de improspatare, care presupune un numar de adrese de rand si un ceas de timp real.

Locatiile de memorie sunt accesate prin intermediul adreselor primite din exterior pe magistrala de adrese, in doi pasi succesivi. Mai intai apar adresele de rand, care sunt memorate in latch-ul adreselor de rand, cu ajutorul semnalului de comanda RAS, activ pe 0L. Ele permit selectarea unei linii de celule de memorie, prin intermediul decodificatorului. Ulterior sunt trimise adresele de coloana, care sunt memorate in latch-ul adreselor de coloana cu ajutorul semnalului de comanda CAS, activ pe 0L. Aceste adrese selecteaza coloana locatiei dorite pentru efectuarea transferului, din linia selectata, prin intermediul circuitului MUX/DMUX.

[41]

Page 42: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Circuitul MUX/DMUX functioneaza ca multiplexor in ciclurile de citire si ca demultiplexor in ciclurile de scriere. In operatiile de citire, intregul continut al liniei selectate este transmis la intrarea MUX, prin intermediul amplificatoarelor de sens. Apoi coloana selectata de multiplexor este transmisa pe magistrala de date, prin circuitul de iesire. In operatiile de scriere cuvantul din exterior este transmis prin DMUX, pe coloanma selectata de adresa de coloana. Cuvantul este inscris in celula de memorie din linia selectata, cu ajutorul amplificatoarelor de scriere. Circuitul I/O este similar cu cel de la memoria SRAM. Magistrala de date este bidirectionala: daca memoria DRAM este organizata la nivel de bit, magistrala de date este implementata pe linii separate, de intrare si de iesire.

Diagrama de semnale pentru ciclul de citire din memoria DRAM, in acces aleator contine semnalele de comanda si cele doua magistrale de adrese si date. Pentru ca memorarea adreselor sa fie corecta, adresele de rand si de coloana trebuie sa fie stabile un intervat de timp inainte si dupa momentul activarii semnalelor de comanda corespunzatoare, RAS si CAS. Acestea, dupa activare, trebuie sa ramana active pana la sfarsitul ciclului, deoarece, prin logica de control, ele au si rol de validare a circuitului de memorie si a iesirilor.

Datele se obtin la iesire dupa tA, care este putin mai mare decat tRAC. In general tRAC este timpul de referinta pentru accesele aleatoare la DRAM. Timpul de ciclu este aproape dublu, deoarece in timpul de revenire se realizeaza improspatarea celulelor de memorie ale liniei selectate.

Diagrama de semnale pentru ciclul de scriere in DRAM, in acces aleator:

In functie de momentul in care se activeaza semnalul de validare a scrierii fata de semnalul CAS, rezulta doua cicluri de scriere diferite, prin activarea semnalului WE inainte sau dupa activarea semnalului CAS. Activarea WE dupa CAS este reprezentata cu linie intrerupta.

[42]

Page 43: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

41. Memorii DRAM: improspatarea celulelor de memorie, cicluri de improspatare.

Improspatarea celulelor de memorie se realizeaza in cicluri de improspatare distincte, unul pentru fiecare linie din aria de locatii de memorie. Rezulta ca, intreaga memorie va fi improspatata dupa un numar de cicluri de refresh egal cu numarul de linii din aria de celule de memorie. Intervalul maxim de timp, dupa care trebuie improspatata fiecare locatie de memorie, depinde de timpul de descarcare a condensatorului celulei. Perioada de repetitie a ciclurilor de refresh si frecventa corespunzatoare depind de intervalul de timp si de numarul liniilor din aria de celule de memorie.

TR = tr/nl ; fR = 1/TR = nl/tr ;Deoarece memoria DRAM este vazuta ca unitate slave, improspatarea trebuie realizata de

catre o unitate master, care poate fi externa memoriei sau interna. Aceasta nu trebuie sa fie unitatea centrala. In mod normal, un ciclu de improspatare nu poate fi intrerupt daca este controlat de o unitate master externa. Insa pentru memoriile DRAm cu circuit intern de improspatare, acest ciclu poate fi intrerupr, pentru a permite accesul din exterior, la celulele de memorie.

In functie de tipul memoriei DRAM, ciclurile de improspatare pot si realizate in trei moduri:

* ROR (Ras Only Refresh) este o metoda de improspatare din exterior prin care se transmit memoriei adresa de rand si semnalul RAS, fara a se activa semnalul CAS. Unitatea master externa este anuntata poeriodic sa faca refresh, de catre un ceas de timp real care este programat software de catre SO.

* CBR (CAS Before RAS) este tot o metoda de improspatare din exterior prin care se transmit semnalele CAS si RAS, activate in aceasta ordine. Memoria dispune de un numarator de adrese intern, pentru indicarea liniei ce trebuie improspatata, fara a fi nevoie de transmiterea adresei din exterior. De asemenea, perioada de repetitie a ciclurilor de refresh este determinata de un ceas de timp real extern.

* Auto-improspatare cu ajutorul circuitelor interne memoriei DRAM. In interior, memoria contine un numarator de adrese de rand, un ceas de timp real si logica de control pentru generarea semnalelor CAS si RAS, conform metodei CBR.

Ciclul de improspatare prin metoda ROR se realizeaza ca un ciclu de citire incomplet si nu necesita introducerea unor semnale de comanda suplimentare.

In fiecare ciclu de refresh se improspateaza o intreaga linie de locatii de memorie. Simpla selectare a unei linii duce la improspatarea tuturor locatiilor de pe linia respectiva. Diagrama ciclului de improspatare prin metoda CBR:

[43]

Page 44: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Deoarece timpul total de improspatare depinde de numarul de linii din aria de celule de memorie, aceasta va avea o organizare dreptunghiulara cu mai putine linii si mai multe coloane. Daca memorie DRAM este dispusa pe mai multe module si improspatarea se face din exterior, atunci ciclul de refresh poate fi initiat pentru toate modulele simultan.

42. Memorii DRAM sincrone: caracterizare, tipuri, accesul in mod pagina

Memoria DRAM sincrona necesita un semnal de ceas pentru validarea semnalelor de control. Ceasul primit din exterior permite operarea memoriei sincron cu unitatea master.

Accesul aleator este lent, fiind putin mai rapid decat la memoriile asincrone, datorita tehnologiei. In acces aleator, tRAC este de 40-60ns, iar tc este de 80-110ns.

Accesul in mod pagina este mult mai rapid decat la memoriile asincrone si depinde de frecventa semnalului de ceas. Toate memoriile sincrone presupun aceeasi restrictie suplimentara de la BEDO DRAM, ca transferurile in pagina sa se faca de la adrese la coloana consecutive. In aces fel, adresa este furnizata din exterior o singura data, unui numar de adrese intern. Apoi, la transferurile urmatoare in pagina adresele de coloana sunt obtinure prin incrementarea numarului de adrese, la fronturile semnalului de ceas.

Primul acces in pagina este mai lung, fiind dat de tRAC, indiferent de tipul memoriei sincrone. Acesta presupune selectarea liniei din aria de celule de memorie si memorarea ei intr-un buffer de rand, de unde se preia doar primul cuvant. Insa accesele urmatoare la adresele de coloana succesive in pagina sunt mult mai rapide, linioa fiind deja selectata. Accesele se fac cu timpul de ciclu de pagina tPC, care depinde de tipul memoriei sincrone.

Memoriile sincrone pot fi de mai multe tipuri: SDRAM (Synchronous RAM), DDR SDRAM (Double Data Rate SDRAM), RDRAM (Rambus DRAM), DRDRAM (Direct Rambus DRAM).

La memoriile SDRAM aria de celule de memorie este organizata in planuri paralele (bank-uri de memorie), accesate succesiv, dar sincron cu semnalul de ceas CLK. Numarul de cuvinte transferate in mod pagina este programabil. Accesul in pagina dureaza o perioada de ceas, astfel timpul de ciclu de pagina va fi: tPC = TCLK.

Datorita sincronizarii cu semnalul de ceas, timpul de acces poate fi exprimat in numar de stari de ceas pentru fiecare cuvant transferat.

Memoriile DDR SDRAM realizeaza transferurile in exterior pe fiecare front al semnalului de ceas, practic de doua ori mai rapid decat la SDRAM, de unde si denumirea memoriei. Ele au o organizarea similara cu memoria SDRAM, avand in plus un latch de date de iesire. In timp ce un cuvant este transferat in mod pagina, urmatorul este deja memorat in latchm gata de transfer.

Memoriile RDRAM si DRDRAM folosesc un altfel de aloritm de transfer al datelor, pe magistrale de foarte mare viteza, dar inguste. Ele selecteaza simultan cate o linie din mai multe bank-uri de memorie si apoi o transfera cu frecventa foarte mare, pe ambele fronturi ale ceasului, cuvinte de dimensiune mica. Desi folosesc metode diferite de transfer in mod pagina, perfomantele memoriilod SDRAM si RDRAM sunt comparative.

[44]

Page 45: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

43. Organizarea si adresarea MP

MP reprezinta memoria de lucru a unui calculator, fiind considerata unitate slave pentru restul sistemului de calcul. Ea este implementata cu circuite integrate de memorie si paote fi realizata intr-o conceptie modulara. Prin modularizare, MP va contine mai multe module de memorie distincte, fiecare modul putand fi impartit in mai multe blocuri de memorie, de asemenea distincte.

Modulele de memorie pot avea capacitati de memorare diferite si pot memora cuvinte de dimensiuni diferite.

Cuvintul de memorie reprezinta cea mai mica unitate de informatie, care poate fi adresata individual in memorie, prin magistrala de adrese, de catre o unitate master. Nu este necesar ca dimensiunea cuvantului de memorie sa fie egala cu dimensiunea registrelor UC. Cuvantul de memorie se alege de dimensiunea celui mai mic operand pe care UC il poate transfera cu MP. Modulele de memorie sunt astfel organizate incat pot transfera mai multe cuvinte de memorie in paralel, intr-un singur ciclu de memorie. Mecanismul de adresare al microprocesorului permite selectarea si transferul unor operanzi mai mari, pe mai multe cuvinte de memorie simultan, aflate la adrese de memorie succesive.

Operanzii formati din mai multi octeti trebuie sa fie memorati in MP, incepand de la anumite adrese, pentru a se putea face transferul tuturor octetilor simultan, intr-un singur ciclu de memorie. In acest caz, operanzii sunt aliniati in memorie. Daca operanzii au octetii memorati la adrese succesive, dar incepand de la alte adrese, transferul este mai lent si dureaza doua cicluri de memorie, iar operanzii se numesc nealiniati in memorie.

In timpul executarii programelor, pentru ca transferurile cu MP sa fie cat mai rapide, este important ca blocurile de informatii din MP sa fie aliniate. UC poate transfera cu MP un numai maxim de octeti simultan, in fiecare ciclu de memorie. La scrierea programelor trebuie rezolvata problema alinierii informatiilor in memorie.

44. Functia de adresare: definitie, proprietati

Pe cele n linii de adresa ale magistralei de adrese pot fi transmise 2n combinatii binare diferite, care pot selecta la un moment dat 2n locatii de memorie, diferite sau nu.

Spatiul adreselor fizice reprezinta multimea adreselor fizice care pot fi trimise pe magistrala de adrese.

Spatiul locatiilor de memorie reprezinta multimea locatiilor de memorie existente in sistem, care pot fi adresate prin magistrala de adrese si care apartin diferitelor circuite integrate de memorie. La proiectarea sistemului de calcul se pun in corespondenta cele doua multimi, P si M, asignandu-se fiecare locatii din M cel putin o adresa fizica din P.

Astfel se implementeaza hardware, prin intermediul circuitului de selectie a modulelor o functie fad numita functie de adresare de forma fad: P ->M.

[45]

Page 46: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Expresia functiei de adresare poate fi modificata software, sub controlul SO.Proprietati:

1. O adresa din P trebuie sa selecteze o singura locatie de memorie din M la un moment dat. Insa utilizand un mecanism de comutare a blocurilor de memorie, acceasi adresa din P poate selectam la momente de timp diferite locatii de memorie diferite.

2. fad trebuie sa fie surjectiva:∀m∈M ,∃a∈P , a . i . f ad (a )=m

3. fad poate fi sau nu injectiva: doua adrese diferite din P pot selecta sau nu o aceeasi locatie de memorie din M.

45. Harta de memorie: definire, exemple

Harta de memorie permite specificarea functiei de adresare, totala sau partiala, intr-un mod grafic condensat. Harta de memorie este o reprezentare dreptunghiulara care cuprinde pe latura verticala, spatiu liniar al adreselor fizice, iar pe latura orizontala se simbolizeaza lungimea cuvantului memorat. Adresele sunt trecute in ordine crescatoare de la baza spre varf si sunt exprimate in valoari hexazecimale. Numarul cifrelor hexa depinde de numarul liniilor de adresa pe care se face adresarea memoriei respective.

Ex. 1. dim MP = 1Mo = 220o => 20 linii de adresa => AF cu 5 cifre hexa2. dim MP = 128Mo = s27o => 27 linii de adresa dim I = dim II = dim III = dim IV = 32Mo = 225o => 25 linii de adresa

=> 2 linii de selectie modul

46. Marimea dimensiunii MP peste limita de adresare a UC comutarea blocurilor de memorie

Marimea dimensiunii MP peste limita de adresare a UC se poate face folosind mecanismul de comutare a blocurilor de memorie, intr-un acelasi spatiu de adrese fizice din P.

Acest mecanism presupune 3 pasi:1. In P se defineste o zona continua de adrese, de dimensiune fixa, notata Pc, care va fi

folosita pentru comutarea blocurilor de memorie. Spatiul de adrese ramas se va nota cu P’.

2. In M se separa o zona de locatii de memorie M’ : dim P’ = dim M’Spatiul locatiilor de memorie ramas se noteaza M”.

3. Zona M” se imparte in k blocuri de dimensiuni egale cu cona Pc, notate B1....Bk.La comutarea blocurilor nu se realizeaza niciun transfer de informatii intre locatiile de

memorie.

[46]

Page 47: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

47. Utilizarea memoriei ROM in MP

Memoria ROM este utilizata in MP cu capacitati de memorare mici. Ea contine componentele software necesare procesorului la alimentarea prima data sau dupa RESET, and memoria de lucru nu contine informatii valide. Aceste informatii sunt necesare pentru testarea si utilizarea eficienta a resurselor hardware, precum si pentru incarcarea SO.

1. Componenta POST (Power On Self-Test) este un program de autotestare executat la alimentarea prima data a calculatorului. Indeplineste succesiv mai multe sarcini:

a. Testarea tutror componentelor sistemului de calculb. Programarea circuitelor programabilec. Identificarea tuturor dispozitivelor autoconfigurabiled. Realizarea hartii de alocare a resurselor

Daca se reseteaza calculatorul prin reset software, numit si reset cald, componenta POST trece peste testul de memorie, care dureaza mai mult. Daca in timpul testarii se apasa o anumita tasta, componenta POST preda controlul programului SETUP, daca nu, la sfarsit se preda controlul urmatorului program.

2. Programul bootstrap loader incarca in MP SO de pe o unitate de memorie secundara, iar apoi preda controlul catre SO, lasandu-l in executie.

3. Programul SETUP este un program de configurare sau modificare a unor parametri ai calculatorului. El se lanseaza in executie doar la cererea utilizatorului prin apasarea unei taste particulare in timpul testarilor realizate de componenta POST.

4. Componenta BIOS (Basic Input-Output System) reprezinta un ansamblu de subrutine de accesare a resurselor calculatorului, sub forma unor drivere software.

48. Subsistemul unitatii centrale: caracterizare generala

Unitatea centrala (UC) realizeaza functia de prelucrarea a informatiilor avand insa si sarcini suplimentare de comanda si control a colerlalte subsisteme ale calculatorului. Subsistemul UC poate fi realizat cu un singur procesor central caz in care sistemul de calcul se numeste monoprocesor sau cu mai multe procesoare centrale, cu prioritati egale sau diferite realizand un sistem de calcul multiprocesor. Functia de prelucrare se refera la operatiile specifice efectuate asupra unor operanzi la comanda componentei software. Operatiile de prelucrare sunt executate separat in unitati diferite in functie de modul de reprezentare a operanzilor. Operatiile in virgula fixa sunt realizate de unitati aritmetico-logice de virgula fixa. In aceste unitati se prelucreaza operanzi numerici intregi sau date numerice. Operatiile in virgula mobila sunt executate in unitati aritmetice speciale, de virgula mobila.

Procesorul central este un sistem digital secvential, care are la baza o structura elementara de procesare, numita si procesor elementar. Din punct de vedere functional, contine doua unitati interconectate: o unitate de control si o unitate de prelucrare. Un procesor executa instructiuni, dintr-un program aflat intr-o memorie externa, intr-un interval de timp, numit ciclu instructiune.

Un ciclu instructiune presupune mai multe operatii executate succesiv de catre procesor: citirea, decodificarea si executia instructiunii. Daca operatiile unui ciclu instructiune sunt efectuate de unitati functionale separate ale procesorului, atunci un nou ciclu instructiune poate incepe inaintea terminarii celui anterior. Microprocesoarele moderne au unitati functionale, care

[47]

Page 48: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

prelucreaza in paralel pentru citirea, decodificarea si executia propriu-zisa. Din punct de vedere tehnologic un procesor poate fi realizat:

a) Cablat pe unul sau mai multe module de cablaj imprimat, realizat cu circuite intregrate bit-slice;

b) Integrat intr-un circuit numit single-cip, se numeste microprocesor.

49. Procesorul elementar: definitii, componenteProcesorul elementar (PE) este un sistem digital de ordinul 3 si se obtine prin conectarea

in bucla de reactie a doua automate finite particulare:a) Un automat de control cu memorie ROM, numit controler cu ROM, prescurtat

CROMb) O unitate aritmetico-logica cu registre pentru prelucrarea datelor de tip RALU

Procesorul elementar este conectat cu exteriorul pe 3 fluxuri de informatii:a) Un flux de intrare de instructiuni (INSTR) pe unde procesorul citeste din

exterior instructiunile, in mod secventialb) Un flux de date de intrate (DIN) care permite aducerea unor operanzi din

exterior in vederea prelucrariic) Un flux de date de iesire (DOUT) prin care se transmite in exterior rezultatul

unei opratii de prelucrare.CROM are stocat in memoria ROM setul de instructiuni al procesorului respectiv. Pentru

fiecare instructiune, in ROM se memoreaza un microprogram. CROM-ul primeste din exterior o instructiune si o executa prin rularea microprogramului corespunzator ei, trimitand comenzi catre RALU sau in exterior. De la unitatea RALU, CRAM-ul primeste indicatori pe liniile IND rezultati in urma prelucrarii, pe care ii pot testa.

Unitatea RALU realizeaza functiile de prelucrare ale procesorului. Pe liniile DIN primeste operanzi din exterior, iar pe liniile DOUT transmite rezultate in exterior.

50. Aspecte ale evolutiei microprocesoarelor.

Evolutia microprocesoarelor este conditionata de dezvoltarea tehnologiei de fabricatie, dar si de dezvoltarea celorlalte componente hardware si software. Tendintele dezvoltarii tehnologice au in vedere mai multe aspecte.

1. Marirea densitatii de integrare presupune cresterea numarului de tranzistoare pe unitatea de suprafata. Acest lucru se poate realiza prin micsorarea dimensiunii

[48]

Page 49: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

tranzistoarelor si a distantelor dintre ele. Gordon Moore a observat ca densitatea de integrare creste exponential numarul de tranzistoare dublandu-se la fiecare 18 luni

2. Cresterea frecventei interne de lucru a microprocesoarelor se poate obtine explicit prin imbunatatirea calitatii tranzistoarelor si prin micsorarea distantelor dintre ele.

3. Limitarea consumului energetic si a puterii disipate de microprocesor reprezinta un aspect tehnologic important.

4. Pastrarea compatibilitaii software cu modelele anterioare din acceasi familie de microprocesoare.

51. Clasificarea microprocesoarelor dupa dimensiunea registrelor si a magistralei de adrese

Dupa dimensiunea registrelor interne microprocesoarele pot fi:a) uP pe 8 biti: au registrele de date pe 8 biti si contin o singura unitate ALU pe 8

biti: I8080, I8085, Z80, M6800.b) uP pe 16 biti: tot cu o singura unitate de virgula fixa: I8086, I80286, Z8000,

M68000c) uP pe 32 biti: pot prelucra intr-un singur pas, operanzi pe 32 biti: I386, I486,

Pentium, M68020. Unele microprocesoare au arhitectura superscalara si contin mai multe ALU, care functioneaza in paralel cand sunt folosite anumite instructiuni.

d) uP pe 64 biti: nu beneficiaza de suport software adecvat. Itanium (Intel) pastreaza compatibilitatea cu programele pe 32 biti.

Dupa dimensiunea magistralei de adrese uP pot avea:a) magistrala de adrese pe 16 biti: dim P=216, dim MP=64 Ko.b) magistrala de adrese pe 20 biti: dim P=220, dim MP=1 Mo.c) magistrala de adrese pe 24 biti: dim P=224, dim MP=16 Mo.d) magistrala de adrese pe 32 biti: dim P=232, dim MP=4 Go.e) magistrala de adrese pe 36 biti: dim P=236, dim MP=64 Go.f) magistrala de adrese pe 44 biti: dim P=244, dim MP=16 To.

52. Clasificarea microprocesoarelor dupa frecventa de lucru si tensiunea de alimentare.

Dupa frecventa semnalului de ceas intern:1. uP care lucreaza intern cu o frecventa egala cu cea a semnalului de ceas primit din

exterioruP pe 8 b, pe 16 b, primele pe 32 bfCLK = 1,2,4,8,16,25,33,40 MHz

2. uP care lucreaza intern cu frecvente multiplicate ale semnalului de ceas externFactorul de multiplicare: x1.5, x2, x2.5, x3, ...., x10, ....fCLK = 25,33,40,50,66,100,133 MHz

[49]

Page 50: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

54. Clasificarea microprocesoarelor in functie de complexitatea setului de instructiuni

Dupa complexitatea setului de instructiuni uP pot fi:1. uP CISC (Complex Instruction Set Computer) au un set extins de instructiuni flexibile

si complexe. Caracterul frexibil al instructiunilor se poate evidentia pe mai multe planuri. Instructiunile pot transfera si prelucra mai multe tipuri de operanzi, de dimensiuni diferite, care pot fi organizati pe cuvant sau in structuri complexe. Caracterul complex arata ca, in timpul executarii instructiunii uP efectueaza mai multe operatii inlantuite, rezolvand astfel m,ai multe sarcini, printr-o singura comanda din exterior.

2. uP RISC (Reduced Instruction Set Computer) au un set redus de instructiuni simple si nu folosesc conceptul de microprogramare. Au aparut ca o alternativa la CISC, pentru cresterea performantelor programelor scrise in limbaje de nivel inalt si compilate. Setul de instructiuni contine doar instructiunile cele mai des folosite in programare. Astfel se simplifica munca de compilare si creste viteza de executie.

55. Clasificarea microprocesoarelor dupa numarul fluxurilor de instructiuni de date

Dupa numarul fluxurilor de instructiuni de date prelucrate la un moment dat de uP pot fi:1. SISD (Single-Instruction stream Single-Data stream) : prelucreaza un singur flux de

instructiuni si un singur flux de date la un moment dat.2. SIMD (Single-Instruction stream Multiple-Data stream) : prelucreaza un singur flux de

instructiuni si mai multe fluxuri de date simultan.3. MIMD (Multiple-Instruction stream Multilple-Data stream) : prelucreaza mai multe

fluxuri de instructiuni si mai multe fluxuri de date simultan.

56. Legaturile unui microprocesor cu exteriorul sau

Microprocesorul se conecteaza cu exteriorul prin intermediul pinilor circuitului integrat. Acestia au diverse semnificatii si sunt grupati functional in mai multe magistrale.

[50]

Page 51: Subiecte AC

Arhitectura Calculatoarelor – Rezumat subiecte

Magistrala de adrese, ADR, este unidirectionala, de linii de iesire, prin care uP indica adresa unitatii slave cu care lucreaza la un moment dat.

n linii de adresa => dim P=2n

Magistrala de date, DATA, este bidirectionala si pe ea uP transfera informatii cu exteriorul. Pe magistrala de date se transfera atat instructiuni cat si date. Dimensiunea magistralei de date m indica dimensiunea maxima a cuvintelor pe care le transfera uP. Magistrala de comenzi si stari este bidirectionala pe linii separate, prin care uP dialogheaza cu exteriorul sau. Microprocesorul mai contine o serie de pini necesari functionarii normale: pini de alimentare, pini pentru semnalul de ceas, semnalul de REST.

57. Moduri de dialog ale unui microprocesor cu exteriorul

1. Dialogul master-slave este un dialog initiat de catre uP prin generarea catre unitatea slave a unei comenzi pentru efectuarea unui transfer pe magistrala de date. Comenzile identifica tipul de unitate slave, precum si sensul de transfer. Simultan pe magistrala de adrese uP trimite adresa unitatii pe care doreste sa o selecteze. Daca unitatea slave este suficient de rapida pentru a incheia transferul in timpul unui ciclu masina al uP controlerul unitatii activeaza un semnal de raspuns, READY, indicand ca este gata efectuarea transferului, iar ciclul masina se incheie. Daca unitatea este mai lenta, controlerul ei va inactiva semnalul READY, indicand uP-ului ca ciclul masina trebuie prelungit. uP prelungeste ciclul masina cu un numar intreg de stari de ceas si testeaza in permanenta semnalul READY. Cand semnalul devine activ, ciclul masina se incheie.

2. Dialogul slave-master este un dialog initiat de o unitate slave de tip port I/O, prin generarea unei cereri de tratare a ei de catre uP. Daca accepta aceasta cerere, el isi va intrerupe temporar executia programului, initiind o procedura specifica pentru tratarea cererii respective. Deoarece proceduta este initiata prin intreruperea programului, aceasta se numeste cerere de intrerupere. Cand uP accepta aceasta intrerupere, el va raspunde cu un semnal specific de asteptare a cererii de intrerupere, care va ajunge simultan la toate unitatile slave. Unitatea slave care a generat cererea de intrerupere are prioritatea cea mai mare, va furniza uP-ului pe magistrala de date o informatie, necesara initierii procedurii de testare a intreruperii.

3. Dialogul master-master are loc atunci cand in sistem exista mai multe unitati master care partajeaza resurse comune. Dialogul este initiat de o alta unitate master, care activeaza o cerere de magistrala catre uP, semnificand faptul ca doreste sa ocupe magistralele sistemului pentru a lucra cu resursele acestuia. Aceasta cerere nu poate fi refuzata de catre uP, dar poate fi intarziata pana la terminarea instructiunii curente, daca aceasta este marcata de catre utilizator ca o instructiune ce nu poate fi intrerupta. Cand uP accepta cererea isi trece propriile magistrale in HZ si raspunde cu semnal specific de acceptare a cererii de magistrale. Unitatea master apelanta, dupa ce a primit acceptul, ocupa magistrala sistemului tinand activa cererea de magistrala pana la terminarea lucrului cu unitatea slave dorita. Apoi isi trece propriile magistrale in HZ si inactiveaza cererea de magistrala, moment in care uP ocupa din nou magistralele sistemului.

[51]