Sunteți pe pagina 1din 34

1.

Programarea calculatoarelor numerice


Pentru rezolvarea unei probleme cu ajutorul calculatorului este necesara descrierea acesteia printr-o succesiune de operatii, care formeaza algoritmul de rezolvare. Descrierea se poate realize initial in limbaj natural, transpunandu-se ulterior intr-un limbaj artificial, numit limbaj de programare. Limbajul de programare reprezinta un set de instructiuni impreuna cu regulile de organizare ale acestora intr-un program. Totalitatea simbolurilor si cuvintelor utilizate in limbajul respesctiv formeaza vocabularul limbajului. Totalitatea regulilor de scriere ale instructiunilor reprezinta sintaxa limbajului, iar totalitatea regulilor prin care se asociaza o semnificatie instructiunilor reprezinta semantica limbajului. Calculatorul poate executa numai instructiuni exprimate intern, sub forma unor siruri de cifre binare. Programele in care instructiunile sunt scrise sub aceasta forma se numesc programe in limbaj-masina. Limbajul-masina este caracteristic fiecarui tip de calculator, insa scrierea si introducerea programelor sub aceasta forma este dificila. Pentru simplificare, au fost create limbaje in care fiecarui cod de instructiune i s-a atasat un nume mnemonic. Acest mod de reprezentare a instructiunilor-masina se numeste limbaj de asamblare. Acest limbaj permite utilizatorului sa realizeze codificari simbolice ale instructiunilor si adreselor de memorie. Pentru a se executa un program in limbaj de asamblare, acesta trebuie in prealabil translatat in limbaj-masina printr-un proces numit asamblare. Programul care se translateaza se numeste program-sursa, iar rezultatul translatarii program-obiect. peratia va fi executata de catre un program numit asamblor. instructiune in limbaj de asamblare corespunde unei instructiuni in limbajmasina, deosebirea dintre ele constand numai in modul de reprezentare. Deci, fiecare instructiune in limbaj de asamblare este translatata intr-o singura instructiune in limbaj-masina. !n limbaj de asamblare este specific unui calculator, astfel incat trebuie sa se cunoasca instructiunile si organizarea interna a acelui calculator. Din acest motiv, s-au elaborat limbaje pentru programare care se pot executa pe orice calculator. Acestea sunt limbaje orientate pe probleme sau limbaje de nivel inalt, spre deosebire de limbajele de asamblare, care sunt limbaje orientate pe calculator sau limbaje de nivel scazut. !nei instructiuni intr-un limbaj de nivel inalt ii corespunde o succesiune de instructiuni in limbaj-masina. Translatarea in limbajul-masina se poate realiza cu ajutorul unui compilator, care genereaza din programul-sursa un program executabil, acesta fiind executat dupa ce intregul program a fost compilat. alta posibilitate este utilizarea unui interpretor, care translateaza fiecare instructiune din limbajul de nivel inalt intr-o succesiune de instructiuni-masina, acestea fiind executate imediat. "n acest caz, nu se genereaza un program executabil. #iteza de executie este insa redusa, deoarece fiecare instructiune trebuie interpretata c$iar daca ea e executata in mod repetat.

2. Modelul unui calculator numeric


!n model posibil al unui calculator numeric modern reprezinta o ierar$ie de masini virtuale pe mai multe nivele% &iv. '- &iv aplicatiilor (Translatare% compilator, interpretor) &iv. *- &iv limbajului de nivel inalt (Translatare% compilator, interpretor) &iv. +- &iv limbajului de asmblare (Translatare% asamblor) &iv. ,- &iv sistemului de operare ("nterpretare% sistem de operare) &iv. -- &iv masinii conventionale ("nterpretare% microprogram) &iv. .- &iv de microprogram (/icroprg. executabil direct prin $ard0are) &iv. 1- &iv logicii digitale &iv 1 - nivelul logicii digitale reprezentat de componentele $ard0are. 2lementele de baza ale acestor circuite aflate la acest nivel sunt portile logice, fiecare fiind formata, la randul ei dintr-un numar de tranzistoare. poarta logica are una sau mai multe intrari digitale (semnale de 1 logic sau . logic) si are ca iesire o functie simpla a acestor intrari, de exemplu 3" logic, 3A! logic. &iv . - nivelul de microprogram, interpreteaza instructiunile nivelului -, pentru fiecare instructiune a acestui nivel existand cate un microprogram. 4iecare defineste in mod implicit un limbaj de nivel - si o masina virtuala. De obicei exista multe similaritati intre masinile virtuale de nivel -, c$iar si in cazul calculatoarelor diferitilor producatori. Acest nivel se numeste nivelul masinii conventionale. Atunci cand se descrie setul de instructiuni al unui calculator se descrie de fapt masina virtuala de nivel - si nu masina reala de nivel .. &iv , - nivel $ibrid, multe din instructiunile limbajului sau sunt prezente in cadrul instructiunilor de nivel -, exista in plus un set de noi instructiuni, o organizare diferita a memoriei, posibilitatea de executie a mai multor programe in paralel si mai multe facilitati. &oile facilitati la nivelul , sunt realizate cu ajutorul unui interpretor, numit sistem de operare, iar instructiunile identice cu cele de nivel - sunt executate direct prin microprogram. - !n sistem de operare reprezinta un ansamblu de programe care asigura exploatarea optima a resurselor $ard0are si soft0are ale unui sistem de calcul. 3istemele de operare au fost create pentru simplificarea activitatii de programare, utilizarea optima a posibilitatii de lucru a ec$ipamentelor si reducerea interventiei utilizatorilor in cursul executiei programului. &iv + - programele scrise in limbaj de asamblare sunt translatate in limbajul nivelelor .,-,, si apoi interpretate de catre masina virtuala. &iv * - consta din limbajele destinate programatorilor de aplicatie, fiind numit nivelul limbajelor de nivel inalt . Programele scrise in aceste limbaje.

3. Structura masinii fizice


"n 1945 5o$n von &e0mann a realizat structura logica a calculatorului cu program memorat. /ajoritatea calculatoarelor utilizeaza si astazi aceasta structura. "deea de baza a calculatorului cu program memorat este ca atat instructiunile, cat si datele sunt pastrate in aceeasi memorie. Datele sunt cele asupra carora se efectueaza prelucrari. "nstructiunile sunt interpretate ca si coduri pentru generarea semnalelor de control necesare functionarii calculatorului. Componentele principale ale masinii fizice sunt% CPU/UCP - unitatea centrala de prelucrare executa prelucrarea datelor si controleaza finctionarea calculatorului (procesorul)6 UM - unitatea de memorie (memoria interna - principala) pastreaza datele si instructiunile6 UI/I - unitatea de intrare-iesire efectueaza transferul datelor intre calculator si mediul exterior6 Intercone iunile permit comunicatia intre !CP, !/ si !"726 1. UCP/CPU - componenta cea mai complexa a calculatorului. Componetele sale principale sunt% !AL (realizeaza prelucrarile asupra datelor), 8egistrele (reprezinta o memorie interna a !CP-ului), !CC (controleaza functionarea !CP-ului, deci a calculatorului), /agistrala (comunicarea intre !AL, 8egistre si !CC). U!" - implementeaza diferite operatii aritmetice si logice asupra operanzilor obtinuti din memorie. Contine, in principal, un circuit de adunare, numit sumator, toate operatiile aritmetice reducandu-se la o succesiune de operatii de adunare. !AL furnizeaza informatii referitoare la rezultatul ultimei instructiuni aritmetice sau logice efectuate, aceste informatii privesc pastrarea rezultatului, semnul rezultatului, cazurile in care a aparut un transport sau un imprumut in urma efectuarii instructiunilor. peratiile efectuate de !AL pot fi% transferul de date intre registre sau intre acestea si memorie6 operatii aritmetice6 operatii logice (si7sau7nu)6 operatii de deplasare a continutului unui registru (locatie de memorie)6 operatii de comparare a doi operanzi6 #egistre - setul de registre din cadrul !CP pastreaza temporar operanzii unei operatii aritmetice sau logice, rezultatele intermediare si finale sau adresele acestora. !tilizarea acestora creste viteza de prelucrare a datelor, eliminand necesiatea accesului repetat la memorie. UCC - coordoneaza activitatea calculatorului 9 extrage instructiuni ale programului din memorie, le decodifica (interpreteaza) si genereaza secventa de

semnale necesare executiei. Pe parcursul executiei unei instructiuni !CC primeste informatii de la !AL, numite informatii de stare, in functie de care selecteaza una dintre alternativele de continuare a operatiei. La terminarea executiei se trece la instructiunea urmatoare, adresa acestei instructiuni este pastrata intr-un registru, numit registru contor de program sau numarator de instructiuni. 2. UM $unitatea de memorie% - memoria reprezinta sursa7destinatia tuturor informatiilor. "n memorie sunt incarcate informatiile initiale (date si instructiuni) prin intermediul dispozitivelor de intrare, si de la memorie sunt preluate rezultatele prin intermediul dispozitivelor de iesire. /emoria este organizata ca o colectie de locatii de memorie, fiecarei locatii i se asociaza o adresa, prin intermediul careia poate fi selectata locatia respectiva. Adresarea se realizeaza prin intermediul unor linii de adresa, numarul acestora determinand capacitatea maxima adresabila a memoriei. locatie de memorie se caracterizeaza prin% adresa (pozitia locatiei in cadrul memoriei) si continut (contine valoarea memorata in aceasta locatie). Cantitatea de informatie care poate fi memorata intr-o locatie adresabila individual, exprimata ca numere de cifre binare (biti) reprezinta lungimea cuvantului de memorie. De obicei, memoria este organizata pe cuvinte de .', ,-, '+, .-: de biti, iar unitatea direct adresabila fiind octetul. /emoria trebuie sa aiba o capacitate cat mai mare si o viteza cat mai mare, ceea ce conduce la un timp de acces cat mai scazut. #iteza este direct proportionala cu costul memoriei. De aceea, majoritatea calculatoarelor au doua tipuri de memorie care lucreaza pe principii diferite% o memorie interna, rapida (memoria principala, comunica direct cu !CC, are un cost per bit mai ridicat) si o memorie externa (mai lenta, cu un cost per bit mai scazut, dar cu o capacitate mult mai mare). peratiile care se executa cu memoria sunt doua% citirea din memorie si scrierea in memorie. 3. UI/I $unitatea de intrare&iesire% - asigura comunicatia dintre calculator si mediul exterior. Transmiterea informatiilor de pe suporturile externe in memorie si inregistrarea pe asemena suporturi sunt efectuate de catre ec$ipamantele periferice6 acestea sunt conectate la calculator prin intermediul unor interfete "7", existente in cadrul unor unitati de "7" care indeplinesc doua functii% Conversia de date (este necesara deoarece informatia este reprezentata diferit si pe medii diferite, fiind necesara compatibilizarea componentelor respective) si functia de memorie-tampon (necesara deoarece viteza de lucru a calculatorului este cu cateva ordine de marime mai mare decat cea a dispozitivelor externe6 are rolul de a sincroniza cele doua dispozitive) 4. Intercone iunile - interconctarea unitatilor componente ale calculatorului se realizeaza prin una sau mai multe magistrale. magistrala este formata dintr-un grup de linii destinate transferului paralel al informatiilor de la una sau mai multe surse la una sau mai multe destinatii. &umarul liniilor este egal cu lungimea cuvantului transferat. /agistralele pot fi unidirectionale sau

bidirectionale. "n functie de semnalele ve$iculate magistralele pot fi% de adrese, de date, de control.

4. Memoria sistemului de calcul. Parametrii caracteristici ai unitatii de memorie


Pentru a se realiza prelucrarea automata a datelor sunt necesare resurse de tip $ard0are si soft0are. "n sens informatic notiunea de resurse este reprezentata de totalitatea componentelor solicitate de un program in vederea executiei lor. "n acest sens, memoria reprezinta principala resursa $ard0are a unui sistem de calcul ea fiind un dispozitiv utilizat pentru inmagazinarea si pastrarea datelor si instructiunilor unui program, a operanzilor, rezultatelor initiale si intermediare, a informatiilor precum si a altor date necesare derularii corecte a executiei unui program. Parametrii' Ca(acitatea - care reprezinta numarul de biti pe care il poate inmagazina memoria. Acest parametru se exprima in /;, <;, T;. )im(ul de acces - reprezinta diferenta dintre momentul solicitarii unei informatii si momentul obtinerii ei. (=t9t--t., unde =t-timpul de acces, t-momentul obtinerii informatiei solicitate, t.-momentul solicitarii informatiei necesare). Modul de organizare si de adresare - din acest punct de vedere memoria interna include doua modele% Memoria interna* (rinci(ala (pastreaza datele si programele in cursul executiei, rezultatele intermediare si finale ce urmeaza a fi extrase din sistem, avand o capacitate redusa, insa un timp de acces foarte mic). Memoria e terna* au iliara (pastreaza datele, informatiile si programele pe suporti externi in vederea unor prelucrari ulterioare. Are o capacitate de stocare, teoretic, nelimitata, singura limita impusa fiind aceea dictata de numarul suportilor externi disponibili la un moment dat, insa are un timp de acces relativ mare fata de memoria interna). +.(.d.,. al accesului, memoria poate fi% Memorie cu acces direct sau aleator (aceasta este caracterizata prin timp de acces relativ identic localizarii oricarei adrese de memorie). Memorie cu acces sec,ential sau (ozitional (la care timpul de acces necesar localizarii unei adrese este determinat de o serie de deplasari relative fata de adresa de inceput). )e-nicile de introducere* e tragere a datelor si informatiilor pot fi de doua feluri% Seriale (operatiile de introducere7extragere se executa in succesiunea aparitiei lor), Paralele (transferul datelor se face in blocuri de o anumita dimensiune, in functie de capacitatea maxima adresabila a memoriei interne). .iteza de o(erare - reprezinta numarul de biti care se transfera in7din memorie intr-o unitate de timp.

#ealizarea modulara - reprezinta posibilitatea divizarii memoriei in module de o anumita dimensiune si eventual extinderea acesteia prin adaugarea altor module in functie de configuratie.

5. Memoria interna
/emoria interna este acea componenta a sistemului de calcul care are rolul de a stoca instructiunile si datele de prelucrare, rezultatele intermediare si7sau finae ale programelor care se afla in executie la un moment dat. Datele necesare programului aflat in executie trebuie sa se gaseasca in memoria interna, de unde puse la dispozitia !CP (unitatii centrale de prelucrare) intr-un timp minim. Timpul de acces al memoriei interne trebuie sa fie mai mic sau egal cu timpul necesar !CP pentru a executa o instructiune. peratiile care se executa la nivelul memoriei sunt% operatia de citire (reprezinta operatia de extragere a informatiilor din memorie) si operatia de scriere (reprezinta operatia de stocare7inmagazinare a datelor in memorie). 3pecificarea adresei asociate permite localizarea unei date sau informatii in memorie, adresa este introdusa intr-un registru de adresa care are o capacitate de n /iti, acesta putand identifica cu ajutorul decodificatorului 2n locatii de memorie. 0(eratiile de citire/scriere se realizeaza astfel, dupa localizarea adresei% daca semnalul este de comanda scriere, datele continute in registrul de date se transfera in memorie la adresa determinata anterior6 daca semnalul emis este de comanda citire datele plasate la adresa indicata in registrul de adrese sunt aduse in registrul de date, iar de aici sunt transferate catre alte dispozitive periferice. Ciclul de memorie reprezinta intervalul de timp necesar unei referiri la memorie cu specificarea faptului ca pe parcursul lui continutul acesteia ramane nemodificat. Pentru realizarea functionalitatior dispozitivelor fizice care alcatuiesc memoria interna a calculatoarelor acestea trebuie sa indeplineasca urmatoarele cerinte% existenta a doua stari stabile pentru memorarea datelor in forma binara6 volum redus6 caracteristica pret7/; sa aiba o valoare cat mai mica6 timp de acces cat mai mic6 realizarea modulara cu posibilitati de extindere. "n prezent, memoriile sunt realizate cu circuite integrate al caror timp de acces este de oridinul nanosecundelor, fiind relativ identic cu cel al !CP. Acest tip de memorie este construit din circuite ce sunt asezate la nivelul unei pastile de siliciu (cip) asigurandu-se astfel o mare densitate a componentelor pe unitatea de volum. Celulele binare sunt asezate in matrici de : linii si : coloane, incarcarea lor se face prin trimiterea de curent electric pe firele conductoare ale liniilor si coloanelor care realizeaza selectarea celulelor binare. "n punctele in care firele incarcate din punct de vedere electric se intersecteaza, celulele binare sunt pozitionate pe valoarea binara ., iar celelalte raman pozitionate pe valoarea binara 1.

/emoria interna este de doua feluri% memorie #0M (8ead memorie #!M (8andom Acces /emor>).

nl> /emor>) si

1. Memoria #0M
/emoria de tip 8 / se mai numeste si memorie permanenta, fiind realizata din cipuri al caror continut nu se pierde in absenta curentului electric. "nformatiile stocate in aceste memorii sunt destinate numai citirii, deci nu pot fi modificate sau sterse (prin mijloace obisnuite). "n general, sunt utilizate pentru stocarea instructiunilor necesare unui calculator la punerea sa in functiune. /emoriile de tip 8 / au un continut fix, stabilit in constructie, iar datorita faptului ca operatia de citire este nedistructiva, determina obtinerea unor timpi de acces foarte mici, aceasta fiind caracteristica principala a acestor tipuri de memorie. /emoria 8 / este, in general, utilizata pentru a stoca 2I0S-ul (;asic "nput utput 3>stem) unui PC. "n practica, o data cu evolutia calculatoarelor acest tip de memorie a suferit o serie de modificari care au avut ca rezultat rescrierea7 arderea ?flas-? de catre utilizator a ;" 3-ului. 3copul, evident, este de a actualiza functiile ;" 3-ului pentru adaptarea noilor cerinte si c$iar realizari $ard0are ori c$iar pentru a repara unele imperfectiuni de functionare. 2I0S-ul este un program de marime mica (@ -/;) fara de care computerul nu poate functiona, acesta reprezentand interfata intre componetele din sistem si sistemul de operare instalat (3 ). Cele mai utilzate tipuri de memorie 8 / sunt% P#0M (Programmable 8ead nl> /emor>) - ce nu contin nici o informatie si pot fi programate o data, apoi permit numai operatii de citire. Aceste cipuri sunt utilizate de catre producatorii de calculatoare. 3P#0M (2rasable Programmable 8ead nl> /emor>) - sunt memorii P8 / ce permit stergerea informatiilor cu ajutorul razelor ultraviolete si reprogramarea. 33P#0M (2lectrical 2rasable Programmable 8ead nl> /emor>) sunt memorii P8 / ce pot fi sterse cu un flux puternic de electricitate, apoi pot fi reprogramate. !n tip recent de 22P8 / este memoria flas-. Diferita de 2P8 /, care se poate strege prin expunerea la raze ultraviolete si de 22P8 /, care nu poate fi sters la nivel de octeti, memoria flas$ poate fi stearsa si rescrisa la nivel de bloc. Ca si 22P8 /, memoria flas$ poate fi stearsa fara sa fie scoasa din circuit.

4. Memoria #!M
2ste memoria interna care stoc$eaza datele si programele pentru prelucrarea imediata. Caracteristici% accesul direct6 sunt realizate in module 9 realizare modulara, de o anumita dimensiune, prezentandu-se sub forma unor memorii integrate, intr-o te$nica generala de tip / 36 permit citirea si scrierea datelor in mod direct, in si din orice cuvant de memorie6 sunt memorii volatile, neremanente (la pierderea curentului electric se sterg) Poate fi de doua tipuri% 1. Memorie #!M Statica 5 S&#!M. Are calitatea de a pastra in mod static datele inscrise pe durata alimentarii cu electricitate. Acest tip de memorie utilizeaza in structura sa 4 tranzistoare si 2 rezistente. Comutarea starilor 17. se realizeaza prin comutarea starii tranzistoarelor. La citirea unei celule de memorie informatia nu se pierde. 2. Memorie #!M +inamica 5 +&#!M . Continutul volatil al acestor tipuri de memorie este conservat cu ajutorul mecanismului de reimprospatare, care reprezinta operatia de citire periodica a datelor din memorie, si rescrierea lor in aceleasi cuvinte de memorie, cu ajutorul unui dispozitiv suplimentar de detectare a paritatii. Celula de memorie D-8A/ are ca principiu constructiv un tranzistor si un condensator. 3c$imbarea starii 17. se realizeaza prin incarcarea7 descarcarea condensatorului. La fiecare citire a celulei condensatorul se descarca, aceasta metoda ce citire a memoriei este denumita citire distructiva. Din aceasta cauza, celula de memorie trebuie sa fie reimprospatata la fiecare citire. Timpul de reimprospatare al memoriei este o procedura obligatorie si are loc la fiecare '+ milisecunde. 8eimprospatarea memoriei este o consecinta a principiului de functionare al condensatorilor. Acestia colecteaza electroni care se afla in miscare la aplicarea unei tensiuni electrice. "nsa, dupa o anumita perioada de timp, energia declansata scade in intensitate datorita pierderilor in dielectric. Aceste probleme au condus la cresterea timpului de asteptare pentru folosirea memoriei. 3e disting doua tipuri de D-8A/% asincron si sincron. rice calculator este alcatuit din mai multe circuite electronice care trebuie sa se sincronizeze intre ele pentru ca transferurile si procesarile de date sa

functioneze corect. Aceasta sincronizare se face cu ajutorul unui circuit de tip ceas. Acesta genereaza semnale cu frecventa constanta, numita frecventa de ceas, fata de care se sincronizeaza majoritatea proceselor din sistem. Cele mai vec$i memorii +&#!M au fost asincrone - operatiile de citire7scriere nu erau sincronizate cu frecventa de ceas a sistemului. /emoriile asincrone au fost% 3+0 $3 tended +ata 0ut% 23+0 $2urst 3 tended +ata 0ut% /emorii +&#!M sincrone 3-D8A/ (3>nc$ronus D>namic 8andom Acces /emor>) au introdus o caracteristica a memoriilor - functionarea relativa la viteza magistralei sistemului. Din cauza functionarii sincrone cu frecventa ce ceas, o memorie 3-D8A/ trebuie sa fie suficient de rapida ca sa poata comunica bine pe sistem ;!3. Primele memorii sincrone au fost concepute pentru magistrale lente '' /Az. "nsa, intre timp, performantele s-au imbunatatit pentru .11, .,, /Az pentru magistrale. Crestrea vitezelor pe magistrale a impus dezvoltarea de noi tipuri de memorie, mai rapide6 astfel apare te$nologia DD8 3D8A/ (Double Data 3D8A/) care dubleaza viteza transferurilor de date prin folosirea eficienta a cipilor-masina, transferurile fiind declansate atat pe panta ascendenta, cat si pe cea descendenta a sistemului de ceas. "n -11, apare DD8- 3D8A/. "n -11B apare DD8, 3D8A/. Alte doua te$nologii avansate au preluat principiul de declansare al transferurilor pe ambele pante ale cicilului de ceas, introdusa de te$nologia ++# S+#!M% S" +#!M (3>nc$ronus LinC D8A/) - functiona pe o magistrala de '+ de biti, la o frecventa de minim -11 /Az, teoretic atingand o viteza de ,,- <; pe secunda. +# +#!M (Direct 8ambus D8A/) - folosite la console jocuri .,' <; pe secunda. D.p.d.v. al formei si al structurii fizice, memoriile pot fi implementate sub forma de module, si anume astfel% SIMM 3+0 +#!M (3ingle "nline /emor> /odule)6 +IMM S+#!M (Double "nline /emor> /odule)6 +IMM ++#/#IMM (8ambus /emor> /odule DD8).

6. Memoria Cac-e

2ste un mecanism de stocare de mare viteza. Acest tip de memorie vine sa suplineasca viteza unica de raspuns a memoriei 8A/ fata de cerintele microprocesorului, stocand pentru un timp limitat, parti ale programelor sau datelor, cel mai des utilizate de !AL (!nitatea Aritmetico-Logica) a procesorului. /emoria Cac$e este introdusa in totalitate in procesor (la procesoarele actuale), sau pe placa de baza (la modelele anterioare). Aceasta este impartita pe mai multe nivele, in functie de ?distanta? fata de unitatea de calcul. Memoria Cac-e de ni,el 1 poate fi accesata imediat fara stadii de asteptare, deoarece lucreaza la viteza procesorului. Memoria Cac-e de ni,el 2 este, de obicei, mai mare si a cunoscut o evolutie marcanta. "nitial, ea a fost incorporata pe placa de baza si detinea o viteza mai mica. Apoi, a fost alaturata procesorului, functionand la o viteza fractionata, dar comparabila cu aceasta. "n final, ea a fost integrata in pastila de siliciu a acestuia, avand astfel o viteza egala cu !CP. Avantajul memoriei Cac$e consta in reducerea timpilor de asteptare, deci in cresterea vitezei de lucru, deoarece memoria 8A/ a sistemului este mult mai lenta decat procesorul. Memoria Cac-e de ni,el 3 inlocuieste acum memoria Cac$e de nivel -, fiind mai lenta decat procesorul, insa mai rapida decat memoria principala.

9. Memoria liniara. Ma(area memoriei liniare !r-itectura memoriei $organizare si adresare%


Caracteristica principala a ar$itecturii unui calculator este organizarea memoriei si modul in care informatia este accesata din memorie. /emoria principala este organizata ca o colectie de locatii de memorie, numerotate consecutiv, incepand de la 1. &umerele asociate locatiilor fizice reprezinta adresa fizica, iar multimea totala a adreselor fizice constituie spatiul adreselor fizice. adresa logica este o adresa utilizata intr-o instructiune de catre programator. Adresele care pot fi utilizate de un program constituie spatiul adreselor logice.

Memoria liniara
/emoria liniara reprezinta cea mai obisnuita forma de organizare a spatiului de adrese logice, si cea mai obisnuita ar$itectura pentru memorie, si anume un spatiu continuu, liniar, de adrese. Adresele pornesc de la 1 si continua, in mod liniar, fara goluri sau intreruperi, pana la limita superioara, impusa de numarul total de biti dintr-o adresa logica. Pentru o memorie cu .' linii de adresa, vom avea -.' ('**,') de adrese distincte (putem genera atatea adrese). astfel de adresa generata de un program este utilizata de partea $ard0are pentru a plasa data.

Ma(area memoriei liniare


/aparea reprezinta procesul de translatare a adreselor logice in adrese fizice. Aceasta operatie este utila in sistemele multiprogram, pentru care a fost dezvoltata maparea. 4iecare program isi are propriul spatiu de adrese logice. !nitatea de mapare suprapune spatiul adreselor logice in memoria fizica.

17. Ma(area realizata (e (agini


"n locul maparii intregului spatiu logic de adrese ca o unitate, mecanisme avansate de translatie a adresei mapeaza in pagini de dimensiune fixa ale spatiului de adrese logice, in adrese fizice. Astfel, un program de dimensiuni mari nu trebuie sa fie realocat intr-o zona continua de memorie, care poate fi greu de gasit intr-un cadru cu multiprograme, ci in mai multe sectiuni de memorie mai mici, ce sunt disponibile. 4iecare pagina poate avea asociate drepturi de acces, care indica modul de accesare a paginii. Aceste drepturi pot fi% numai citire (8)6 citire si scriere (D8)6 pot impiedica orice acces (E)

11. Memoria segmentata. Ma(area memoriei segmentate Memoria segmentata


/emoria segmentata este o alta forma de organizare logica a memoriei, motivatia acesteia reprezentand-o faptul ca programele nu sunt scrise ca o secventa liniara de instructiuni si date, si mai degraba ca secvente de cod si secvente de date. Aceste module de cod si date pot fi de diferite dimensiuni, spatiul logic de adrese este despartit in mai multe spatii liniare de adrese, fiecare avand propria ei dimensiune. 4iecare dintre aceste spatii de adrese liniare este denumit segment. 4iecare element dintr-un segment este accesat printr-o adresa cu componente% selectorul de segment (specifica adresa de inceput a segmentului)6 deplasamentul (specifica adresa relativa fata de baza segmentului a elementului sesectat). 4iecare segment poate fi asociat unui modul de date sau de program. Programul poate avea% procedura principala intr-un segment, fiecare alta procedura in propriul ei segment, si fiecare structura importanta de date in segmentul propriu. Astfel, structura adreselor logice reflecta organizarea logica a programului.

Ma(area memoriei segmentate


/aparea in acest caz este implementata printr-o tabela de segment care pastreaza descriptorul de segment pentru fiecare segment. Descriptorul se segment contine adresa de inceput a segmentului si lungimea acestuia. Componenta selectorului de segment a unei adrese logice este utilizata ca un index pentru a selecta descriptorul de segment din tabela descriptorilor de segment. Apoi, deplasamentul este adunat la adresa de inceput a segmentului, furnizata de descriptorul de segment, pentru a calcula adresa fizica a operandului referit. Deplasamentul este verificat $ard0are pentru a se asigura ca referinta nu depaseste limita segmentului.

12. Memoria e terna


Pentru a utiliza informatiile memorate in memoria externa ele trebuie aduse intai in memoria principala. Prin comparatie cu memoria interna, memoria externa se caracterizeaza prin viteza de acces mai scazuta, cost mai redus, capacitate mai mare, si are rolul de a mari spatiul de memorare al unui sistem de calcul. /emoria externa este o memorie de ar-i,are, ceea ce inseamna ca asigura stocarea datelor preluate din mediul extern pe o perioada de timp nedeterminata si in volume semnificative. 3e poate spune ca memoria de ar$ivare este cea care asigura forma de stocare suplimentara a datelor din sistemul de calcul. Tot in memoria interna sunt stocate si programele cu ajutorul carora se realizeaza prelucrarea datelor. 3e folosesc in prezent doua te$nologii de realizare a mediului de memorare pentru memorii externe% te$nologia magnetica6 te$nologia optica. 3uportii de memorare utilizati sunt% discul7banda magnetica6 discul optic. Te$nica de memorare bazata pe proprietati magnetice este asemanatoare te$nicii de realizare a inregistrarilor de sunet de pe banda magnetica. 3pre deosebire de sunet, care este un semnal analogic, informatia memorata in calculator este digitala (1 sau .). /aterialul magnetic se depune pe suprafata suportului fizic de memorare sub forma unor matrici de puncte care pot fi sau nu magnetizate. 4iecare bit de informatie reprezinta starea magnetizat7nemagnetizat a punctului respectiv. Pentru a inregistra informatia, se utilizeaza un dispozitiv numit cap de citirescriere, prin care circula un curent electric. #ariatia de curent electric in capul de citire-scriere genereaza un camp electromagnetic ce magnetizeaza stratul magnetic depus pe suportul de informatii. La citire are loc procesul invers. Campul magnetic al punctelor din stratul magnetic induce in capul de citirescriere un curent electric variabil. Acest curent furnizeaza informatia memorata in stratul magnetic. "n cazul memoriilor optice, materialul care acopera suportul fizic este ars cu un fascicol laser puternic atunci cand se scriu informatiile pe suport. Citirea informatiilor se bazeaza pe reflexia unei raze laser, reflexie care este difuza in zonele arse si puternica in zonele nearse. bservam ca la acest tip de ec$ipamante scrierea informatiilor se face cu un dispozitiv, iar citirea cu un alt dispozitiv.

13. 2anda magnetica


;anda magnetica este mediul traditional de ar$ivare. Are capacitati intre 27& 47 82. Pentru calculatoarele PC, acest ec$ipament este cunoscut sub numele de ?streamer?. La acest dispozitiv este folosita banda magnetica incasetata. Trebuie facuta deosebirea dintre banda magnetica, dispozitiv (derulator sau ec$ipament) si banda magnetica, suport de informatie (panglica acoperita cu strat magnetic).
/ecanismul (derulatorul) cuprinde% dispozitivul de antrenare, care realizeaza pozotionarea benzii in actiunile de localizare, accelerare7franare, rebobinare si deplasare cu viteza constanta6 circuitele de comanda6 dispozitive pentru realizarea sc$imbului de informatie, aceste dispozitive sunt% cap de scriere, cap de citire si cap de stregere.

Din punct de vedere al organizarii fizice a informatiei, banda magnetica este impartita transversal intr-un numar de 9 (iste sau canale. 4iecare caracter este inregistrat transversal pe banda, cate un bit pe fiecare din primele : piste, a F-a pista fiind folosita pentru a inregistra informatia redundanta aferenta bitului de paritate. "nformatia se inregistreaza pe banda, in grupe contigui de caractere, numite /locuri fizice. ;locurile fizice constituie uitatea adersabila pe banda magnetica. Accesul la o anumita adresa de pe banda este precedat de pozitionarea la inceputul blocului cu adresa solicitata. ;locurile fizice sunt separate intre ele prin zone neinregistrate, de lungime fixa, numite 8!P-uri. !n <AP este folosit ca spatiu de franare sau accelerare pentru mecanismul de antrenare la pozitionarea pe un anumit bloc. Pentru optimizarea utilizarii benzii magnetice trebuie ca raportul dintre spatiul ocupat de blocurile fizice si spatiul total de pe banda sa fie cat mai mare (lungimea <AP-urilor sa fie minima). Principala caracteristica functionala a benzii magnetice o reprezinta densitatea de inregistrare, adica numarul de octeti memorati pe unitatea de masura a lungimii benzii. Densitatea de inregistrare se masoara in octeti7inc$, unitatea de masura avand simbolul 2PI (b>te per inc$). 2locul fizic este unitatea de transfer a informatiei cu memoria interna. ;locurile contin informatie redundanta pentru realizarea controlului de paritate prin sistemul de paritate incrucisata. Acest mecanism de control permite verificarea corectitudinii transferului intre dispozitivele periferice si memoria principala. ;itii cititi intra intr-un algoritm de calcul al paritatii, iar rezultatul acestui algoritm este comparat cu informatia de paritate citita de pe suport. "n caz de coincidenta inseamna ca operatia s-a desfasurat corect, iar in caz de diferenta operatia se reia. !ccesul la informatia de pe banda magnetica este de tipul pozitional, avand in plus restrictia de secventialitate. Din acest motiv, timpul de acces la o anumita informatie nu este constant, ci depinde de distanta dintre pozitia curenta de pe banda (blocul curent) si pozitia pe banda a informatiei dorite. Parcurgerea benzii magnetice pentru localizare pe un bloc se face intotdeauna intr-un singur sens% de la primul la ultimul bloc. Principalul inconvenient pentru utilizarea benzii mgnetice este timpul de acces mai mare utilizat, datorita accesului secvential la informatie.

14. +iscul magnetic


Discurile magnetice sunt formate din una sau mai multe placi circulare, care constituie suportul pentru substanta magnetica de memoreaza informatia. Aceste placi circulare formeaza volumul de disc. "n functie de gradul de mobilitate, discurile pot fi fixe (amovibile) si mobile (movibile). Pentru a fi utilizat, un volum de disc, se monteaza pe o unitate de disc care cuprinde% mecanismul de antrenare a discului, care asigura rotirea continua a discului cu o viteza constanta6 mecanismul de sustinere si manevrare a capetelor de citire-scriere6 mecanismul de acces la informatie, care este constituit din capetele de citirescriere6 mecanismul de control al unitatii.

Pe un volum de disc, informatia se memoreaza pe fetele active, adica pe acele fete ale placilor circulare care sunt acoperite cu substanta magnetica de memorare. !n volum de disc format dintr-o singura placa circulara are doua fete active, iar la volumele cu mai multe placi se scad cele doua fete exterioare. &umarul fetelor active este o constanta constructi,a a pac$etului de discuri. 3uprafata fiecarei fete active este divizata in coroane circulare, concentrice, numite piste. Acestea reprezinta suprafetele pe care se realizeaza efectiv memorarea informatiei. Pentru accesul la informatia memorata este necesar sa existe posibilitatea de pozitionare a capetelor de citire-scriere pe fiecare pista. &umarul de piste este dat de numarul de pozitionari distincte care pot fi realizate de catre un cap de citire-scriere de-a lungul razei placii circulare. "nformatia se memoreaza in lungul unei piste a discului, existand o pozitie initiala marcata fizic. Pe fiecare pista este memorat acelasi numar de caractere, indiferent de lungimea pistei. "n cazul discurilor cu mai multe placi circulare, pentru a usura identificarea unei piste, se introduce notiunea de cilindru. !n cilindru este format din toate pistele care au aceeasi raza de pe toate fetele active ale discului. Cilindrii se numeroteaza de la exterior spre interior. &umarul de piste reprezinta a doua constanta constructi,a a discului magnetic. 4iecare pista este impartita in mai multe sectoare. Sectorul reprezinta unitatea adresabila a discului. Toate pistele unui cilindru contin acelasi numar de sectoare. Pozitionarea la inceputul sectorului se face prin rotirea volumului de disc prin fata capetelor de citirescriere. 3ectorul este unitatea de sc$imb de informatie cu memoria interna. Pe parcursul sc$imbului de informatie, discul se roteste cu aceeasi viteza prin fata capetelor de citire-scriere. &umarul de octeti care se pot memora intr-un sector al discului este fix, indiferent de pozitia sectorului pe disc. Capacitatea unui disc se obtine prin produsul dintre numarul de octeti din sector, numarul de sectoare, numarul de piste si numarul de fete active. "nformatia este organizata pe disc pe trei nivele de acces% cilindrul, pista de cilindru, sectorul de pe pista. Mecanismul
de acces la informatie este realizat de capetele de citire-scriere. Accesul la informatia memorata pe discurile magnetice se face prin pozitionarea capetelor de citire-scriere in

dreptul sectorului dorit de pe pista si cilindrul cerut, concomitent cu miscarea de rotire a volumului de disc.

15. Memorii e terne (e su(ort o(tic


!nitatile de discuri com(acte (CD-urile) functioneaza pe baza fenomenelor electro-optice, folosind o te$nologie laser. C+&#0M&uri "n ultimii ani au devenit disponibile discurile optice (ca opuse celor magnetice). 2le au o densitate de inregistrare mult mai mare decat discurile magnetice conventionale. datorita capacitatii lor enorme potential, discurile optice au facut obiectul unor cercetari intense si au parcurs scara evolutiva extrem de rapid. !n CD este pregatit cu ajutorul unui laser in infrarosu, de mare putere, care realizeaza perturbatii de 1.: microni diametru intr-un disc acoperit cu sticla. Dupa acest disc 9model9 $master) este turnata o matrita, cu denivelari in locul perforatiilor. 8asini policarbonate topite sunt injectate in aceasta matrita pentru a forma un CD cu acelasi aranjament al perturbatiilor ca si modelul de sticla. Pe urma se depune peste policarburi un start foarte subtire de aluminiu reflectorizant, acoperit de un lac protector si in final, o etic$eta. Depresiunile din substratul policarbonic se numesc ca,itati (pits), iar zonele nearse dintre cavitati se numesc soluri (lands). La redare, o dioda laser de mica intensitate trimte unde infrarosii cu lungimea de unda de 1.B: microni peste cavitati si soluri pe masura ce acestea defileaza prin dreptul ei. Laserul este proiectat pe partea policarbonata, astfel incat cavitatile apar laserului ca denivelari intr-o suprafata altfel plana. Deoarece adancimea cavitatilor este de un sfert din lungimea de unda a laserului, lumina reflectata de cavitate este defazata cu jumatate din lungimea de unda fata de lumina care se reflecta de pe suprafata inconjuratoare. "n consecinta, cele doua parti interfereaza destructiv si intorc mai putina lumina catre fotodetectorul dispozitivului de redare decat lumina intoarsa de un sol. Asa distinge dispozitivul de redare o cavitate de un sol. Cavitatile si solurile sunt scrise intr-o s(irala continua, pornind de langa perforatie si acoperind tot discul, pana la o distanta de ,- mm de margine. 3pirala descrie pe disc --.:: de cercuri (aprox '11 pe mm).

C+&uri inscri(tiona/ile $C+&#% La inceput, ec$ipamentul necesar pentru a produce un CD-8 / ?master? (sau la fel de bine un CD audio ?master?) era foarte scump. "nscriptoarele de CD-uri nu erau inca diferite de discurile magnetice, deoarece odata scrise, CD8 /-urile nu mai puteau fi sterse. "n ciuda acestei limitari, ele au servit ca mediu pentru copiile de siguranta ale discurilor mari, si de asemenea, permiteau indivizilor sau companiilor incepatoare sa-si produca propriile CD-8 /-uri de serie mica sau sa produca modele (matrite), a CD-urilor in serie mare. Aceste dispozitive sunt cunoscute sub denumirea de C+&# $C+&#ecorda/les sau CDuri inscriptibile). CD-8-urile pleaca de la discuri goale de .-1 mm din policarbonati care sunt identice cu CD-8 /-urile, cu exceptia faptului ca au un sant lat de 1.' mm pentru a g$ida laserul la scriere. 3antul are un traseu sinusoidal de 1., mm la o frecventa de exact --.1* CAz pentru a furniza o reactie continua, astfel incat viteza de rotatie sa poata fi monitorizata exact si corectata daca e nevoie. CD-8urile arata la fel cu CD-8 /-urile, doar ca sunt aurii si nu argintii. Culoarea aurie provine de la faptul ca ele au un strat reflectorizant din aur, in locul celui de aluminiu. 3pre deosebire de CD-urile argintii, care au depresiuni fizice pe ele, pe CD-uri reflectivitatea difera a cavitatilor si a solurilor trebuie sa fie simulata. Acest lucru se obtine prin adaugarea unui strat de vopsea intre policarbonat si stratul reflectorizant de aur. 3unt folosite doua tipuri de vopsea% cianina, care este verde si ftalocianaina, care este galben-portocalie. "n starea initiala, stratul de vopsea este transparent si lasa laserul sa treaca si sa se reflecte in stratul de aur. Pentru scriere, laserul CD-8 este pornit la putere mare (:-.' mD). Cand fascicolul loveste un punct de vopsea, acesta se incinge, distrugand o legatura c$imica. Aceasta sc$imbare a structurii moleculare determina aparitia unui punct intunecat. La citire (la 1.* mD), fotodetectorul sesizeaza o diferenat intre zonele intunecate in care vopseaua a fost atinsa si cele transparente in care este intacta. Aceasta diferenta este interpretata drept diferenta dintre cavitati si soluri, c$air la citirea cu un cititor obisnuit de CD-8 /-uri. C+&uri reinscri(ti/ile $C+&#:% C+&#: $C+&#e :rita/les% este o te$nologie disponibila care foloseste acelasi suport ca si CD-8. Totusi, in loc de vopselele cianina si ftalocianina, CD-8D foloseste pentru stratul reflectorizant un aliaj de argint, indium, antimoniu si teluriu. Acest aliaj are doua stari stabile% cristalin si amorf, cu reflectivitati diferite. Dispozitivele pentru CD-8D folosesc lasere cu trei puteri diferite. La putere inalta, laserul topeste aliajul, convertindu-l din starea cristalina puternic reflectorizanta la cea amorfa, cu reflectivitate scazuta, pentru a reprezenta o cavitate. La putere medie, aliajul se topeste si trece din nou in starea lui naturala cristalina, redevenind sol. La putere joasa se percepe starea materialului (pentru citire) si nu are loc nici o sc$imbare de faza.

+.+ $+igital .ersatile +is;% +.+&urile folosesc acelasi proiect ca si CD-urile, cu discuri de .-1 mm din policarbonat, cu cavitati si soluri, care sunt iluminate de o dioda laser si citite de un fotodetector. <outatile constau din utilizarea de% cavitati mai mici (1.+ microni fata de 1.: microni pentru CD-uri)6 spirala mai stransa (1.B+ microni intre piste fata de ..' microni CD-uri)6 un laser rosu (la 1.'* microni fata de 1.B: microni pentru CD-uri) Toate aceste imbunatatiri combinate au crescut capacitatea de B ori, la +.B <;. !n dispozitiv D#D functioneaza la ..+ /;7sec. (fata de .*1 G;7sec pt CDuri). D#D-urile pot avea urmatoarele formate' .. o singura fata, un singur strat (+.B <;)6 -. o singura fata, doua straturi (:.* <;)6 ,. doua fete, un singur strat (F.+ <;)6 +. doua fete, doua straturi (.B <;). Te$nologia cu doua straturi depune un strat reflectorizant la baza, acoperit de un strat semireflectorizant. "n functie de focalizarea laserului, se reflecta dintr-un strat sau din celalalt. 3tratul de dedesubt are nevoie de cavitati si soluri de dimensiuni ceva mai mari, pentru a prezenta siguranta in functionare, astfel incat capacitatea sa este diminuata fata de cea a startului superior. Discurile cu doua fete sunt obtinute prin lipirea spate in spate a doua discuri de 1.' mm cu o singura fata. Pentru a asigura o grosime standard pentru toate variantele, un disc cu o singura fata consta dintr-un disc de 1.' m lipit de un substrat neinscriptionat.

H C+&:0#M $:rite 0ne* #ead Man=% - sunt folosite pentru ar$ivare, scrierea facandu-se o singura data. Toate datele care se memoreaza trebuie sa fie disponibile in memoria interna in momentul scrierii. C+&# $#ecorda/le% - unde informatia poate fi si scrisa, folosit pentru ar$ivare, putandu-se scrie in continuare. C+&#0M&urile se realizeaza de catre producatori, informatia fiind inregistrata pe o pista unica, in spirala. Citirea se face secvential. 3unt utilizate pentru distributia de soft0are. 3e realizeaza un etalon, care este utilizat la producerea matritei cu care sunt create apoi copiile pentru distributie. Aceste CD-uri au un cost foarte scazut, reducand costul de distributie al soft0are-ului. Capacitatea uzuala a unui CD este de '*1 /;. H Capacitatea de stocare a CD-urilor este mare, datorita densitatii ridicate, ajungandu-se pana la .'111 TP" (piste7inc$). "nformatia pe suport este mult mai stabila, garantata cca .1 ani. 3uprafata fiind protejata de un strat transparent de material plastic, suportul nu este afectat astfel de umiditate, temperatura sau campuri magnetice. "ntre capul de citire si suprafata discului este o distanta de cativa mm, aprox de -111 de ori mai mare decat la ADD, de unde rezulta o protectie mai buna a capului de citire-scriere. CD-urile sunt mult mai fiabile. mare parte din spatiul CD-ului este rezervata memorarii informatiilor suplimentare pentru detectarea si corectarea erorilor. H "n consecinta, rezulta si o serie de dezavantaje ale CD-urilor% timpul de acces mai mare decat la ADD si o rata de transfer a informatiei mai mica decat la ADD.

11. Unitatea centrala. Setul de instructiuni


"ntregul proces de tratare a informatiei in cadrul unui sistem de calcul are loc conform unui algoritm de prelucrare. Acest algoritm poate fi modelat prin seturi de instrcutiuni specifice unui limbaj de programare. "ndiferent de limbajul de programare utilizat, instructiunile unui program trebuie aduse printr-un set de transformari succesive pana la nivelul unui set de comenzi elementare care pot fi executate de sistemul de calcul si care formeaza setul de instructiuni al calculatorului. Aceste instructiuni apartin unui limbaj intern numit limbajmasina care cuprinde un set restrans de instructiuni elementare, de forma unor coduri binare de lungime data. Componenta sistemului de calcul care realizeaza executarea instructiunior este UCP care trebuie sa indeplineasca urmatoarele functii % - citirea si scrierea informatiilor din si in memoria interna6 - executarea si recunoasterea instructiunilor masina6 - transmiterea de comenzi celorlalte componente ale sistemului de calcul, realizand astfel coordonarea functionarii sistenului de calcul. >ormatul instructiunilor specifica numarul de cuvinte de memorie utilizate pentru codificarea fiecarui tip de instructiune si semnificatia campurilor care formeaza instructiunea. 4ormatul folosit al instructiunilor se stabileste in faza de proiectare a masinii, atunci cand de fapt se proiecteaza setul de instructiuni masina. "n general o instructiune masina trebuie sa cuprinda doua cam(uri % - codul operatiei care trebuie executata6 - zona de adrese care trebuie sa cuprinda, la randul ei, un numar de adrese pentru operanzi, o adresa pentru rezultat si adresa instructiunii care urmeaza a se executa. Con,entii de re(rezentare a unei instructiuni % .. "nstructiunea trebuie sa cuprinda maxim - operanzi. -. Adresa urmatoarei instructiuni ce trebuie executata se citeste intotdeauna dintr-un registru specializat, numit registru contor de adrese. La executia fiecarei instructiuni, acest registru este incrementat cu lungimea instructiunii pe care a executat-o. ,. "ntr-un program incarcat in memorie, pentru a fi executat, instructiunile succesive se afla la adrese consecutive din memorie. +. Pentru realizarea unei ramificari in executia unui program, se folosesc instructiuni speciale de salt, care modifica valoarea memorata in registrul contor de adresa, incarcand in aceasta valoarea noii instructiuni la care se va face saltul. *. Adresa de destinatie a unei operatii este identica cu una din adresele sursa, caz in care operandul adresa este distrus (sters) in urma executarii instructiunii. '. Cel putin una din adresele celor doi operanzi trebuie sa fie adresa unuia din registrii !CP.

14. 3 ecutarea unei instructiuni


3ub controlul unui program si cu datele stocate in memoria interna, !CP executa fiecare instructiune in doua eta(e ca o secventa de pasi sincronizati in timp. >unctiile (rinci(ale executate de UCP sunt % .. extragerea de instructiuni (!CP trebuie sa citeasca instructiunile din memorie si sa le incarce in !CC). -. interpretarea instructiunii (fiecare instructiune trebuie decodificata pentru a determina operatia care trebuie executata). ,. citire date (pentru executarea unor instructiuni este necesara citirea datelor din memorie sau de la dispozitivele de intrare). +. prelucrarea datelor (executia unei instructiuni poate necesita executia unor operatii aritmetice sau logice asupra datelor). *. scrierea datelor (rezultatele executiei trebuie depuse in memorie sau transmise dispozitivelor de iesire) "n etapa de interpretare a instructiunilor se transfera adresa instructiunii de executat din registrul contor de adresa in registrul de adresa al memoriei. De aici, se transfera in registrul de instructiuni instructiunea citita din memorie. "n etapa de executare a instructiunii, se executa un set de comenzi succesive, corespunzatoare codului operatiei, descrise in instructiunea care se executa.

16. Structura unei instructiuni&masina


Codul o(eratiei reprezinta ceea ce trebuie sa execute instructiunea respectiva iar acest cod trebuie sa se regaseasca in setul de coduri admise de !CP. ?ona o(eranzilor trebuie sa contina% modul de adresare6 adresele operanzilor. Modul de adresare al unui operand defineste algoritmul de localizare in memorie al operandului. 2xista mai multe moduri de adresare % .. !dresarea este imediata atunci cand in instructiune se specifica valoarea operandului si nu adresa lui. -. !dresarea (rin registrii este atunci cand in zona de adresa se specifica un registru de memorie. "n acest caz, este necesar ca registrul respectiv sa fie incarcat cu valoarea dorita, acest mod de adresare are ca avantaj un numar redus de biti, adica o lungime redusa a intructiunii, deoarece sunt putini registri in care se pot gasi operanzi. Alt avantaj I accesul imediat la operand. Ca dezavantaj are loc un sc$imb permanent intre memorie si registri, orice operatie executandu-se prin ce putin instructiuni-masina. ,. !dresarea (rin locatii de memorie este atunci cand informatia folosita pentru calcului adresei operandului se preia din memorie. Acest mod de adresare necesita un algoritm de calcul pentru localizarea operandului in memorie. Din punct de vedere al algortimului de calcul, avem % ,.a. Adresare directa (informatia din instructiune reprezinta c$iar locatia unde se memoreaza operandul) ,.b. Adresare indirecta (informatia din instructiune reprezinta adresa adresei operandului, necesita un calcul suplimentar pentru aflarea operandului) ,.c. Adresare indexata (valoarea din instructiune se aduna algebric cu valoarea unui registru pentru a determina adresa operandului)

19. )i(uri de instructiuni&masina


+u(a o(eratia (e care o genereaza avem% instructiuni de transfer de date intre memorie, registrii sau stiva6 instructiuni aritmetice (operatii elementare, operatii logice si de deplasare care lucreaza la nivel de biti si sunt folosite pentru determinarea bitilor de control din cuvintele de stare sau pentru realizarea rapida a operatiilor aritmetice)6 instructiuni de comparatie si de salt I genereaza continuitatea executiei programului de la o alta adresa decat cea imediat urmatoare6 instructiuni de repetare I folosite pentru executia repetata a unei secvente de instructiuni6 instructiuni de apel de procedura I in care pentru executia unei instructiuni dintr-o procedura, se memoreaza pe stiva adresa de revenire utilizata dupa executia procedurii apelate instructiuni de intrare7iesire I folosite pt transferul de date pt dispozitivele periferice. +u(a modul de re(rezentare al operanzilor, instructiunile se impart in% instructiuni in virgula fixa6 instructiuni in virgula mobila6 instructiuni zecimale6 instructiuni pe siruri de caractere6 instructiuni matriciale6 instructiuni care opereaza astrupa structurilor de date tabelare. +u(a forma* structura si lungimea instructiunii avem % instructiuni in format fix (instructiunile au aceeasi lungime si implica o structura simpla a procesorului, dar o utilizare ineficienta a memoriei)6 instructiuni in format variabil (lungimea depinde de tipul operanzilor, de numarul de operanzi si de modul de adresare). +u(a modul de adresare al operanzilor avem% instructiuni cu o adresa6 cu doua adrese6 fara nici o adresa.

27. Structura (rocesorului 261


Ar$itectura interna a microprocesorului -:' consta in (atru unitati functionale care lucreaza in paralel si realizeaza executia instructiunilor ca pe o banda de asamblare. 4unctionarea procesorului se poate rezuma in principiu la o succesiune de operatii care se executa in mod repetat% .. Citeste instructiunea - pe durata acestui ciclu se transmite adresa instructiunii de executat si se aduce din memorie instructiunea in CP! (ciclul >etc-)6 2. +ecodifica instructiunea@ ,. )ransmite adresa si citeste un operand din memorie, daca se specifica in instructiune (ciclul #ead)6 +. 3 ecuta intructiunea (ciclul 3 ecution)6 *. Transmite adresa si scrie rezultatul in memorie, daca instructiunea o cere (ciclul :rite). Cele (atru unitati functionale ale procesorului -:' sunt% .. Unitatea de !dresare $!U5!dress Unit% - determina adresa fizica si contine un sumator de deplasament (offset) care determina deplasamentul in functie de modul de adresare si un sumator de adrese fizice care determina adresa fizica, ca suma intre adresa de segment si de offset. De asemenea unitatea mai realizeaza si diferite verificari % verifica limita si dimensiunea unui segment si furnizeaza adresa de baza a segmentului. -. Unitatea Interfata cu Magistrala $2U52us Unit% - !nitatea de interfata cu magistrala contine circuite driver si latc$ pentru adrese, o unitate de citire anticipata a instructiunilor, interfata cu extensia de procesor, logica pentru controlul magistralei, o coada de instructiuni si realizeaza transmisia7receptia datelor. ,. Unitatea de +ecodificare Instructiuni $IU5Instruction Unit% - !nitatea de decodificare a instructiunilor preia octetii din coada de instructiuni si ii translateaza in microcod. "nstructiunile decodificate sunt puse intr-o coada, unde asteapta sa fie executate de !nitatea de 2xecutie. !nitatea lucreaza in paralel cu celelalte unitati si incepe o noua decodificare in momentul in care o locatie din coada devine libera. +. Unitatea de 3 ecutie $3U53 ecution Unit% - executa instructiunile din coada de instructiuni decodificate si comunica cu celelalte unitati. Aceasta unitate implementeaza functiile de executie ale tuturor instructiunilor , furnizeaza adrese si date spre A!, respectiv ;!, manipuleaza registrele generale si indicatorii de stare. Cand 2! este gata pentru executia unei instructiuni, citeste codul acesteia din coada de instructiuni decodificate gestionate de "! si apoi executa instructiunea.

21. Setul de registre $8enerale* segment%


!n registru este in esenta o mica memorie cu destinatie speciala. 3pre deosebire de o locatie de memorie, registrele sunt utilizate pentru memorarea de informatii asupra careia se opereaza intr-un anumit mod. Acestia sunt registrele specializate. Tot ca zone de memorie, registrele sut folosite drept zone de prelucrare a datelor de catre !AL si in transferul datelor cu memoria interna. Procesorul 261 are 15 registre* gru(ate in 4 categorii % generale, de segment, index si de baza, de stare si control. #egistre generale 3unt opt registre cu scop general % AE, ;E, CE, DE, ;P, 3P, 3", D" utilizate pentru a pastra operanzi logici si aritmetici. Patru dintre acestea pot fi utilizate fie ca registre de .' biti referite ca AE, ;E, CE, DE, fie pot fi impartite in perec$i de registre separate de cate : opti, referite astfel % AA, AL, ;A, ;L, CA, CL, DA, DL (A - $ig$, L - lo0). /ajoritatea instructiunilor utilizeaza in acelasi mod toate registrele. 2xista insa si instructiuni pentru care anumite registre generale au o anumita semnificatie. - AE si DE sunt utilizate in instructiunile de inmultire, impartire si cele de "7 cu o semnificatie prestabilita. De asemenea, registrul AL pentru operatii de translatie de cod sau in operatiile cu numere reprezentate in ;CD (binar> code decimal). - CE este utilizat drept numarator pentru operatii de deplasare, rotirem bucle soft0are, repetari $ard0are ale unor instructiuni. #egistrele segment 3unt patru registre speciale care permit selectarea in orice moment a segmentelor de memorie care sunt adresabile imediat. 8egistrul segment de cod I C3 8egistrul segment de date I D3 8egistrul extrasegment, folosit pentru suplimentarea dimensiunii segmentului de date I 23 8egistrul segment de stiva, folosit pentru localizarea stivei in memoria interna I 33 Pe langa registrele de segment, vizibile programatorului mai exista pentru fiecare registru segment si registre cac$e de descriptori de segment, care nu sunt vizibile programatorului.

22. #egistre inde si de /aza

Patru dintre registrele generale (;E, ;P I registre de baza, 3", D" I registre index) pot fi utilizate, de asemenea pentru a determina adresele de offset (deplasamet) ale operanzilor din memorie. Aceste registre pot contine de baza sau indexul pentru anumite locatii de memorie dintr-un segment. /odul de adresare determina registrul specific utilizat pentru calcularea adresei efective a operandului. 8egistrele index sunt utilizate in mod implicit pentru a referi sirurile sursa, repsctiv destinatie pentru operatiile pe siruri. 8egistrul ;P se refera implicitla segmentul de stiva curent. Tot la segmentul se stiva face referire, implicit pentru operatiile cu stiva si registrul 3P (3tacC Pointer) dar operatiile cu stiva (P!3A, P P, CALL, 82T, "&T, "82T) actuealizaeaza in mod automat registrul 3P afectand in mod corespunzator stiva (extragerea sau introducerea informatiei din stiva). "n sc$imb, registrul ;P poate fi folosit pentru acces la date din stiva fara insa a extrage datele din stiva.

23. #egistre de stare si control


#egistrele de stare si control' sunt trei registre cu scop special, care memoreaza si
controleaza anumite stari ale procesorului % "P, /3D si 4.

#egistrul IP $Instruction Pointer% contine adresa de offset pentru urmatoarea instructiune secventiala ce va fi executata. #egistrul MS: $Mac-ine Status :ord ) memoreaza starea procesorului, adica memoreaza daca a avut loc o comutare de tasC si controleaza modul de operare al procesorului. Dintre cei .' biti sunt folositi doar ultimii patru I unul trece procesorul in modul protejat iar ceilalti trei controleaza interfata cu extensia de procesor si au urmatoarea seminficatie % P2 (Protected /ode 2nable) este pozitionat pe . cand se trece in modul protejat /P (/onitor Processor extension7/at$ Present) specifica daca este prezenta in sistem extensia de procesor. 2/ (2mulate processor extension) specifica daca functiile extensisi de procesor sunt emulate prin soft0are (.) sau nu (1). T3 (TasC 30itc$ed) memoreaza daca a avut loc o comutare de tasC. #egistrul de indicatori > $>lags #egister% contine trei categorii% "ndicatorii de stare % 4 ( verflo0 4lag) I indica daca rezultatul unei operatii aritmetice depaseste domeniul de reprezentare (limita superioara sau inferioara a acestuia) 34 (3ign 4lag) - este indicatorul de semn al rezultatului unei operatii, fiind . pentru negativ si 1 pentru pozitiv. J4 (Jero 4lag) I este pozitionat pe . daca rezultatul unei operatii aritmetice este egal cu zero, altfel bitul este pozitionat pe 1. A4 (Auxiliar> Carr> 4lag) I indica daca a aparut un transport sau un imprumut in urma executiei instructiunii. P4 (Parit> 4lag) I este pozitionat pe . cand numarul de unitati din rezultat este par C4 (Carr> 4lag) I se pozitioneaza pe . daca a aparut un transport sau un imprumut din rangul cel mai semnificativ al rezultatului. "ndicatorii de control % D4 (Direction 4lag) I utilizat de instructiunile de siruri si indica directia de parcurgere a acestora. "4 ("nterrupt 4lag) I acest indicator controleaza acceptarea semnalelor de intrerupere externa. T4 (Trace 4lag) I este utilizat pentru controlul executiei instructiunilor in regim pas cu pas, in scopul depanarii programelor. "ndicatorii speciali % " PL ("nput7 utput Privilege Level) I definste dreptul de a utiliza instructiuni de intrare7iesire &T (&ested TasC) I este automat pozitionat pe . sau 1 de operatiile de comutare de tasC.

24. Sistemul de intreru(eri


Kntrerupere transferL execuMia la o nouL adresL de program. #ec$ea adresL (C3%"P) a programului Ni starea maNinii (registrul de indicatori) sunt salvate Kn stivL pentru a permite refacerea programului Kntrerupt. Ontreruperile sunt KmpLrMite Kn trei clase % Kntreruperi initiate de $ard0are I apar ca raspuns la un semnal extern si sunt clasificate ca fiind nemascabile si mascabile6 instructiunile "&T determina o intrerupere in executia programului6 exceptii de instructiune I apar cand o conditie neobisnuita, care impiedica executia ulterioara a instructiunii, este detectata in timp ce incearca sa execute o instrunctiune. Adresa returnata de o exceptie va referi intotdeauna instructiunea ce a cauzat exceptia si include orice prefix de instructiune. 4iecarei intreruperi ii este asociata o prioritate numerotata de la 1 la + % 1 I "nstructiunea "&T sau exceptie, . I "ntrerupere 3ingle 3tep, - - "ntrerupere nemascabila, , I Depasire segment extensie de procesor si + I "ntrerupere mascabila.

25. Intreru(eri e terne


"ntreruperile externe care pot fi transmise de dispozitivele externe, sunt primite de procesor pe doua linii % &/" si "&T8. Linia "&T8 este controlata de P"C (Programmable "nterrupt Controller). 8olul sau este de a accepta cereri de intreruperi de la dispozitive externe, de a determina care cerere este cea mai prioritara si de a activa linia "&T8, daca dispozitivul care a cerut intreruperea este mai prioritar decat cel curent in servire. Cand linia "&T8 devine activa, procesorul executa diferite actiuni, in functie de starea indicatorului de validare a intreruperilor ("4). ricum, nu se executa nicio actiune pana nu se termina executia instructiunii curente, pe durata careia a aparut intreruperea. "nstructiunile de activare a intreruperilor se vor lansa dupa sfarsitul instructiunii urmatoare, pentru a nu incarca excesiv stiva. cerere externa de intrerupere poate veni si pe linia &/" care e comandata pe frontul semnalului si este utilizata pentru evenimente deosebite (cadere tensiune, repornire). "ntreruperile nemascabile. &/", nu pot fi dezactivate si au prioritate fata de cele mascabile, "&T8.

21. Intreru(eri interne


"ntreruperile interne sunt evenimente sincrone si sunt raspunsuri ale procesorului la anumite evenimente detectate in timpul executiei unei instrunctiuni. "ntreruperile externe (mascabile si nemascabile) sunt evenimente asincrone. Deosebirea majora intre aceste doua tiprui de intreruperi este originea lor % o intrerupereinterna este intotdeauna reproductibila prin reexecutia programului si datelor care au cauzat intreruperea, in timp ce o intrerupere externa este in general independenta de executia curenta a tasCului. "ntreruperile interne sunt de doua tipuri % un tip de intrerupere este denumit exceptie, deoarece deoarece intreruperea apare numai daca exista o anumita conditie de eroare, care nu permite executia corespunzatoare a instructiunii. Celalalt tip de intrerupere genereaza intrerupere ori de cate ori instrunctiunea "&Tn este executata. Aceste instructiuni sunt utilizate fie in scopul de a testa rutinele utilizatorului pentru tratarea intreruperilor externe, fie in scopul de a apela rutine D 3. Pentru apelul rutinelor D 3 se utilizeaza acest mecanism si nu mecanismul de apel de procedura din doua motive % fie nu se cunosc aceste adrese, fie ele se modifica de la o versiune la alta. "ntreruperile interne au urmatoarele caracteristici % codul intreruperii este continut in instructiune sau este predefinit nu se executa cicluri de recunoastere intrerupere nu pot fi dezactivate, cu exceptia intreruperii Psingle stepQ sunt prioritare fata de cele externe.