arhitectura sistemelor de calcul

104
ARHITECTURA SISTEMELOR DE CALCUL Suport de curs - anul II, semestrul I Lect. Univ.drd. Marinela Nidelea 1

Upload: bogdan-codorean

Post on 02-Aug-2015

115 views

Category:

Documents


1 download

DESCRIPTION

I do not own any rights for this and I am not responsible for any use of it.

TRANSCRIPT

Page 1: Arhitectura Sistemelor de Calcul

ARHITECTURA SISTEMELOR DE CALCULSuport de curs - anul II, semestrul I

Lect. Univ.drd. Marinela Nidelea

1

Page 2: Arhitectura Sistemelor de Calcul

Introducere

Calculatorul sau sistemul de calcul este un dispozitiv care lucrează automat, sub controlul unui program memorat, acceptând şi prelucrând date în vederea producerii de informaţii.

Orice calculator are în esenţă trei părţi:- hardware, adică partea de echipament a calculatorului;- software, partea de programe;- firmware, partea de microprograme.

Unele lucrări de specialitete privesc arhitectura din două puncte de vedere:- din punctul de vedere al utilizatorului, arhitectura include în esenţă setul de instrucţiuni, interfeţele cu utilizatorii, modul de operare şi control al intrărilor-ieşirilor etc. Implementarea unei arhitecturi, din acest punct de veder, duce la o familie de calculatoare;- din punct de vedere tehnic sau al proiectanţilor de echipamente, termenul de arhitectură se utilizează pentru descrierea naturii, configurării şi interconectării dispozitivelor sistemelor de calcul. Aceasta este accepţiunea generală a arhitecturii sistemelor de calcul.

1. STRUCTURA UNUI SISTEM DE CALCUL

Definiţie:     Un sistem de calcul este un ansamblu de componente hardware (dispozitive) şi componente software (sistem de operare şi programe specializate)  ce oferă servicii utilizatorului pentru coordonarea şi controlul executării operaţiilor prin intermediul programelor.        Orice sistem de calcul (computer system)  pentru a realiza funcţiile sale de bază trebuie să execute următoarele operaţii:                       - introducere date (citire) - I                      - memorare date şi instructiuni (reprezentare) - M                       - prelucrare date si instrucţiuni (procesare) - P                       - ieşire date (scriere) -  O

2

Page 3: Arhitectura Sistemelor de Calcul

John Von Newman a descris primul model arhitectural pentru calculator.Din punct de vedere functional un sistem de calcul contine 7 blocuri componente redate in urmatoarea figura:

1.1 DISPOZITIVE DE INTRARE-IEŞIRE asigură comunicarea calculatorului cu mediul prin intermediul unor echipamente specializate, numite Dispozitive Periferice. Aceste dispozitive sunt:·    - dispozitive de intrare;    - dispozitive de ieşire;- dispozitive de intrare-ieşire:- memoriile externe. Dispozitivele de intrare - asigură transmiterea informaţiilor şi comenzilor către calculator prin operaţiade citire. Din această categorie fac parte: tastatura, mouse-ul, cititorul de cartele, creionul optic, stiloul electronic, scanerul, microfonul, etc. Informaţiile citite pot fi: texte, imagini, muzică, comenzi vocale, valori analogice.

3

Adrese Instructiuni si date initiale DP /I

DP/EMemorie externa

Canale I/E

MEMUCC UAL

rezultateComenzi

CD

D

Page 4: Arhitectura Sistemelor de Calcul

Indiferent de tipul informaţiei, principiul de funcţionare al unui dispozitiv de intrare este acelaşi: preia informaţia, o împarte în unităţi conform unui algoritm propriu, codifică fiecare unitate într-o secvenţă de biţi şi transmite aceşti biţi procesorului. Dispozitivele de ieşire - sunt folosite pentru a comunica utilizatorului rezultatele operaţiilor executate şi informaţii despre stare sistemului prin informaţii de scriere. Din această categorie fac parte: monitorul, imprimanta, ploterul, difuzorul. Aceste dispozitive primesc secvenţe de biţi de la procesor pe care le decodifică, astfel încât să poată fi înţelese de utilizator sub formă naturală.

1.2. CANALELE DE I/E- dirijeaza fluxul de informatii ce se transfera de la DP/ I catre DP /E.

1.3. MEMORIA INTERNA- In memoria interna sunt stocate programele si datele care sunt in lucru la un moment dat. Memoria interna este un depozit de informatie in care comenzile, semnalele, textele, numerele, imaginile, etc., sunt reprezentate in codificare binara. Pentru regasirea informatiei memoria interna a fost impartita in locatii de memorie care se identifica dupa o adresa unica.

 1.4. UNITATEA ARITMETICA-LOGICA (UAL) reprezinta ansamblul de circuite electronice prin care se realizeaza prelucrarea datelor cerute prin instructiuni sau comenzi. Prelucrarea se face prin operatii aritmetice, logice si de comparare. Fiecare circuit este specializat sa realizeze un una din operatiile de baza.

1.5. UNITATEA DE COMANDA SI CONTROL coordoneaza si controleaza intreaga activitate de prelucrare la nivelul componentelor calculatorului. Acesta (UCC) executa instructiunile unui program (memorat in memoria interna la adrese succesive) astfel:- extrage din memoria interna a calculatorului o instructiune din program;- decodifica instructiunea pentru a afla ce operatie trebuie sa execute si ce date vor fi folosite;- extrage din memoria interna datele necesare prelucrarii;- activeaza circuitele electronice corespunzatoare din UAL pentru a executa operatia cu datele solicitate;- scrie la o anumita adresa de memorie rezultatul obtinut in urma executarii operatiei solicitate. 1.6. MEMORIA EXTERNĂ este un suport electromagnetic reutilizabil, pe care informaţia se păstrează codificat sub formă binară, prin magnetizarea particulelor feromagnetice după două direcţii de magnetizare, corespunzătoare celor două cifre binare.

UCC impreuna cu UAL alcatuiesc UNITATEA CENTRALA DE PRELUCRARE (UCP) sau procesorul central. Daca la UCP se include si memoria aceasta constituie UNITATEA CENTRALA (UC).

4

Page 5: Arhitectura Sistemelor de Calcul

Unitatea de comandă asigură controlul execuţiei instrucţiunilor unui program şi conţine două registre importante:a) registru de instrucţiuni (RI) care conţine adresa instrucţiunii în curs de execuţie, b) registru contor ordinal (CO) care conţine adresa următoarei instrucţiuni de executat.Unitatea de comandă conţine de asemenea un dispozitiv de decodificare a instrucţiunilor (decodificator) şi un dispozitiv de control al secvenţei de comenzi care activează circuitele necesare execuţiei instrucţiunii curente. Înlănţuirea comenzilor se realizează prin intermediul unui ceas sistem.

2. SISTEME DE NUMEROTATIE

In domeniul calculatoarelor, sistemele de numeraţie folosite sunt: binar, octal şi hexazecimal. Sistemul binar foloseşte baza de numeraţie 2, utilizand simbolurile 0 si 1. Sistemul octal, cu baza 8, foloseşte simbolurile: 0, 1, ..., 7. Sistemului hexazecimal este 16, iar simbolurile folosite sunt: 0, 1, ..., 9, A, B, C, D, E, F. Indiferent de sistemul de numeraţie utilizat, modul de realizare a operaţiilor aritmetice este acelaşi. Procesul privind transformarea reprezentărilor exprimate în sisteme de numeraţie se numeşte conversie. 2.1. Conversia unui numar real intr-o baza de numerotatie Codificarea unui număr real într-o bază de numeraţie b se bazează pe operaţiile de împărţire şi înmulţire aplicate numerelor întregi. Pentru a converti un număr real format din parte întreagă şi parte fracţionară, din scrierea zecimală, în baza b (b≥2), se procedează astfel:1. Se împarte (conform teoremei împărţirii cu rest) la b, partea întreagă şi câturile obţinute după fiecare împărţire, până se obţine câtul zero. Rezultatul conversiei este constituit din resturile obţinute, luate în ordine inversă apariţiei acestora.2. Se înmulţeşte cu b, partea fracţionară şi toate părţile fracţionare obţinute din produsul anterior, până când partea fracţionară este nulă sau a fost obţinut numărul de cifre dorit. Rezultatul conversiei părţii fracţionare este constituit din părţile întregi ale produselor, luate în ordinea apariţiei lor.

Exp: Conversia binară a numărului zecimal 24,25 este 11000,01.Numărul zecimal 1961,25 este reprezentat în format hexazecimal (b=16) prin expresia 7A9,4.

5

Page 6: Arhitectura Sistemelor de Calcul

2.2. Conversia unui numar dintr-o baza de numerotatie in zecimal Pentru a transforma un şir de simboluri ale sistemului de numeraţie În baza b, în zecimal, se va calcula suma produselor dintre cifra corespunzatoare (din şir) şi baza ridicată la puterea specificată de poziţia acesteia. Trebuie observat că poziţiile sunt indicate astfel:- pentru partea întreagă, de la dreapta la stânga, prin numerele 0, 1, ..., ş.a.m.d.- pentru partea fracţionară, de la stânga la dreapta, prin numerele: -1, -2, ..., ş.a.

2.3. Conversia unui numar din binar in octal, hexazecimal si invers Deoarece 8=23, iar 16=24, folosind proprietăţile de calcul, se obţine o strategie de conversie automată între aceste sisteme. Conversia binar octal, respectiv octal-binar foloseşte corespondenţa:0--000, 1--001, 2--010,…., 7—111;Conversia binar-hexazecimal, respectiv hexazecimal-binar, foloseşte corespondenţa:0--0000, 1—0001, 2—0010,…, E—1110, F—1111.

Exp: Şirul binar: 1011011- se va traduce în şirul octal: 331- respectiv în şirul hexazecimal: 5B

2.4. Operatii aritmetice in binar, octal si hexazecimal

Operaţiile aritmetice cu numere binare, octale, respectiv hexazecimale se efectuează similar operaţiilor cu numere zecimale. La adunare va interveni transportul către ordinul superior, la scădere va interveni împrumutul de la ordinul superior, iar înmulţirea se va desfăşura prin totalizarea unor produse parţiale, analog modului de calcul zecimal.10110011+111110=11110001 (baza 2);

3. REPREZENTAREA DATELOR IN SISTEMELE DE CALCUL

6

(10)11

100 10+

101

00010*

Page 7: Arhitectura Sistemelor de Calcul

Informaţia elementară este numită bit (BInary digiT). Un bit este descris prin una din cifrele binare: 0, 1. Biţii se pot grupa câte 8, 16, 32 etc. formând un octet (byte), cuvânt (word), cuvânt dublu (double word) etc. Informaţia modelată şi prelucrată de calculator este prezentată sub forma unui şir de cifre binare. Aceste şiruri se numesc date. Într-un calculator, informaţia reprezentată codificat formează mulţimea datelor.Formal, memoria internă este considerată o structură liniară (mi)i.>0. mi poate lua valoarea  0 sau 1 cu semnificaţia “stins”, respectiv “aprins” şi reprezintă o poziţie binară. In concluzie, o succesiune de biţi poate fi utilizată pentru stocarea de informaţii convertite în poziţii binare. Unitatea de masură pentru memorie este byte-ul (octet-ul) şi reprezintă o succesiune de 8 poziţii binare, de exemplu 0 1 0 1 0 1 1 1   1b = 8 biţi  sau 1o = 8 biţi.

Multiplii byte-ului sunt:       1 Kb = 1024 b = 210 b  ;   1 Mb  = 1024 Kb =220 b  ;   1 Gb  = 1024 Mb = 230 b; 1 Terra =1024 Gb. 

Din punct de vedere logic, memoria internă a unui calculator este organizată în blocuri de memorie, 1 bloc = 64 Kb, aceste blocuri având destinaţii precise în stocarea informaţiilor gestionate de un sistem de operare adecvat.

Un rol important în utilizarea memoriei interne şi in procesul de prelucrare a informaţiilor are conceptul de cuvânt de memorie (word), acesta fiind de fapt o unitate de masură (unitate de adresare)  în sistemul de coordonate (adrese) ataşat unei memorii interne.În evoluţia sistemelor de calcul, capacitatea cuvântului de memorie a fost variabilă şi a determinat creşterea performanţelor acestora, în acest sens este cunoscută clasificarea microprocesoarelor în generaţii funcţie de capacitatea cuvântului de memorie utilizat:

1 cuv. =  8 biţi = 1 b; 1 cuv. =  16 biţi  =  2 b; 1 cuv. =   32 biţi  = 4 b; 1 cuv. = 64 biti 8 b.

Sistemele de calcul utilizează cel mai frecvent coduri alfanumerice cu 7, 8 şi 16 cifre binare care permit reprezentarea a 128 (ASCII), 256 (ASCII extins), respectiv 65536 (Unicode) obiecte (cifre, litere, caractere speciale). Codul ASCII (American Standard Code for Information Interchange), este cel mai popular cod.

7

Page 8: Arhitectura Sistemelor de Calcul

Unicode este standardul recent introdus pentru acoperirea lingvistică la nivel mondial, în elaborarea aplicaţiilor în tehnologia Java.Codurile numerice oferă posibilitatea reprezentării numerelor folosind sistemul binar. Reprezentarea numerelor în acest sistem se face în mai multe forme, în funcţie de mulţimea căreia îi aparţin numerele, operaţiile aritmetice fiind efectuate de către dispozitive aritmetice specializate.

3.1 Reprezentarea numerelor naturale

Reprezentarea numerelor naturale se realizează pe un număr fix de poziţii binare (de regulă 8, 16, 32, sau 64) prin conversia numărului zecimal în baza 2. Această reprezentare este numită reprezentare aritmetică. Prin utilizarea a n poziţii binare (n>=1) se pot reprezenta aritmetic toate numerele naturale din plaja 0...2n-1.

3.2 Reprezentarea numerelor intregi

Reprezentarea numerelor întregi, numită şi reprezentare algebrică este asemănătoare reprezentării numerelor naturale, cu deosebirea că prima poziţie este ocupată de semnul numărului întreg. Se pune probleme ca printr-o conversie adecvata, sa se considere o parte din aceste configuratii de biti ca reprezentand numere intregi pozitive, iar celelalte negative. Cel mai raspandit mod de reprezentare este sistemul de reprezentare in complement fata de 2. In acest sistem, bitul cel mai semnificativ joaca rolul de a preciza semnul numarului. Daca bitul de semn este 0 numarul este pozitiv, iar daca bitul de semn este 1, numarul este negativ.

Numerele întregi negative pot fi codificate prin trei metode:

· semn şi valoare absolută (SVA);· complement logic sau restrâns sau faţă de 1 (C1);· complement aritmetic sau adevărat sau faţă de 2 (C2);

Prin metoda “semn şi valoare absolută”, numerele se codifică sub forma: ± valoare absolută. În aceste condiţii, pe un cuvânt de k biţi se pot reprezenta numere întregi pozitive şi negative N, astfel încât: - (2k-1- 1) <= N <= (2 k-1- 1).

Această metodă de reprezentare prezintă unele inconveniente:· numărul zero are două reprezentări distincte: 000...0 şi 100...0, adică +0 şi -0;

8

Page 9: Arhitectura Sistemelor de Calcul

· tabelele de adunare şi înmulţire sunt complicate din cauza bitului de semn care trebuie tratat separat.

3.3 Complement logic şi aritmetic

Complementul logic (complement faţă de 1) se calculează înlocuind, pentru valorile negative, fiecare bit 0 cu 1 şi fiecare bit 1 cu 0. Complementul aritmetic (complement faţă de 2) este obţinut adunând o unitate la valoarea complementului logic.

Exp:Reprezentarea numărului (-6) pe 4 biţi: + 6 = 0110Semn şi valoare absolută: - 6 = 1110Complement faţă de 1: - 6 = 1001Complement faţă de 2: - 6 = 1010. Se poate uşor constata că intervalul numerelor întregi N care se pot reprezenta în complement faţă de 1 este acelaşi ca şi pentru reprezentarea “semn şi valoare absolută“.Pentru reprezentarea în complement faţă de 2 pentru k biţi vom avea: -2k-1 N<=(2k-1-1).

Se poate remarca faptul că bitul cel mai din stânga (bitul de semn) este întotdeauna 0 pentru numere pozitive şi 1 pentru cele negative şi aceasta pentru fiecare din cele trei reprezentări.

3.4 Numere fracţionare (subunitare).

Pentru numerele fracţionare se pot remarca reprezentările în virgulă fixă şi virgulă mobilă.

3.5 Virgula fixă (VF)

Sistemele de calcul nu posedă virgula la nivelul maşinii, deci reprezentarea numerelor fracţionare se face ca şi când acestea ar fi întregi, cu o virgulă virtuală a cărei poziţie este controlată de către programator.Datorită dificultăţii de gestionare a virgulei de către programator (pot apare frecvent situaţii de depăşire a capacităţii de memorare), se preferă soluţia aritmeticii în virgulă mobilă.

3.6 Virgula mobilă (VM)

Numărul N se poate scrie în virgulă mobilă (VM) astfel:

N = ± M × B ±E M – mantisa: indică valoarea exactă a numărului într-un anumit domeniu

9

Page 10: Arhitectura Sistemelor de Calcul

E – exponentul: indică ordinul de mărime al numărului B – baza exponentuluiStandardul IEEE (Institute of Electrical and Electronics Engineer)

defineşte trei formate de reprezentare a numerelor în virgulă mobilă:a) precizie simpla pe 32 de biţi (1 bit pentru semn, 8 biţi pentru exponent şi 23 pentru mantisa);b) precizie dubla pe 64 biţi (1 bit pentru semn, 11 biţi pentru exponent şi 52 biţi pentru mantisa);c) dublă precizie extinsă pe 96 biţi (1 bit pentru semn, 15 biţi pentru exponent şi 80 biţi pentru mantisa) ;d) precizie cvadruplă pe 128 biţi (1 bit pentru semn, 15 biţi pentru exponent şi 112 biţi pentru mantisa). Mantisa fiind normalizată, există siguranţa că primul bit al mantisei are valoarea 1, ceea ce permite omiterea sa (bit ascuns) pentru creşterea preciziei de reprezentare, dar complică prelucrarea informaţiei.Exponentul determină intervalul de numere reprezentabile în sistemul de calcul. Numerele prea mari pentru a putea fi reprezentate corespund unei “depăşiri superioare” de capacitate de memorare overflow, iar numerele prea mici corespund unei “depăşiri inferioare” de capacitate de memorare underflow.Mărimea mantisei exprimă precizia de reprezentare a numerelor.Avantajul utilizării virgulei mobile faţă de virgula fixă constă în intervalul mult mai extins al valorilor posibile de reprezentat.În cazul transferului datelor între sisteme de calcul pot apărea erori. De aceea se utilizează coduri de control cu posibilitatea detectării şi corectării erorilor. Mai precis, se ataşează cifre binare (de control) la emisia mesajului, recepţia fiind responsabilă de controlul modului de respectare a corectitudinii mesajului. Cele mai utilizate procedee pentru detectarea erorilor sunt: codurile pentru controlul parităţii şi codurile polinomiale ciclice. In concluzie putem defini datele ca fiind reprezentarea fizică (prin intermediul codului) a entităţilor din care este compusă informaţia (cifre, litere, semne speciale, imagini, sunete), pentru ca aceasta să poată fi stocată, prelucrată sau transmisă. În vederea prelucrării, datelor le sunt asociate atribute precum:- tipul datei: numeric: întreg sau real; logic; şir de caractere; enumerare; adresă,precizia reprezentării internemodul de vizualizare poziţie; aliniere; corpul simbolului; dimensiunea. 4. SCHEMA NIVELELOR CONCEPTUALE A UNUI CALCULATOR Un calculator virtual actual are şapte nivele conceptuale: Fig 1. Nivelurile conceptuale ale maşinii virtuale corespunzătoare calculatoarelor actuale.Maşina virtuală este organizată pe niveluri iar între două niveluri pot exista două operaţii:- translatarea şi- interpretarea.

Translatarea presupune transformarea programului din Lsup în întregime într-un program din Linf . Programul din Lsup este abandonat iar noul program din Linf este încărcat în memorie şi executat. Translatarea seamănă cu compilarea.Interpretarea înseamnă execuţia instrucţiunilor din Lsup , pas cu pas, fiecare instrucţiune fiind executată imediat. Este scrierea unui program în Linf care preia programe din Lsup ca date de intrare şi le execută examinând fiecare instrucţiune pe rând şi executând secvenţa echivalentă de instrucţiuni direct în Linf , dar fără să genereze un nou program în Linf .Diferenţa fundamentală între cele două tehnici este că în translatare un program mai întâi este transformat în totalitate în alt program şi apoi executat programul translat, în timp ce în interpretare se execută fiecare instrucţiune pas cu pas.Faţă de interpretare, translatarea are

10

Page 11: Arhitectura Sistemelor de Calcul

avantajul unei viteze de execuţie mult mai mari.Nivelurile au următoarele semnificaţii:Nivelul 1 este hard pur. Este format din circuite electrice şi electronice.Nivelul 2 este nivelul microprogram care interpretează instrucţiunile nivelului 3 şi le execută în nivelul 1. Fiecare instrucţiune a nivelului 3 este executată de un microprogram.Nivelul 3 este nivelul setului de instrucţiuni al maşinii, instrucţiuni executate pe nivelul hard.Nivelul 4 . Sistemul de operare este hibrid deoarece cuprinde atât instrucţiuni interpretate de nivelul patru cât şi instrucţiuni interpretate de nivelul trei.Nivelele 1-4 nu sunt utilizate de programatori, ele conţinând interpretoare şi translatoare construite de către programatorii de sisteme.Nivelul 5 este nivelul limbajului de asamblare, destinat programatorilor de aplicaţii. Dacă primele niveluri erau interpretate, acesta este translatat de către un program numit asamblor.Nivelul 6 este nivelul de limbaj înalt. Programele scrise în acest nivel sunt translatate către nivelele cinci şi şase de către programe specializate numite compilatoare.Nivelul 7 conţine limbaje destinate unor domenii foarte speciale cum ar fi proiectarea asistată, administraţia, grafica etc.5. PROCESOR. PROPRIETATI. MOD DE FUNCTIONARE5.1 CONCEPTE CHEIE:BIOS (basic input/output system, system de intrare/iesire de baza). O colectie interna de coduri software ale unui calculator personal care gestioneaza unele sarcini fundamentale privind transimiterea de date dintr o parte a calcuatorului intr-alta.Pornire sau boot-are. Procesul care are loc atunci cind un calculator personal este pornit si efectuaeaza rutinele necesare pentru a si face toate componentele sa funcitioneze corect si apoi incarca sistemul de operare.Ceas. Un microcip care regleaza timing-ul si viteza tuturor functiilor calculatorului. Cipul include un cristal care vibreaza la o anumita frecventa atunci cind prin el trece curente electric. Cea mai scurta perioada de timp in care un calculator poate efectua o operatie oarecare reprezinta un ceas sau o vibratie a cipului ceas. Viteza ceasurilor – si, prin urmare, a calculatoarelor- este exprimata in mega-hertzi (Mhz). Un megahertz reprezinta un milion de cicluri (sau vibratii) pe secunda.Memorie ROM si RAM. Prescurtari pentru Read Only Memory si Random Access Memory. Memoria ROM reprezinta cipuri de memorie sau date stocate pe discuri, care pot fi citite de procesorul calculatorului. Calculatorul personal nu poate scrie date noi in aceste cipuri sau pe aceste discuri. Memoria RAM este reprezentata de memorie sau discuri care pot fi citite si pe care, de asemenea, se poate si scrie. Random Acces Memory este in realitate o denumire eronata, deoarece chiar si memoria ROM poate fi accesata in mod aleatoriu. Termenul a fost destinat initial deosebirii memoriei RAM de datele si programele stocate pe caseta magnetica, care puteau fi accesate doar secvential. Aceasta inseamna ca, pentru a ajunge la ultima transa de date sau cod de pe o caseta, un calculator trebuie sa citeasca toate informatiile continute de caseta respectiva, pana cand ajunge la locatia unde sunt stocate datele sau codul pe care le cauta. In schimb, un calculator poate sari direct la orice informatie stocata in locatii aleatorii din cipurile RAM sau pe disc.Fisiere de sistem. Mici fisiere care contin cod software si reprezinta primele fisiere pe care un calculator le citeste de pe disc atunci cand este pornit. In sistemele DOS si Windows, fisierele sunt denumite IO.SYS si MSDOS.SYS si sunt invizibile, astfel incat in mod obisnuit nu le puteti vedea atunci cand sunt afisate fisierele de pe un disc. Fisierele de sistem contin informatiile necesare pentru a incarca restul unui sistem de

11

Page 12: Arhitectura Sistemelor de Calcul

operare dupa boot-area hardware initiala. In DOS, un alt fisier de sistem este COMMAND.COM care contine functiile de baza ale sistemului de operare, cum ar fi afisarea unei liste de fisiere (director). Un disc de sistem trebuie sa contina toate cele trei fisiere pentru ca un calculator personal sa poata porni. Fisierele de sistem pot include, de asemenea, CONFIG.SYS care efectueaza unele setari initiale ale componentelor hardware, si AUTOEXEC.BAT, o colectie de comenzi sunt executate atunci cand au fost terminate toate celelalte functii de boot-are.Adder, half-adder, full-adder. Diferite combinatii de tranzistori care efectueaza operatiuni matematice si logice asupra datelor care sunt procesate.Calcul cu set complex de instructiuni (complex instruction set computing, CISC). Un design de arhitectura de procesor in care instructiunile mari si complicate sunt defalcate in sarcini mai mic, inainte ca procesorul sa le execute. Calcul cu set redus de instructiuni (reduced instruction set computing, RISC). Un design de procesor in care sunt folosite numai instructiuni mici, rapid executabile. Opusul calculului de set complex de instructiuni.Canal (drain). Partea unui tranzistor in care curentul electric iese intr-un tranzistor, atunci cand acesta este inchis.Condensator. O componenta care stocheaza o sarcina electrica.Linie de adresa. O linie electrica sau un circuit asociat (a) cu o anumita locatie din memoria RAM.Linie de date. O linie electrica sau un circuit care transporta date; in special in cipurile de memorie RAM, un circuit care determina daca un bit reprezinta un 0 sau 1.Megahertz (Mhz). Unitate de masura, in milioane, a numarului de ori in care un lucru oscileaza sau vibreaza. Vitezele procesorului sunt, de regula, masurate in megahertzi.Pipelining. O arhitectura de calculator conceputa astfel incat toate componentele unui circuit functioneaza permanent, nici o parte din circuit nefiind blocata in asteptarea unor date de la o alta componenta.Memorie ascunsa (cache). Un bloc de memorie de mare viteza in care sunt copiate datele atunci cand acestea sunt recuperate din memoria RAM. In momentul in care datele sunt necesare pot fi recuperate din memoria ascunsa mai rapid decat din memoria RAM. Memoria  Cache este mai rapidă decât memoria RAM, asigurând viteza necesară lucrului cu procesorul. Memorează datele şi instrucţiunile care se utilizează la un moment dat. Capacitate: 256KB-2MB. Pentium are memorii ascunse multiple, care totalizeaza pina la 2 MB de memorie. Ele sunt concepute pentru a asigura alimentarea constanta a unitatii aritmetice logice cu datele si instructiunile de care aceasta are nevoie. Aceste componente trebuie sa gestioneze fluxul de date si instructiuni in interiorul procesorului, sa interpreteze instructiunile astfel incat ele sa poata fi executate de procesor si sa trimita rezultatele inapoi la memoria calculatorului. In mod ideal, procesorul executa o instructiune la fiecare tact al ceasului calculatorului, care reglementeaza cat de repede functioneaza sistemul, un ideal care este desemnat prin expresia pipeling. Memoria CMOS memorează partea din BIOS şi parametrii de funcţionare care pot fi stabiliţi de către utilizator. Este o memorie volatilă care este păstrată sub tensiune de către o baterie astfel că datele nu se pierd la oprirea calculatorului. Magistrala(bus) este un canal comun de comunicaţie între plăcile calculatorului. Magistrala este formată dintr-un set de trasee de cupru pe o placă de circuit, pe care circulă informaţia (date, comenzi, semnale de control) sub formă de impulsuri electrice cu două niveluri de tensiune corespunzatoare celor două cifre binare 0

12

Page 13: Arhitectura Sistemelor de Calcul

şi 1. Conectorii la magistrală (bus connectors) prin intermediul cărora se leagă opţional la placa de bază plăcile adaptoare sau interfeţele pentru imprimantă, pentru modemul liniei telefonice, pentru ecran, pentru unitătile de discuri flexibile etc. Dacă aceste plăci ar fi legate direct la placa de bază, ar trebui definite clar conexiunile penru fiecare placă. În plus, ar trebui stabilite semnalele de dialog ântre fiecare pereche de plăci care dialoghează. Sistemul ar avea o flexibilitate redusă. El ar deveni un sistem închis. Microcip. O bucata de dioxid de silicon pe care au fost gravate circuite electrice microscopice, folosint un sistem de lumini, filme senzitive la lumina si bai acide.MMX. Un set de instructiuni care accelereaza operatiunile solicitate pentru multimedia. Setul este construit in procesoarele Intel Pentium.Registru. Un set de tranzistori dintr-un procesor in care sunt stocate temporar date in timp ce procesorul efectueaza calcule care implica datele respective .SIMD (Single Instruction Multiple Data/ Instructiune unica, date multiple). O arhitectura de procesor care permite aceleiasi operatiuni sa fie efectuate simultan asupra unor seturi multiple de date.Tranzistor. Un comutator microscopic care controleaza fluxul de electricitate ce trece prin el, in functie de modul in care o sarcina electrica diferita a deschis sau a inchis circuitul.Tranzistorul este blocul fundamental din care sunt construite toate microcipurile. Tranzistorul poate crea numai informatii binare : un 1 daca curentul trece si un 0 daca curentul nu trece. Bitii pot, la fel de usor, sa tina locul valorilor de “adevarat” (1) sau “fals” (0), ceea ce permite calculatoarelor sa trateze logica booleana. Combinatiile de tranzistori in diferite configuratii sunt numite porti logice. In plus, tranzistorii fac posibil ca o cantitate mica de curent electric sa controleze un al doilea curent, mult mai puternic- la fel cum cantitatea mica de energie necesara pentru a aprinde un comutator de perete poate controla energia mult mai puternica ce circula prin fire.Crearea unui cip din tranzistoriMii de tranzistori sunt conectati pe o singura placa de siliciu. Placa este incadrata intr o bucata de material plastic sau ceramic, iar capetele circuitelor sunt atasate la piste metalice care se extind, pentru a conecta cipul la alte componente ale placii de circuite integrate. Pistele transporta semnale in interiorul cipului si trimit semnale din cip catre componente ale calculatorului.5.2 MicroprocesorulMicroprocesorul este componenta de bază a unităţii centrale de prelucrare, reprezentând creierul artificial al unui microcalculator. Din punct de vedere fizic este realizat dintr-o capsulă ceramică sau plastic (circiut integrat pe scară largă) în interiorul căruia se află mai multe componente electronice, numărul acestora diferind de la un tip la altul în funcţie de tehnologia de fabricaţie şi generaţia din care face parte. La microprocesor este ataşat un răcitor (cooler), ansamblu format dintr-un ventilator mic şi un radiator având rolul important de răcire a microprocesorului. Cooler-ul este necesar pentru microprocesoare mai puternice decât un 486DX2/66 MHz. Datorită curentului electric care circulă prin circuitele integrate, fără un cooler, un microprocesor devine de neatins (datorită căldurii la care materialul din care este confecţionat poate ajunge) într-un timp extrem de scurt, aproximativ 20 de secunde, iar după o scurtă perioadă de timp, se deteriorează, circuitele practic topindu-se.De la apariţia circuitului integrat, procesoarele au cunoscut progrese rapide. Numărul de tranzistori pe care proiectanţii au reuşit să-l împacheteze într-un cip s-a dublat la fiecare 18 luni. Astfel, în intervalul de 10 ani procesoarele din familia x86 au crescut în densitatea circuitelor

13

Page 14: Arhitectura Sistemelor de Calcul

logice de 20 de ori. Bazele acestei îmbunătăţiri continue o reprezintă fotolitografia, tehnologie prin care circuitele integrate se realizează prin depunerea, una peste alta, în straturi succesive, a unor structuri de metal sau siliciu tratat chimic prin care se obţine pastila de siliciu. Posibilităţi de dezvoltare mai există dar, după cum afirmă specialiştii, această tehnologie este limitată de frecvenţa razei de lumină şi de rezoluţia lentilelor. De aceea cercetătorii caută noi soluţii, una oferind reale posibilităţi şi are la bază principiile mecanicii cuantice.Procesorul actualelor sisteme poate fi un microprocesor sau un ansamblu integrat de microprocesoare. Orice procesor conţine patru blocuri funcţionale de bază:unitatea de comandă şi control (UCC),

unitatea aritmetico-logică (UAL),

registrele procesorului,

unitatea de interfaţă cu celelalte componente (UI).

Unitatea de comandă şi control comandă, controlează şi coordonează întregul proces de prelucrare a datelor şi funcţionarea corectă a tuturor componentelor sistemului pe baza comenzilor transmise de utilizator şi memorate în memoria internă a calculatorului.

Unitatea aritmetico-logică (UAL) este alcătuită din totalitatea circuitelor electronice prin care se realizează prelucrarea datelor cerută prin instrucţiuni şi comenzi. Aceste circuite sunt structurate pe registre (8, 16, 32, 64 biţi) corelate cu lungimea cuvântului de memorie (16, 32, 64 biţi).

Principalele tipuri de operaţii elementare pe care le poate realiza UAL sunt: adunare logică, operaţii logice de tip AND, OR, NOT, XOR, operaţii de complementare a datelor, operaţii de deplasare a datelor cu un bit la stânga sau la dreapta. Operaţiunile complexe asupra datelor sunt realizate de microprocesor prin combinarea operaţiunilor elementare.

Registrele microprocesorului funcţionează ca o memorie RAM proprie în sensul că păstrează temporar informaţii ce urmează a fi prelucrate sau rezultate ale prelucrărilor până la transmiterea acestora către memoria RAM.

Dintre registrele de date şi de adresare ale microprocesorului mai importante sunt: registrul de date care păstrează datele ce urmează a fi prelucrate de microprocesor sau

rezultatele prelucrării care urmează a fi transmise către memorie pentru stocare; registrul de instrucţiuni care conţine întotdeauna codul instrucţiunii curente, identificat de

UCC pentru a genera secvenţa de operaţii elementare şi a decide execuţia acesteia. registrul contor-program conţine adresa următoarei instrucţiuni ce urmează a fi apelată din

memoria RAM şi prelucrată. Codul instrucţiunii conţinute în registrul contor-program va fi transferat în registrul de instrucţiuni după terminarea prelucrării instrucţiunii curente, iar instrucţiunea adresată prin registrul program va deveni instrucţiune curentă.

14

Page 15: Arhitectura Sistemelor de Calcul

registrul contor-date conţine adresa operanzilor ce vor fi preluaţi din memoria RAM şi depuşi în registrul de date pentru prelucrare. Odată cu încărcarea codului instrucţiunii ce urmează a se executa în registrul de instrucţiuni are loc şi transmiterea unei comenzi de încărcare a operanzilor în registrul de date, pe baza adresei conţiunte de registrul contor-date.

Toate operaţiunile aritmetice şi/sau logice, de adresare, de transfer etc au loc pe baza unui dialog între microprocesor şi memoria internă, pe de o parte, iar pe de altă parte între componentele funcţionale ale microprocesorului.

Un microprocesor este caracterizat în principal de:1. frecventa de lucru;2. dimensiunea memoriei intene ce poate fi adresată la un moment dat3. setul de instrucţiuni ce poate fi executat;4. fiabilitatea şi costul de fabricaţie.

1. Frecvenţa de lucru a microprocesorului   se măsoară în megahertzi (MHz), adică în milioane de impulsuri pe secundă. De exemplu, dacă un microprocesor are frecvenţa de 900 MHz înseamnă un semnal cu 900 de milioane de impulsuri pe secundă. Cu cât această frecvenţă este mai mare, cu atât microprocesorul este mai performant, deoarece ea este direct proporţională cu viteza cu care microprocesorul execută instrucţiunile, deci cu viteza de lucru a calculatorului. Pentru sistemul de operare Windows XP , care este un mare consumator de resurse, se recomandă un procesor cu o frecvenţă de cel puţin 500 MHz.

Toate aceste elemente determină viteza de lucru a microprocesorului, adică determină cât de repede execută microprocesorul o instrucţiune. Viteza se măsoară în milioane de instrucţiuni pe secundă - MIPS sau MFLOPS. Un calculator performant are o viteză de execuţie de ordinul a 2-30 MIPS.

În acest moment, există două categorii de microprocesoare: CISC (Complex Instruction Set Computer) şi RISC (Reduced Instruction Set Computer). Cele mai răspândite microprocesoare sunt cele CISC (având ca reprezentaţi microprocesoarele INTEL : X86, Pentium). Microprocesoarele RISC implementează mai puţine instrucţiuni, sunt mai simplu de proiectat şi mai ieftine. Căteva exemple de microprocesoare RISC sunt: PowerPC (dezvoltat de Motorola, IBM şi Apple); Alpha şi MIPS R400 (dezvoltate de Digital Equipment Corporation). O abordare specială o reprezintă arhitectura CISC bazată pe tehnici de tip RISC care duce la o viteză de executare a aplicaţiilor CISC comparabilă cu cea a sistemelor RISC. Este cazul soluţiilor AMD şi Cyrix.

Viteza depinde de depinde de următorii factori:A. frecvenţa ceasului internB. dimensiunea regiştrilor interni şi a magistralei de date

15

Page 16: Arhitectura Sistemelor de Calcul

C. dimensiunea memoriei cache.

A. Frecvenţa ceasului intern

Funcţionarea microprocesorului este coordonată de un ceas intern al calculatorului. Ceasul intern este ca un oscilator care trimite în calculator pulsuri, la intervale egale de timp, bine determinate necesare pentru a comanda realizarea operaţiunilor programate şi sincronizarea tuturor funcţiilor calculatorului. Frecvenţa ceasului se măsoară în MHz. Cu cât această frecvenţă este mai mare cu atât microprocesorul este mai performant deoarece ea este direct proporţională cu viteza cu care microprocesorul execută instrucţiunile, deci cu viteza de lucru a calculatorului.

B.Dimensiunea registrelor interne şi a magistralei de date

Cu cât dimensiunea regiştrilor microprocesorului este mai mare, cu atât creşte viteza de lucru a acestuia, aceasta deoarece creşte capacitatea de memorare în interiorul microprocesorului (în regiştrii săi) şi deci numărul de operaţii de transfer cu memoria internă (care necesită timp) scade. De asemenea, dimensiunea magistralei de date influenţează viteza de lucru a microprocesorului întrucât debitul de date care circulă pe magistrală este direct proporţional cu dimensiunea acesteia. O magistrală de date îngustă poate gâtui un calculator, chiar dacă toate celellate componente sunt rapide.

C. Dimensiunea memoriei cache

Toate microprocesoarele, începând cu familia 486 dispun de o componentă standard, incluzând un controler pentru memoria cache (memoria tampon rapidă). Memoria cache este o zonă de memorie foarte rapidă cu rol de a păstra o parte din seturile de instrucţiuni şi de date cu care se lucrează în mod curent. Acestă memorie poate lucra integral în ritmul procesorului, ea fiind accesată fără cicluri de aşteptare. Această soluţie face ca procesorul să nu mai stea în aşteptarea codurilor de instrucţiuni sau a datelor primite de la memoria principală, mult mai lentă, ducând la îmbunătăţirea performanţelor. Cu cât memoria cache este mai mare, cu atât viteza microprocesorului creşte.

2. Dimensiunea memoriei interne ce poate fi accesată la un moment dat

Valoarea maximă a memoriei adresabile este importantă în primul rând pentru că microprocesorul lucrează mult mai rapid cu memoria internă decât cu cea externă, iar în al doilea rând pentru că un program să poată fi executat trebuie să se găsească neapărat în memoria internă.

16

Page 17: Arhitectura Sistemelor de Calcul

3. Setul de instrucţiuni pe care un calculator le poate executa este în general caracterizat direct de tipul microprocesorului. Cu cât setul este mai bogat, cu atât mai multe domenii de activitate pot fi abordate.O instrucţiune sau o comandă transmisă de utilizator, prin program, conţine o serie de informaţii privind natura operaţiei sau funcţiei ce trebuie executată, operanzii care participă la realizarea operaţiunilor aritmetice sau logice, locul unde se află operanzii sau unde se vor depune rezultatele prelucrării, componentele sistemului ce trebuie activate pentru executarea operaţiunilor.Instrucţiunile din setul recunoscut de procesor pot fi grupate în:- instrucţiuni aritmetice;- instrucţiuni de transfer a datelor - generale, de conversie, de intrare/ieşire etc.- instrucţiuni de prelucrare a şirurilor;- instrucţiuni de manipulare a informaţiilor la nivel de bit;- instrucţiuni de control a programelor, salt condiţionat, salt necondiţionat, iteraţii şi întreruperi;- instrucţiuni logice (AND, OR, NOT, XOR, TEST), de deplasare şi rotire (stânga, dreapta şi

dublu sens). 1. Fiabilitatea şi costul de fabricaţie

Funcţionarea corectă, pe o perioadă mai îndelungată a microprocesorului indică o fiabilitate soprită şi care raportată la costul acestuia constituie criteriile de decizie în alegerea unui anumit tip de microcalculator.

Performanţele procesorului pot fi exprimate prin:

durata ciclului procesorului, lungimea cuvântului,

repertoriul de instrucţiuni,

durata executării instrucţiunilor.

Tipul microprocesorului  

Durata ciclului procesorului reprezintă intervalul de timp în care se efectuează un transfer între două registre ale procesorului.

Cuvântul microprocesorului  reprezintă numărul de biţi întotdeauna multiplu de octeţi care pot fi prelucraţi la un moment dat de către microprocesor (de exemplu 8 biţi,16 biţi,32 biţi,64 biţi). Cu cât cuvântul are mai mulţi biţi, cu atât viteza de lucru a microprocesorului este mai mare şi el este mai performant.

Repertoriu de instructiuni conţine mnemonicele instrucţiunilor au caracter orientativ.

17

Page 18: Arhitectura Sistemelor de Calcul

Durata executării unei instrucţiuni reprezintă timpul necesar desfăşurării fazei de citire-interpretare şi a fazei de execuţie a acelei instrucţiuni.

Tipul microprocesorului  defineşte apartenenţa microprocesorului la o familie de microprocesoare care au caracteristici comune.

Pe calculatoarele IBM-PC, cât şi pe cele compatibile IBM se întâlnesc microprocesoarele din familiile INTEL 80x86, unde x=0, 1, 2, 3, 4, 5, 6, Cu cât  x este mai mare, cu atât microprocesorul este mai performant (de exemplu, 80686) va putea înţelege şi executa instrucţiunile unui program scris pentru un microprocesor mai puţin performant (de exemplu, 80486).

Procesoarele folosite de calculatoarele IBM-PC sau compatibile IBM-PC sunt produse de firme ca Intel, AMD, Cyrix, etc. Familia din care acestea fac parte se stabileşte prin compararea performanţelor cu familiile de procesoare Intel: 286, 386, 486, Pentium, PentiumII, PentiumIII, PentiumIV,etc.

În cadrul aceleiaşi familii, microprocesoarele sunt compatibile între ele.

Trebuie amintit ca un calculator poate avea unul sau mai multe procesoare . Placile de baza ‘normale’ permit prezenta unui singur procesor , însa sunt producatori ce ofera optiunea de ‘dual processor’. Astfel în sistemele produse de Digital , HP se pot întâlni între 2-8 procesoare. Problema este ca numai anumite sisteme de operare stiu sa foloseasca multiprocesarea (Linux , SunOs , Unix , WindowsNT) . Astfel în Windows 9x prezenta unui processor suplimentar nu va influenta cu nimic performanta sistemului. Sistemele multiprocessor sunt folosite în servere sau în statii de lucru cu flux mare de date (CAD , GIS , etc) . Un alt motiv de a folosi un sistem multiprocessor este securitatea oferita. Astfel în cazul unei defectiuni produse la unul din procesoare conducerea va fi luata de celalalt .

5.3 CUM FUNCTIONEAZA UN CIP PENTIUM

Pas 1. Microprocesorul Pentium de la Intel este alcatuirt din doua bucati de siliciu. Una este unitatea centrala de prelucrare de 5,5-9,5 milioane de tranzistori, unde sunt executate intructiunile programelor. Cealalta este o memorie ascunsa 2 (cache 2, L2), de mare viteza, special conceputa. Cei 15,5 milioane de tranzistori ai sai pot stoca pana la 512 kilobytes de date si cod. Primele procesoare foloaseau, de regula, o memorie cache separata de procesor, care de regula facea parte din placa de baza a calculatorului.

Pas 2. Procesorul si memoria cache partajeaza aceeasi interfata pe 64 de biti pentru informatiile calculatorului. Codul de program sau datele manipulate de codul respectiv intra si ies din cip la viteza maxima a magistralei (bus) calculatorului personal, nu mai mult de 100MHz chiar si pentru procesoarele care functioneaza intern la 200 MHzⁿ(la puterea 20). O mare parte din

18

Page 19: Arhitectura Sistemelor de Calcul

designul pentiumului este structurata pentru a micsora piedica reprezentata de magistrala reducand numarul de ori in care un ceas cicleaza –cel mai mic interval de timp in care un calculator poate realiza o operatiune – fara ca procesorul sa finalizeze o operatiune.

Pas 3. Atunci cand informatiile intra in procesor prin intermediul unitatii de interfata cu magistrala (bus interface unit, BIU), aceasta duplica informatiile, trimite o copie la memoria L2 cache care este strans legata de unitatea centrala de prelucrare si o alta la o pereche de memorii ascunse de nivelul 1 (L1 cache), a caror marime variaza de la 8 la 16 KB si care sunt construite direct in unitatea centrala de prelucrare. Unitatea de interfata a magistralei trimite codul de program la memoria ascunsa de instructiuni L1( instructiuni cahe sau l-cache) si trimite date care trebuie sa fie folosite de cod catre o alta memorie ascunsa L1, memoria ascunsa de date (data cache, D-cache).

Pas4. In timp ce unitatea de apelare/decodare (fetch/decode unit) extrage instructiunile din memoria cache de instructiuni, unitatea branch target buffer (BTB) compara fiecare instructiune cu o inregistrare dintr-un tampon separat, pentru a vedea daca o anumita instructiune nu a fost folosita anterior. Unitatea branch target buffer cauta in particular instructiuni care implica defalcarea (branching), o situatie in care executia programului poate urma oricare din doua cai. Daca unitatea branch target buffer gaseste o instructiune de defalcare, el prezice, pe baza experientei din trecut, calea pe care o va lua programul. Predictiile sunt corecta in proportie de peste 90% din cazuri.

Pas 5. In timp ce unitatea de apelare/decodare extrage instructiunile in ordinea prezisa de unitatea branch target buffer, trei decodoare care lucreaza in paralel defalcheaza instructiunile mai complexe in mu-ops, care sunt micro-operatiuni mai mici, pe 274 biti. Unitatea de livrare/executie (dispatch/execution unit) proceseaza mai rapid mai multe micro-operatiuni decat ar procesa o singura instructiune de nivel mai inalt.

Pas 6. Unitatea de decodare trimite toate micro-operatiunile la cartelul de instructiuni (instruction pool), care mai este denumit si Tampon de re-ordonare (ReOrder Buffer). Acesta contine doua unitati aritmetice logice (arithmetic logic units, ALUs) care gestioneaza toate calculele care implica numere intregi. Unitatile aritmetice logice folosesc un tampon circular, cu un cap si o coada, care contine micro-operatiunile in ordinea in care unitatea BTB estimeaza ca va fi nevoie de ele.

Pas 7. Unitatea de livrare/executie verifica fiecare micro-operatiune din tampon, pentru a vedea daca are toate informatiile necesare pentru procesarea sa si, atunci cand gaseste o micro-operatiune gata de procesare, unitatea o executa, stocheaza rezultatul in chiar micro-operatiunea respectiva si o marcheaza ca efectuata.

Pas 8. Daca o micro-operatiune are nevoie de mai multe date din memorie, unitatea de executie trece peste ea si procesorul cauta informatiile mai intai in memoria cache L1 aflata in imediata apropiere. Daca datele nu se afla aici, procesorul verifica memoria cache L2, de dimensiuni

19

Page 20: Arhitectura Sistemelor de Calcul

mult mai mari. Deoarece memoria cache L2 este integrata cu unitatea centrala de prelucrare, informatiile se transfera intre ele de 2-4 ori mai repede decat intre unitatea centrala de prelucrare si magistrala externa. La o viteza a cipului de 150MHz, informatiile sunt recuperate cu o rata de 1,2 GB pe secunda, in comparatie cu 528 MB /s, daca unitatea centrala de prelucrare trebuie sa ajunga la memoria externa pentru a obtine informatiile.

Pas 9. In loc sa stea inactiva pana cand informatiile sunt apelate, unitatea de executie continua inspectarea fiecarei micro-operatiuni din tampon. Atunci cand ea gaseste o micro-operatiune care are toate informatiile care are toate informatiile de care este nevoie pentru procesarea sa, unitatea o executa, stocheaza rezultatele in chiar micro-operatiunea respectiva si trece la urmatoarea micro-operatiune. Aceastqa procedura este denumita executie speculativa, deoarece ordinea micro-operatiunilor din tamponul circular se bazeaza pe prezicerile unitatii BTB. Unitatea executa pana la cinci micro-operatiuni simultan. Atunci cand unitatea de executie ajunge la sfarsitul tamponului, ea reia de la inceput, verificand din nou toate micro-operatiunile, pentru a vedea daca vreuna dintre ele a primit datele de care are nevoie pentru a fi executata.

Pas 10. Daca o operatiune implica numere cu virgula mobila (floating-point numbers), cum ar fi 3,14 sau 0,33333, unitatile aritmetice logice transmit sarcina unitatii matematice cu vigula mobila, care contine instrumente de procesare concepute pentru manipularea rapida a numerelor cu virgula mobila.

Pas 11. Atunci cand o micro-operatiune care a fost amanata este in cele din urma procesata, unitatea de executie compara rezultatele cu cele prezise de unitatea BTB. Atunci cand prezicerea este eronata, o componenta numita unitate de executie a sariturii (jump execution unit, JEU) muta marcatorul de final de la ultima micro-operatiune la aceea care a prezis ca toate micro-opertiunile de dupa marcatorul de final trebuie ignorte si pot fi supra-scrise de alte micro-operatiuni. Se transmite BTB ca predictia sa era incorecta si informatiile respective devin parte din viitoarele sale preziceri.

Pas 12. Intre timp, tamponul cicular este inspectat, de asemenea, de catre unitatea de retragere (retirement unit). El verifica sa vada daca micro-operatiunea de la inceputul tamponului a fost executata. Daca nu a fost executata, unitatea de retragere continua sa verifice pana cand ea a fost procesata. Apoi, unitatea de retragere verifica a doua si a treia micro-operatiune. Daca acestea sunt deja executate, unitatea trimite toate cele trei rezultate – numarul maxim – catre tamponul de stocare. Acolo, unitatea de prezicere le verifica o ultima data inainte de a fi trimise la locul corespunzator din memoria RAM a sistemului.

6. LIMBAJE DE NIVEL ÎNALT ŞI DE NIVEL SCAZUT. INSTRUCŢIUNI

Microprocesoarele au o mulţime fixă, restrânsă, de instrucţiuni – denumită mulţimea de instrucţiuni maşină (sau cod-maşină). Cu ajutorul acestor instrucţiuni microprocesoarele pot fi programate să execute sarcinile pe care le dorim. Fiecare producător de cipuri (procesoare), fie

20

Page 21: Arhitectura Sistemelor de Calcul

că este vorba de Intel, IBM, Sun sau DEC proiectează şi produce microprocesoare şi computere ce posedă un limbaj propriu nativ – propria mulţime de instrucţiuni maşină. Acest limbaj conţine, de regulă, 100-200 de instrucţiuni diferite. Nu există în acest caz un standard universal recunoscut cum ar fi codurile ASCII sau UNICODE, spre exemplu.

În afara acestor limbaje maşină ce posedă până la câteva sute de instrucţiuni, s-au dezvoltat aşa numitele limbaje de nivel înalt (HLL – High Level Language). De aceea, limbajele maşină sunt cunoscute şi sub titulatura de limbaje de nivel jos (LLL – Low Level Language).

Limbajelede nivel înalt sunt preferate de regulă de către programatori, deoarece acestea oferă un set de instrucţiuni şi concepte apropiate de limbajul natural.

Exemple: BASIC, Pascal, C, C++, Java. Instrucţiunile unui astfel de limbaj de nivel înalt trebuie însă translatate în codul maşină de nivel jos pentru ca microprocesorul să le înţeleagă şi să le ruleze. Această translatare expandează o instrucţiune HLL în 3-10 instrucţiuni LLL.

Exemplu:HLL (C) 2+3;

ASM MOV ax, 2 MOV bx, 3 ADD ax,bx

Cod binar maşină: 0010 0000 0011 1001 0001 0010 0000 0001 0001 0010 0011 0100

În primele stadii de dezvoltare ale computerelor problema de bază era cum să fie scris un program şi apoi cum să fie introdus în memoria computerului. Iniţial, programele erau scrise de mână în binar şi introduse în memorie.

Instrucţiunile maşină pot fi grupate în patru mari categorii. Ele pot fi instrucţiuni pentru:- Transferul şi manipularea datelor;- Operaţii de intrare/ieşire;- Transferul controlului programului;- Controlul maşinii (termină procesarea, resetează maşina etc.).

7. COMPILATOARE ŞI ASAMBLOARE

Compilatoarele translatează instrucţiunile HLL în binar cod – maşină pentru a fi direct executate de către computer. Ele au devenit componente de bază într-un sistem de calcul, reflectând, de regulă, eficienţa cu care resursele harware sunt exploatate de către programatori.

21

Page 22: Arhitectura Sistemelor de Calcul

Înainte de apariţia limbajelor de nivel înalt şi a compilatoarelor, programatorii foloseau limbajul de asamblare (ASM) şi asambloarele. Acest lucru avea, de asemenea, avantajul de a nu scrie programe direct în binar.

Translatarea unui program HLL se poate face fie prin intermediul unui compilator, fie prin intermediul unui interpretor. Limbajele BASIC şi Java au pornit la început folosind interpretoare, dar acum există şi compilatoare pentru ele.

Pentru a fi executat de către microprocesor, un program trebuie să parcurgă următoarele etape:- Editare (EDIT)- Compilare (COMPILE)- Editare de legături (LINK)- Încărcare în memorie (LOAD)

8. ELEMENTE ALE LIMBAJULUI DE ASAMBLARE

8.1. INTRODUCERE ÎN LIMBAJUL DE ASAMBLARE INTEL

Limbajul de asamblare posedă instrucţiuni cod-maşină, mnemonice (provin de la cuvintele în engleză ce specifică acţiunea lor) precum ADD, MOV, SUB sau JMP.Programul scris folosind un limbaj de asamblare apare sub forma unei liste de de mnemonice ce pot fi convertite uşor în limbajul de cod binar. Programele ce fac această translatare se numesc asambloare. Exemple de limbaje de asamblare sunt: MASM (Microsoft Assembler) şi TASM (Turbo Assembler – dezvoltat de firma Borland).

8.2. Formatul general al unei instrucţiuni în limbaj de asamblare

O linie de cod scrisă în limbaj de asamblare are următorul format general:

<nume> <instrucţiune/directivă> <operanzi> <;comentariu>unde:- <nume> - reprezintă un nume simbolic opţional;- <instrucţiune/directivă> - reprezintă mnemonica (numele) unei instrucţiuni sau a unei directive;

22

Page 23: Arhitectura Sistemelor de Calcul

- <operanzi> - reprezintă o combinaţie de unul, doi sau mai mulţi operanzi (sau chiar nici unul), care pot fi constante, referinţede memorie, referinţe de regiştri, şiruri de caractere, în funcţie de structura particulară a instrucţiunii;- <;comentariu> - reprezintă un comentariu opţional ce poate fi plasat după caracterul „;” până la sfârşitul liniei respective de cod.

8.3. Instrucţiuni generale (mnemonice)

o MOV - mutare de informaţie,o PUSH - punere de informaţii în memoria organizată ca o stivă,

o POP - aducerea informaţiei din memoria stivă;

instrucţiuni de intrare/ieşire

o IN - depunerea în registrul acumulator a informaţiei stocate în registrul de intrare/ieşire (portul de date),

o OUT - scrierea în portul de date a informaţiei aflate în registrul acumulator;

instrucţiuni aritmetice

o adunare (ADD, ADC, INC etc.),

o scădere (SUB, DEC, NEG, CMP etc.),

o înmulţire (MUL, IMUL etc.),

o împărţire (DIV, IDIV etc.);

instrucţiuni de manipulare a şirurilor de biţi

o operaţii logice (NOT, AND, OR, XOR, TEST),

o deplasare (SHL, SAL, SHR, SAR),

o rotire (ROL, ROR, RCL, RCR);

instrucţiuni de transfer

o salt necondiţionat (CALL, RET, JMP),

23

Page 24: Arhitectura Sistemelor de Calcul

o salt condiţionat - prin testarea indicatorilor de condiţii (JC, JNC, JE, JG, JL etc.),

o cicluri (LOOP etc.),

o întreruperi (INT, IRET etc.);

instrucţiuni de sincronizare externă: HLT, WAIT, NOP etc.

8. Regiştrii microprocesorului Intel

Regiştrii (sau registrele) microprocesorului reprezintă locaţii de memorie speciale aflate direct pe cip; din această cauză reprezintă cel mai rapid tip de memorie. Un lucru deosebit legat de regiştri este faptul că fiecare dintre aceştia au un scop bine precizat, oferind anumite funcţionalităţi speciale, unice.

Există patru mari categorii de regiştri:

1. Regiştrii de uz general, 2. Registrul indicatorilor de stare (flags), 3. Regiştrii de segment, 4. Registrul pointer de instrucţiune.

1. Regiştrii de uz general

Regiştrii de uz general sunt implicaţi în operarea majorităţii instrucţiunilor, drept operanzi sursă sau destinaţie pentru calcule, copieri de date, pointeri la locaţii de memorie sau cu rol de contorizare. Fiecare dintre cei 8 regiştrii de uz general AX, BX, CX, DX, SP, BP, DI,SI sunt regiştrii pe 16 biţi pentru microprocesorul 8086, iar de la procesorul 80386 încoace au devenit regiştrii pe 32 de biţi, denumiţi, respectiv: EAX, EBX, ECX, EDX, ESP, EBP, EDI, ESI (Extended ). Mai mult, cei mai puţin semnificativi 8 biţi ai regiştrilor AX, BX, CX, DX formează respectiv regiştrii AL, BL, CL, DL (Low), iar cei mai semnificativi 8 biţiai aceloraşi regiştrii formează regiştrii AH, BH, CH, DH (High).

Registrul AX (EAX)

Registrul AX (EAX) este denumit şi registrul acumulator, fiind principalul registru de uz general utilizat pentru operaţii aritmetice, logice şi de deplasare de date. Totdeauna operaţiile de înmulţire şi împărţire presupun implicarea registrului AX. Unele dintre instrucţiuni sunt optimizate pentru a se executa mai rapid atunci când este folosit AX. În plus, registrul AX este folosit şi pentru toate transferurile de date de la/către porturile de Intrare/Ieşire. Poate fi accesat pe porţiuni de 8, 16 sau 32 de biţi, fiind referit drept AL (cei mai puţin semnificativi 8 biţi din

24

Page 25: Arhitectura Sistemelor de Calcul

AX), AH (cei mai semnificativi 8 biţi din AX), AX (16 biţi) sau EAX (32 de biţi). Acest lucru este utilizat pentru a lucra cu date pe un octet, permiţând ca registrul AX să fie folosit pe postul a doi regiştri separaţi (AH şi AL).

Prezentăm în continuare alte câteva exemple de instrucţiuni ce utilizează registrul AX. De remarcat este faptul că transferurile de date se fac pentru instrucţiunile (denumite şi mnemonice) Intel de la dreapta spre stânga, exact invers decât la Motorola, unde transferul se face de la stânga la dreapta.

Exp:Următoarele trei instrucţiuni setează registrul AH cu valoarea 1, incrementează cu 1 această valoare şi apoi o copiază în registrul AL:…MOV AH, 1INC AHMOV AL, AH…Valoarea finală a registrului AX va fi 22 (AH = AL = 2).

Registrul BX (EBX)

Registrul BX (Base), sau registrul de bază poate stoca adrese pentru a face referire la diverse structuri de date, cum ar fi vectorii stocaţi în memorie. O valoare reprezentată pe 16 biţi stocată în registrul BX poate fi utilizată ca fiind o porţiune din adresa unei locaţii de memorie ce va fi accesată. Spre exemplu, următoarele instrucţiuni încarcă registrul AH cu valoarea din memorie de la adresa 21.…MOV AX, 0MOV DS, AXMOV BX, 21MOV AH, [ BX ]…Se observă că am încărcat valoarea 0 în registrul DS înainte de a accesa locaţia de memorie referită de registrul BX. Acest lucru este datorat segmentării memoriei (segmentare discutată mai în detaliu în secţiunea consacrată regiştrilor de segment); implicit, atunci când este folosit ca pointer de memorie, BX face referire relativă la registrul de segment DS adresa la care face referire este o adresă relativă la adresa de segment conţinută în registrul DS).

Registrul CX (ECX)

25

Page 26: Arhitectura Sistemelor de Calcul

Specializarea registrului CX (Counter) este numărarea; de aceea, el se numeşte şi registrul contor. De asemenea, registrul CX joacă un rol special atunci când se foloseşte instrucţiunea LOOP. Rolul de contor al registrului CX se observă imediat din exemplul următor:…MOV CX, 5start:…<instrucţiuni ce se vor executa de 5 ori>…SUB CX, 1JNZ start…Deoarece valoarea iniţială a lui CX este 5, instrucţiunile cuprinse între eticheta start şi instrucţiunea JNZ se vor executa de 5 ori (până când registrul CX devine 0). Instrucţiunea SUB CX, 1 decrementează registrul CX cu valoarea 1 iar instrucţiunea JNZ start determină saltul înapoi la eticheta start dacă CX nu are valoarea 0. În limbajul microprocesorului există şi o instrucţiune specială legată de ciclare. Aceasta este instrucţiunea LOOP, care este folosită în combinaţie cu registrul CX. Liniile de cod următoare sunt echivalente cu cele anterioare, dar aici se utilizează instrucţiunea LOOP:…MOV CX, 5start:…<instrucţiuni ce se vor executa de 5 ori>…LOOP start…Se observă că instrucţiunea LOOP este folosită în locul celor două instrucţiuni SUB şi JNZ anterioare; LOOP decrementează automat registrul CX cu 1 şi execută saltul la eticheta specificată (start) dacă CX este diferit de zero, totul într-o singură instrucţiune.Registrul DX (EDX)

Registrul de uz general DX (Data register), denumit şi registrul de date, poate fi folosit în cazul transferurilor de date Intrare/Ieşire sau atunci când are loc o operaţie de înmulţire sau de împărţire. Instrucţiunea IN AL, DX copiază o valoare de tip Byte dintr-un port de intrare, a cărui adresă se află în registrul DX. Următoarele instrucţiuni determină scrierea valorii 101în portul I/O 1002:...MOV AL, 101MOV DX, 1002OUT DX, AL…Referitor la operaţiile de înmulţire şi împărţire, atunci când împărţim un număr pe 32 de biţi la un număr pe 16 biţi, cei mai semnificativi 16 biţi ai deîmpărţitului trebuie să fie în DX. După

26

Page 27: Arhitectura Sistemelor de Calcul

împărţire, restul împărţirii se va afla în DX. Cei mai puţin semnificativi 16 biţi ai deîmpărţitului trebuie să fie în AX iar câtul împărţirii va fi în AX. La înmulţire, atunci când seînmulţesc două numere pe 16 biţi, cei mai semnificativi 16 biţi ai produsului vor fi stocaţi în DX iar cei mai puţin semnificativi 16 biţi în registrul AX.

Registrul SI

Registrul SI (Source Index) poate fi folosit, ca şi BX, pentru a referi adrese de memorie. De exemplu, secvenţa de instrucţiuni următoare:…MOV AX, 0MOV DS, AXMOV SI, 33MOV AL, [ SI ]

Încarcă valoarea (pe 8 biţi) din memorie de la adresa 33 în registrul AL. Registrul SI este, de asemenea, foarte folositor atunci când este utilizat în legătură cu instrucţiunile dedicate tipului STRING (şir de caractere).

Registrul DI

Registrul DI (Destination Index) este utilizat în mod asemănător registrului SI. În secvenţa de instrucţiuni următoare:...MOV AX, 0MOV DS, AXMOV DI, 1000ADD BL, [ DI ]…se adună la registrul BL valoarea pe 8 biţi stocată la adresa 1000. Registrul DI este puţin diferit faţă de registrul SI în cazul instrucţiunilor de tip string; dacă SI este întotdeauna pe post de pointer sursă de memorie, registrul DI serveşte drept pointer destinaţie de memorie. Mai mult, în cazul instrucţiunilor de tip string, registrul SI adresează memoria relativ la registrul de segment DS, în timp ce DI conţine referiri la memorie relativ la registrul de segment ES. În cazul în care SI şi DI sunt utilizaţi cu alte instrucţiuni, ei fac referire la registrul de segment DS.

Registrul BP

Rolul regiştrilor BP şi SP este prezenta in contextul utilizarii stivei. Stiva reprezintă o porţiune specială de locaţii adiacente din memorie. Aceasta este conţinută în cadrul unui segment de

27

Page 28: Arhitectura Sistemelor de Calcul

memorie şi identificată de un selector de segment memorat în registrul SS (cu excepţia cazului în care se foloseşte modelul nesegmentat de memorie în care stiva poate fi localizată oriunde în spaţiul de adrese liniare al programului). Stiva este o porţiune a memoriei unde valorile pot fi stocate şi accesate pe principul LIFO (Last In – First Out), drept urmare ultima valoare stocată în stivă este prima ce va fi citită din stivă. De regulă, stiva este utilizată la apelul unei proceduri sau la întoarcerea dintr-un apel de procedură (principalele instrucţiuni folosite sunt CALL şi RET).

Registrul pointer de bază, BP (Base Pointer) poate fi utilizat ca pointer de memorie precum regiştrii BX, SI şi DI. Diferenţa este aceea că, dacă BX, SI şi DI sunt utilizaţi în mod normal ca pointeri de memorie relativ la segmentul DS, registrul BP face referire relativ la segmentul de stivă SS.Deoarece BX, SI şi DI se referă la segmentul de date, nu există o modalitate eficientă de a folosi regiştrii BX, SI, DI pentru a face referire la parametrii salvaţi în stivă din cauză că stiva este localizată într-un alt segment de memorie. Registrul BP oferă rezolvarea acestei probleme asigurând adresarea în segmentul de stivă.Spre exemplu, instrucţiunile:...PUSH BPMOV BP, SPMOV AX, [ BP+4 ]…fac să se acceseze segmentul de stivă pentru a încărca registrul AX cu primul parametru trimis de un apel C unei rutine scrise în limbaj de asamblare. În concluzie, registrul BP este conceput astfel încât să ofere suport pentru accesul la parametri, variabile locale şi alte necesităţi legate de accesul la porţiunea de stivă din memorie.

28

Page 29: Arhitectura Sistemelor de Calcul

Fig. Structura stivei

Registrul SP

Registrul SP (Stack Pointer), sau pointerul de stivă, reţine de regulă adresa de deplasament a următorului element disponibil în cadrul segmentului de stivă. Acest registru este, probabil, cel mai puţin „general” dintre regiştrii de uz general, deoarece este dedicat mai tot timpuladministrării stivei.Registrul BP face în fiecare clipă referire la vârful stivei – acest vârf al stivei reprezintă adresa locaţiei de memorie în care va fi introdus următorul element în stivă. Acţiunea de a introduce un nou element în stivă se numeşte „împingere” (în engleză push); de aceea, instrucţiunea respectivă poartă numele de PUSH. În mod asemănător, operaţia de scoatere a unui element din vârful stivei poartă, în engleză, numele de pop, iar instrucţiunea echivalentă operaţiei se numeşte POP.

Este permisă stocarea valorilor în registrul SP precum şi modificarea valorii sale prin adunare sau scădere la fel ca şi în cazul celorlalţi regiştri de uz general; totuşi, acest lucru nu este recomandat dacă nu suntem foarte siguri de ceea ce facem. Prin modificarea registrului SP, vom modifica adresa de memorie a vârfului stivei, ceea ce poate avea efecte neprevăzute,aceasta pentru că instrucţiunile PUSH şi POP nu reprezintă unicele modalităţi de utilizare a stivei.

29

Page 30: Arhitectura Sistemelor de Calcul

Indiferent dacă apelăm o subrutină sau ne întoarcem dintr-un astfel de apel de subrutină, fie procedură sau funcţie, în acest caz este folosită stiva. Unele resurse de sistem, precum tastatura sau ceasul de sistem, pot folosi stiva în momentul trimiterii unei întreruperi la microprocesor. Acest lucru presupune că stiva este folosită continuu, deci dacă se modifică registrul SP (adică adresa stivei), datele din noile locaţii de memorie nu vor mai fi cele corecte. În concluzie, registrul SP nu trebuie modificat în mod direct; el este modificat automat în urma instrucţiunilor POP, PUSH, CALL, RET. Oricare dintre ceilalţi regiştri de uz general pot fi modificaţi în mod direct în orice moment.

8.2.2. Registrul pointer de instrucţiuni (IP)

Registrul pointer de instrucţiuni este folosit, întotdeauna, pentru a stoca adresa următoareiinstrucţiuni ce va fi executată de către microprocesor. Pe măsură ce o instrucţiune este executată, pointerul de instrucţiune este incrementat şi se va referi la următoarea adresă de memorie (unde este stocată următoarea instrucţiune ce va fi executată). De regulă, instrucţiunea ce urmează a fi executată se află la adresa imediat următoare instrucţiunii ce a fost executată, dar există şi cazuri speciale (rezultate fie din apelul unei subrutine prin instrucţiunea CALL, fie prin întoarcerea dintr-o subrutină, prin instrucţiunea RET). Pointerul de instrucţiuni nu poate fi modificat sau citit în mod direct; doar instrucţiuni speciale pot încărca acest registru cu o nouă valoare. Registrul pointer de instrucţiune nu specifică pe de-a întregul adresa din memorie a următoarei instrucţiuni ce va fi executată, din aceeaşi cauză a segmentării memoriei. Pentru a aduce o instrucţiune din memorie, registrul CS oferă o adresă de bază iar registrul pointer de instrucţiuneindică adresa de deplasament plecând de la această adresă de bază.

30

Page 31: Arhitectura Sistemelor de Calcul

Fig. Regiştrii de segment, pointerul de instrucţiuni şi registrulindicatorilor de stare

8.2.3. Registrul indicatorilor de stare (FLAGS) pe 16 biţi conţine informaţii legate de starea microprocesorului precum şi de rezultatele ultimilor instrucţiuni executate. Un indicator de stare

31

Page 32: Arhitectura Sistemelor de Calcul

(flag) este în sine o locaţie de memorie de 1 bit ce indică starea curentă a microprocesorului şi modalitatea sa de operare. Un indicator se spune că “este setat” dacă arevaloarea 1 şi “nu este setat” în caz contrar. Indicatorii de stare se modifică după execuţia unor instrucţiuni aritmetice sau logice. Exemple de indicatori de stare:- C (Carry) indică apariţia unei cifre binare de transport în cazul unei adunări sau împrumut în cazul unei scăderi;- O (Overflow) apare în urma unei operaţii aritmetice. Dacă este setat, înseamnă că rezultatul nu încape în operandul destinaţie;- Z (Zero) indică faptul că rezultatul unei operaţii aritmetice sau logice este zero;- S (Sign) indică semnul rezultatului unei operaţii aritmetice;- D (Direction) – când este zero, procesarea elementelor şirului se face de la adresa mai mică la cea mai mare, în caz contrar este invers;- I (Interrupt) controlează posibilitatea microprocesorului de a răspunde la evenimente externe (apeluri de întrerupere);- T (Trap) este folosit de programele de depanare (de tip debugger), activând sau nu posibilitatea execuţiei programului pas cu pas. Dacă este setat, UCP întrerupe fiecare instrucţiune, lăsând programul depanator să execute programul respectiv pas cu pas;- A (Auxiliary carry) suportă operaţii în codul BCD. Majoritatea programelor nu oferă suport pentru reprezentarea numerelor în acest format, de aceea se utilizează foarte rar;- P (Parity) este setat în conformitate cu paritatea biţilor cei mai puţin semnificativi ai unei operaţii cu date. Astfel, dacă rezultatul unei operaţii conţine un număr par de biţi 1, acest indicator este setat. Dacă numărul de biţi 1 din rezultat este impar, atunci indicatorul PF este zero. Este folosit de regulă de programe de comunicaţii, dar Intel a introdus acest indicator nu pentru a îndeplini o anumită funcţionalitate, ci pentru a asigura compatibilitatea cu vechile microprocesoare ale familiei x86.

8.3.4 Regiştrii de segment

Proprietăţile regiştrilor de segment sunt în strânsă legătură cu noţiunea de segmentare a memoriei. Premisa de la care se pleacă este următoarea: 8086 este capabil să adreseze 1MB de memorie, astfel că sunt necesare adrese pe 20 de biţi pentru a cuprinde toate locaţiile dinspaţiul de 1 MB de memorie. Totuşi, registrele utilizate sunt registre pe 16 biţi, deci a trebuit să se găsească o soluţie pentru această problemă.Soluţia găsită se numeşte segmentarea memoriei; în acest caz memoria de1MB este împărţită în 16 segmente de câte 64 KB (16*64 KB = 1024 KB = 1 MB).Noţiunea de segmentare a memoriei presupune utilizarea unor adrese de memorie formate din două părţi. Prima parte reprezintă adresa segmentului iar cea de-a doua porţiune reprezintă adresa de deplasament, sau offset-ul.

Exemplu de program scris folosind instructiunile limbajuli de asamblare :

32

Page 33: Arhitectura Sistemelor de Calcul

Cerinta :

Sa se scrie secventa de cod cu ajutorul careia se pot interschimba doua linii dintr-o matrice.

Rezolvare:

main(){

long matr[12]={1,2,3,4,5,6,7,8,9,10,11,12}; //matricea ocupa in memorie 12*4 octeti

long col=3;long i=1;long j=4;long tempESP=0; //variabile utilizate pt. memorarea pointerului (cursorului) si bazei stiveilong tempEBP=0;long vari=0; //variabila in care memoram adresa primului element din linia

ilong varj=0; //variabila in care memoram adresa primului element din linia

jlong sz=sizeof(long);

//incarcam adresa efectiva a primului element al matricei_asm lea ebx,matr

//calculam offset-ul primului octet al primului element din linia i, adica (i-1) x col_asm mov eax,i_asm sub eax,1_asm mul col_asm mul sz ;luam in calcul faptul ca elementele matricei sunt de tip

long, adica sunt variabile pe 4 octeti

//stim offset-ul (calculat in eax) si, ca atare, putem calcula adresa primului element al liniei i; memoram//in <vari> aceasta adresa

_asm add ebx,eax_asm mov vari,ebx

//REincarcam adresa efectiva a primului element al matricei_asm lea ebx,matr

//calculam indicele primului element din linia j, adica (j-1) x col_asm mov eax,j_asm sub eax,1_asm mul col_asm mul sz ;luam in calcul faptul ca elementele matricei sunt de tip

long, adica sunt variabile pe 4 octeti

//stim indicele (calculat in eax) si, ca atare, putem calcula adresa primului element al liniei j; memoram in <varj> aceasta adresa

33

Page 34: Arhitectura Sistemelor de Calcul

_asm add ebx,eax_asm mov varj,ebx

_asm mov ecx,col_asm mov eax,vari_asm mov ebx,varj

_asm mov tempESP,esp ;salvam indicatorul de stiva_asm mov tempEBP,ebp ;salvam baza stivei

_asm bucla:

_asm push [eax]_asm push [ebx]

_asm mov edx,esp //salvam cursorul (pointerul) stivei

_asm pop [eax] //scoatem ultima valoare dusa in stiva in locul valorii din EAX

_asm mov esp,edx //restauram pointerul stivei de dinanintea ultimului pop_asm add esp,sz //incrementam pointerul stivei cu patru octeti (elementele

matricei noastre sunt pe 4 octeti)

_asm mov edx,esp //salvam cursorul (pointerul) stivei

_asm pop [ebx]

_asm mov esp,edx //restauram pointerul stivei de dinanintea ultimului pop_asm add esp,sz //incrementam pointerul stivei cu patru octeti (elementele

matricei noastre sunt pe 4 octeti)

_asm add eax,sz //ne deplasam la urmatorul element din linia i_asm add ebx,sz //ne deplasam la urmatorul element din linia j

_asm loop bucla

_asm mov esp,tempESP //restauram pointerul si baza stivei memorate anterior_asm mov ebp,tempEBP

return 0;

9. PLACA DE BAZA

Cele mai populare sisteme de calcul ale momentului sunt cele dezvoltate în jurulproiectului IBM PC. Un microcalculator IBM sau o clonă PC este formată din trei părţi:

- unitatea sistem (system unit), - tastatura (keyboard)

34

Page 35: Arhitectura Sistemelor de Calcul

- ecranul (display screen).Unitatea sistem este construită modular. Partea cea mai importantă este placa de bază (eng. mother board sau main board). Ea conţine circuitele electronice cele mai importante:

- microprocesorul,- ceasul (clock), - memoria RAM (Random Access Memory) - memoria ROM (Read Only Memory).

În plus, unitatea sistem mai conţine: sursa de alimentare, ventilatoare şi unităţile de discuri.Diferitele plachete pentru cuplarea unor dispozitive de intrare-ieşire (imprimantă, disc, modem etc.) se cuplează la placa de bază folosind conectorii la magistrală. Magistrala (bus) este un canal comun de comunicaţie între plachetele calculatorului prin care circulă semnalele de dialog între componente. Plachetele pot fi introduse opţional în sloturi (conectori), în funcţie de dorinţa utilizatorului. Cele mai importante plachete sunt: adaptorul video (display screen adapter), adaptorul sau cuplorul de disc, plachetele de memorie, plachetele de comunicaţie (pentru imprimantă, modem etc.).

Pentru microcalculatoare compatibile IBM-PC se utilizează mai multe tronsoane demagistrală: ISA (eng. Industry Standard Architecture) , MCA (eng. Micro Channel

Pe langa functia de support pentru celelalte componente, placa de baza are rolul de a regla si distribui tensiune procesorului si celorlalte componente . O placa de baza de calitate are variatii mici al intensitatii curentului 'livrat' si mai multe valori ale tensiunii pe care o poate furniza.

Porturile seriale sunt destinate conectarii în exterior a deviceurilor care sunt cam putine: modem/mouse. Porturile paralele sunt destinate conectarii imprimantelor sau altor dispozitive ce functioneaza pe acest tip de port (scannere, placi de acizitie, etc) .

10. MEMORIA

10.1. CUVINTE CHEIE:

Cap de citire/scriere. Componenta discului care scrie datele pe un dis si il citeste, folosind magnetismul sau laserul.

Cilindru. Un cilindru imaginar care trece prin aceleasi piste de pe mai multe platane.

Citire. Recuperarea datelor de pe unitatile de stocare, cum ar fi fisiere de pe un disc.

Cluster. Un sector sau mai multe sectoare succesive care contin un grup continuu de date. Cea mai mica unitate in care sunt stocate datele pe un disc.

Comprimare. Un proces de mutare a datelor redundante intr-un fisier de dimensiuni mici.

35

Page 36: Arhitectura Sistemelor de Calcul

Cookie. Discul Mylar pe care sunt scrise datele intr-o unitate de discheta. Director. Un set de fisiere legate intre ele; mai este numit “dosar” in Windows. Fisierele pot fi localizate logic in parti diferite ale discului, dare ele sunt grupate logic intr-un director, care poate contine alte dosare sau sub-directoare.

Disc. Orice dispozitiv pentru stocarea fisierelor de calculator.

Formatare. Procesul prin care un disc este impartit in piste si sectoare, astfel incat fisierele pot fi stocate si gasite intr- o maniera ordonata.

Fragmentare. Procesul prin care fisierele sunt sparte in clustere vast separate. Defragmentarea sau optimizarea corectecteaza fragmentarea, rescriind fisierele sparte in sectoare continue.

Gigabyte. Aproximativ un miliard de bytes sau caractere. Prescurtarea este G sau GB. Capacitatile hard discurilor sunt adesea exprimate in gigabytes.

Laser. Prescurtarea pentru Light Amplification by Stimulated Emission of Radiation ( amplificarea luminii prin emisie stimulatade radiatii) un dispozitiv care produce o raza ingusta si coerenta de lumina. “Coerenta” inseamna ca toate undele de lumina se misca la unison, astfel incat raza nu se disperseaza (cu alte cuvinte, nu se imprastie) si nu devine mai slaba, asa cum se intampla cu lumina obisnuita. Numai in citire (read-only). Un dispozitiv de stocare – disc sau memorie- in care nu pot fi scrise date noi.

Pista. O banda pe un disc, creata prin formatare.

Platan. Un disc rigid din metal pe care sunt stocate datele intr-un hard disc.

Rata de transfer a datelor (data transfer rate). Numarul de bytes sau megabytes transferati de pe un disc in memorie (sau de pe un dispozitiv de stocare pe altul) intr-o secunda.

Sector. O diviziune pe un disc, de forma unei felii de placinta, creata prin formatare.

Stocare optica. Discuri care folosesc lasere pentru stocarea si citirea datelor.

Tablou de discuri (drive array). Doua sau mai multe unitati de disc legate intre ele, pentru a imbunatati timpul de recuperare a fisierelor si a oferi posibilitatea de corectie a erorilor.

Timp de acces (access time). Cat dureaza recuperarea datelor de pe un disc. Timpul de acces este alcatuit din timpul de cautare (seek time) – cat timp dureaza pana cand capul de citire/scriere se pozitioneaza asupra unei anumite piste), timpul de stabilizare (settle time) – cat

36

Page 37: Arhitectura Sistemelor de Calcul

dureaza pana la stabilizarea capului, si latenta (latency) – cat dureaza pana cand sectorul necesar se roteste pentru a ajunge sub cap. Toti acesti timpi sunt masurati in milisecunde.VFAT (Virtual File Allocation Table ) tabela virtuala de alocare a fisierelor din Windows 95 si 98 reprezinta un fisier special in care un disc stocheaza o inregistrare a locatiilor tuturor fisierelor de pe disc. Numit simplu FAT in DOS.

Memorarea informaţiilor în sistemul de calcul se realizează prin intermediul memoriei. Memoria este spaţiul de lucru primar al oricărui sistem de calcul. În funcţie de locul ocupat, distingem: memoria centrală (numită şi memoria principală sau internă) şi memoria secundară (numită şi auxiliară).

10.3. MEMORIA INTERNA

Memoria internă este o componentă principală principală a sistemelor electronice de calcul, având rolul de a păstra datele şi programele în formă binară pe toată durata de prelucrare a datelor participând împreună cu microprocesorul la efectuarea operaţiilor stabilite prin program. În memoria interna sunt stocate programele şi informaţiile utilizate de ele în timpul execuţiei lor de către procesor. Memoria secundară păstrează cantităţi mari de date şi programe folosite frecvent şi încărcabile rapid în memoria centrală. Memoria unui sistem de calcul este caracterizată prin:

- capacitate,- timp de acces,

- viteză de transfer,

- cost,

- mod de accesare a informaţiei stocate etc.

Capacitatea memoriei este definită prin numărul de unităţi de informaţie (caractere, cuvinte) disponibile pentru stocarea informaţiei. În general, capacitatea memoriei se exprimă în MB (mega octeţi, eng. Mega Bytes): 1 MB=1024 KB=102410248 biţi).

Localizarea zonelor de memorie (internă sau externă) se realizează prin intermediul adresei. Prima locaţie a memoriei centrale are adresa 0 (zero). Dacă unitatea de stocare este octetul, atunci adresa 10 (scrisă zecimal) reprezintă locaţia a unsprezecea.

Timpul de acces exprimă durata intervalului în care poate fi obţinută informaţia stocată în memorie. Viteza de transfer se exprimă prin numărul de unităţi de informaţie transferate de memorie în unitatea de timp.

37

Page 38: Arhitectura Sistemelor de Calcul

În funcţie de natura accesului la informaţia ce o înmagazinează, memoria centrală a unui calculator poate fi cu acces numai în citire şi respectiv, cu acces în scriere şi citire – RAM si ROM. Memoria este spaliul de lucru primar al oricarui calculator . Lucrând în tandem cu CPU (procesorul) are rolul de a stoca date si de a procesa informatii ce pot fi prelucrate imediat si în mod direct de catre processor sau alte dispozitive ale sistemului . Memoria este de asemenea legatura dintre software si CPU .

Memoria de tip numai citirea este permisă (ROM - Read Only Memory) se mai numeşte şi memorie permanentă sau nevolatilă, deoarece programele şi datele ce au fost înscrise în ea sunt fixate o dată pentru totdeauna. În general, în această memorie este depozitat firmware-ul (secvenţă de instrucţiuni cu destinaţie specială).

Memoria ce permite acces de tip citire-scriere se mai numeşte memorie cu acces aleator (RAM - Random Access Memory), deşi, tot cu acces aleator este şi memoria ROM, şi este de tip volatil (trebuie să fie alimentată electric pentru a reţine date). Din punct de vedere tehnologic deosebim două tipuri de memorie RAM: DRAM (RAM dinamic) şi SRAM (RAM static). Tehnologia DRAM este cea mai întâlnita în sistemele actuale , trebuind sa fie reimprospatata de sute de ori / secunda pentru a retine datele stocate în celulelede memorie (de aici vine si numele) fiecare celula este conceputa ca un mic condensator care stocheaza sarcina electrica . Este prezenta sub doua tipuri de module : SIMM-urile si DIMM-urile . SIMM-ul a fost dezvoltat cu scopul de a fi o solutie usoara pentru upgrade-uri . Magistrala de date este pe 32 biti , fizic modulele prezentând 72 sau 30 de pini . DIMM-ul a fost folosit întâi la sistemele MacIntosch dar a fost adoptat pe PC-uri datorita magistralei pe 64 de biti , având 128 pini .

EDO RAM (Extended Data Output) este un nou tip de RAM a cărui principală proprietate este aceea de a menţine datele la dispoziţia procesorului, chiar după iniţierea unui nou ciclu de acces la memorie. Această modalitate de acces suprapusă permite să pară mai rapidă decât este de fapt. Creşterea performanţelor prin folosirea acestui tip de memorii este evaluată la 15%. Sunt construite similar cu DRAM-urile, lucrează însă cu 20% mai rapid, pentru că preiau o parte din munca controlerului de memorie. Acest lucru este posibil pentru că noile cipuri de memorie au o zonă pentru memorarea intermediară a datelor. În prezent, această memorie este concurată de SDRAM. Furnizorii de componente se orientează deja către tehnologii mai noi al căror obiectiv este de a răspunde nevoilor crescânde ale procesoarelor, cum sunt RDRAM şi MDRAM.Memoria, precum şi microprocesorul sunt cip-uri obţinute printr-o tehnologie specială, numită CMOS (Complementary Metal Oxide Semiconductors). Această tehnologie se bazează pe combinarea a două tipuri de semiconductori, PMOS şi NMOS. Ele consumă extrem de puţină energie şi constituie memorii RAM. În felul acesta ele pot fi alimentate de la baterie. Este motivul pentru care parametrii de configurare ai PC-ului sunt păstraţi înn memoria CMOS.

Atributul dinamic specifică necesitatea unui interval de timp foarte mic între momentele de reîmprospătare (refresh), pentru a se reţine datele stocate în celulele de memorie. DRAM-ul este

38

Page 39: Arhitectura Sistemelor de Calcul

preferat pentru memoria principală a sistemelor, în timp ce SRAM-ul, care nu necesită o reîmprospătarea foarte deasă, este utilizat în primul rând la implementarea memoriei cache.

Există mai multe tipuri de module DRAM utilizate în sistemele de calcul moderne:

FPM (Fast Page Mode), EDO (Enhanced Data Out),

SDRAM (Synchronous DRAM) etc.

Ultimul tip amintit, face ca procesul de interogare a memoriei principale să fie foarte eficient datorită sincronizării modulului de memorie cu semnalul de ceas al procesorului.

Circuitele de stocare de tip ROM se încadrează în următoarele clase:

PROM (Programmable ROM) - pentru înregistrarea codului cu ajutorul unui echipament special, odată ce este scris nu se mai poate schimba;

EPROM (Erasable Programmable ROM) - circuit de stocare de tip ROM care poate fi şters cu ajutorul unui mediu în ultraviolet, iar apoi poate fi rescris

Memoria cache

Rolul memoriei cache constă în memorarea datelor şi instrucţiunilor solicitate frecvent de către procesor. Memoria cache este primul loc unde procesorul caută datele de care are nevoie. Numai dacă acestea nu se află în memoria cache ele vor fi căutate în memoria principală.

Pe placa de bază, memoria cache poate apărea în mai multe feluri: cipuri ce sunt inserate în socluri speciale; deja încorporată pe placa de bază (des întîlnită pe plăcile de Pentium); forma unor mici card-uri (asemnătoare unui SIMM - Single In-line Memory Module de

memorie) ce sunt introduse în sloturi speciale PBC (Pipelined Burst Cache) întîlnite numai la plăci de Pentium.

Memoria cache poate fi de două niveluri:1. nivelul 1 se află chiar în interiorul microprocesorului (L1);2. nivelul 2 se află pe placa de bază (L2).1

Controlerul de cache şi memorie comandă accesul la cache-ul second level de pe placa de bază. Memoria cache este compusă din module SRAM foarte rapide, care memorează datele intermediar. În cazul în care procesorul cere date, controlerul verifică pentru început dacă informaţiile sunt depuse doar în memoria cache. Dacă nu este cazul, procesorul trebuie să se

1 Zaharescu, A., Negri¡oiu, S., Upgrade-ul ,problema la care vå ve¡i gândi întotdeauna, PC WORLD România, nr. 8-9, 1996, p. 47

39

Page 40: Arhitectura Sistemelor de Calcul

adreseze memoriei DRAM sau harddisc-ului. Controlerul de memorie reglează întreaga comandă a busului pentru transferul de date între procesor, memoria cache (SRAM)), memoria principală (DRAM) şi busul PCI (de exemplu, pentru că el este de mai multe tipuri: ISA, VESA, MCA).2 Memoria cache este o punte între memoria RAM sensibil mai lentă dar mai ieftină şi procesorul rapid. Din punct de vedere al administrării şi utilizării, memoria internă este identificată prin următoarele componente: memoria de bază (convenţională); memoria superioară (Upper Memory Area - UMA); memoria înaltă (High Memory Area - HMA); memoria extinsă; memoria expandată.

Memoria de bază este formată din primii 640 Ko din memoria RAM, fiind componenta de bază a memoriei interne, fără de care nici un calculator nu poate funcţiona. Ea reprezintă partea din memoria internă unde se execută majoritatea programelor-utilizator şi unde se încarcă sistemul de operare la pornirea calculatorului.

Memoria superioară urmează memoriei de bază şi ocupă o zonă de 384 Ko (641la 1024). În mod curent, programele-utilizator nu au acces la această zonă. Ea este împărţită astfel: primii 128 Ko formează memoria RAM video, folosită de către adaptoarele video; următorii 128 Ko sunt rezervaţi pentru programele soft şi programele BIOS (Basic Input

Output System) de pe plăcile adaptoare. BIOS-ul reprezintă o colecţie de programe prin care se comunică cu perifericele calculatorului.

ultimii 128 Ko sunt rezervaţi pentru componenta BIOS de pe placa de bază. Tot aici se află autotestul efectuat pentru punerea sub tensiune şi încărcătorul de sistem care dirijează sistemul până la preluarea controlului de către sistemul de operare MS-DOS.

Memoria extinsă este aeea parte a memoriei ce poate fi adresată peste 1 Mo, fiind specifică procesoarelor începând cu tipul I 80286 şi mai puternice. Memoria extinsă este frecvent utilizată de produsele soft moderne care solicită volume mari de memorie.

Primii 64 Ko ai memoriei extinse se numesc memoria înaltă (Upper Memory Block) în care rulează o parte din programele sistemului de operare MS-DOS dacă în fişierul CONFIG.SYS a fost specificată comanda DOS=HIGH.

Atunci când se lucrează cu memoria extinsă, microprocesorul este supus unor protocoale prin care se trece din modul de lucru real în modul de lucru protejat. Aceste protocoale sunt puse la dispoziţia utilizatorului fie independent, fie însoţind anumite programe care solicită memoria extinsă. Sistemul de operare MS-DOS pune la dispoziţia utilizatorului managerul de memorie extinsă HIMEM.SYS care instalat în fişierul CONFIG.SYS asigură lucrul cu memoria extinsă.

Memoria expandată este o memorie suplimentară care apare datorită utilizării incomplete a memoriei superioare. S-a constatat că în BIOS există zone libere, programele nefiind alipite unul de celălalt. Aceste porţi au fost folosite pentru a instala pe calculator memoria expandată. În cazul acestei memorii pot fi stocate, într-un volum limitat, programe şi

2 Heise, F.¿i Schirmer, T., Cipuri mici cu efecte mari, CHIP România, nr. 3, 1996, p. 16

40

Page 41: Arhitectura Sistemelor de Calcul

date. Aceste date şi programe sunt constituite în blocuri (bancuri) de memorie a căror număr se memorează într-un registru al microprocesorului, ele fiind introduse pe rând în zonele libere din memoria superioară. Mărimea acestei memorii este limitată de capacitatea registrelor

10.4.NOŢIUNI DE ADRESARE A MEMORIEI

Memoria unui calculator poate fi accesată dacă se cunoaşte o adresăde memorie. În acest sens, octeţii sunt numerotaţi secvenţial: 0,1,2,3, etc.Componentele hardware lucrează cu aceste adrese de memorie, cunoscute sub numele de adrese absolute. Programele software folosesc însă alt tip de adresare, adresarea relativă. O adresă relativă reprezintă o adresă de memorie exprimată relativ la o locaţie de bază. De exemplu, o rutină a unui program poate fi scrisă astfel încât primul octet al său se află la adresa 0 (numită şi punct de intrare) iar celelalte adrese sunt exprimate ca adrese de deplasament (offset) relativ la această adresă. Atunci când rutina de program este încărcată în memorie, adresa absolută de început este stocată într-un registru, stabilindu-se o adresă de bază pentru rutina program.Adresarea relativă are două scopuri: în primul rând, permite unei rutine să fie relocalizată în memorie (să poată fi încărcată într-o locaţie diferită de memorie de fiecare dată când rulează). Deoarece fiecare locaţie a rutinei este exprimată relativ la punctul de intrare, iar acesta este stocat într-un registru de bază, totdeauna este posibil să se calculeze adresa absolută prin adunarea adresei de bază cu adresa de deplasament. În al doilea rând, deoarece doar adresa de deplasament trebuie stocată în instrucţiune, sunt necesari mai puţini biţi pentru a stoca fiecare adresă, acest lucru conducând la existenţa unor instrucţiuni de mărime mai mică.

11. MEMORIA EXTERNA (DISCURILE MAGNETICE-HARD-DISKUL)

Una dintre cele mai importante unităţi de memorare externă este unitatea de disc magnetic. Memorarea informaţiei pe discul magnetic urmează acelaşi principiu fizic cu cel utilizat în înregistrarea casetelor şi benzilor audio-video. Deosebirea principală între cele două sisteme de memorare este datorată naturii semnalului de înregistrare folosit: analogic, în cazul audio-video şi numeric (digital), în cazul discurilor sistemelor de calcul. Diferenţa faţă de benzile magnetice (înregistrate tot numeric) constă în modul de acces. Pe bandă accesul este secvenţială, pe disc accesul este direct.

Din punct de vedere fizic, o unitate de disc magnetic are în compunere unul sau mai multe platane, fiecare platan cu una sau două suprafeţe de înregistrare, atâtea capete de citire/scriere câte suprafeţe de înregistrare există, un braţ ce permite accesul de la exterior spre centrul platanului al capetelor de citire/scriere, motoare pentru rotirea platanelor şi deplasarea braţului, precum şi un set de circuite specializate (numit controler, cuplor sau adaptor) pentru comanda întregului mecanism.

41

Page 42: Arhitectura Sistemelor de Calcul

Discurile magnetice care conţin un singur platan se numesc discuri flexibile (floppy disc), iar platanul propriu-zis se numeşte dischetă. Discurile conţinând mai multe platane se numesc discuri rigide sau discuri dure (harddisc).

Atât pentru dischete, cât şi pentru discul rigid, întreaga colecţie de date formează aşa-numitul volum. Suprafeţele de înregistrare ale unui disc magnetic sunt împărţite într-un număr fix de cercuri concentrice, fiecare cerc numindu-se pistă. Adresa unei piste este definită de o pereche de numere întregi reprezentând numărul curent al suprafeţei de înregistrare, respectiv numărul curent al pistei. Suprafeţele de înregistrare se numerotează începând de la zero, de sus în jos. Pistele se numerotează crescător de la pista de rază maximă (indice 0) spre pista de rază minimă. Această numerotare se reia pentru fiecare suprafaţă de înregistrare.

Mulţimea pistelor de pe toate suprafeţele de înregistrare identificate prin acelaşi număr formează un cilindru. Cilindrii se numerotează de la zero, crescător, începând cu cel cu diametrul maxim spre cel cu diametrul minim. Fiecare pistă este împărţită în sectoare, de lungime fixă, de regulă 512 octeţi. Fiecare sector este adresat fizic de un triplet de numere întregi reprezentând numărul cilindrului, numărul suprafeţei şi numărul sectorului. Numerotarea sectoarelor pe cilindru începe de la unu. Pe fiecare cilindru, numărul de sectoare este acelaşi.

Din punct de vedere logic, pistele sunt numerotate începând de la zero pe suprafaţa de înregistrare zero şi continuând crescător până la epuizarea suprafeţelor şi pistelor. De asemenea, sectoarele sunt numerotate începând de la zero (cilindrul zero, suprafaţa zero), crescător până la epuizarea sectoarelor suprafeţelor cilindrilor. Adresa fiecărui sector este înscrisă la începutul acestuia într-un antet ce mai conţine şi o secvenţă de octeţi de sincronizare utilizaţi de adaptor (cuplor) pentru identificarea unei adrese disc.

Operaţia de scriere a adresei şi a celorlalte elemente ale antetului sectoarelor se numeşte formatare fizică a discului. În cazul sistemului de operare MS-DOS, formatarea fizică a dischetelor este realizată de comanda FORMAT. Pentru discul rigid, formatarea fizică este realizată, în majoritatea cazurilor, de către fabricantul acestuia.

Cele de mai sus arată că discul magnetic este o memorie accesabilă prin adresă, deci datele se obţin prin acces direct.

Performanţele unui disc magnetic depind de următorii factori:

timpul de poziţionare, numărul de rotaţii pe minut,

rata de transfer a discului.

Discurile flexibile au două suprafeţe pe care se poate scrie informaţia şi pot fi protejate la scriere prin fanta de protecţie (în poziţia liber). Cuplarea unităţilor de disc se poate realiza

42

Page 43: Arhitectura Sistemelor de Calcul

intern (prin intermediul unei interfeţe standard: IDE, SCSI etc.) sau extern (prin intermediul interfeţei paralele).

Din punct de vedere constructiv, discurile rigide sunt de tip intern (capacitate fixă, suportul de memorare nu poate fi demontat din unitatea de disc), cartridge (capacitate variabilă; suportul poate fi evacuat precum o casetă din cititorul/înregistratorul de casete (casetofon sau videocasetofon), respectiv pachet de discuri (care se montează în unităţile speciale de citire-scriere ale mini şi supercalculatoarelor).

11.1. Interfata pentru hard-disk

Interfata pentru hard-disk poate fi inclusa (în cele mai multe cazuri este) pe placa de baza sau poate fi achizitionata ca placa de extensie separata . Controllerele pentru hard-disk , ca si hdd-urile de altfel, pot fi de doua tipuri constructive : IDE (EIDE) sau SCSI(Small Computer System Interface) . Hard-diskurile SCSI necesita un controller special , interfata SCSI fiind mai avansata decat EIDE , mai scumpa , cu performante mai mari , având avantajul de a putea conecta pe acelasi controller si cablu scannere , hard-diskuri , unitati floppy, cdrom, etc, un numar total de 8 device-uri SCSI suportate simultan . Avantajele SCSI sunt multiple: poate conecta pe aceeasi magistrala 8 deviceuri diferite simultan (IDE - 2 deviceuri si acele HDD sau CD-ROM); lungimea panglicii SCSI - 10-25 m , viteza maxima 80Mb/sec wide ultra2 SCSI; gabaritul redus. SCSI utilizeaza cozi de mesaje. Mecanismele bazate pe astfel de cozi sunt integrate pe scara tot mai larga în sistemele de operare moderne (WindowsNT). Hard-diskurile SCSI au fost întotdeauna cu un pas în fata celor IDE , astfel capacitatile au fost mai mari si viteza de transfer net superioara , cel mai rapid hard-disk IDE acutual are o rata de transfer maxima de 66Mb/sec (UDMA/66). Marimile hard-diskurilor singulare sunt cuprinse între 20Mb si 4T. Aceasta capacitate poate fi extinsa prin intermediul discurilor RAID sau prin tehnologia de clustering (conectarea mai multor hdd-uri astfel ca sistemul sa le vada ca fiind unul singur; aceasta tehnologie este folosita si în procesarea paralela) .

11.2. Cum functioneaza o unitate de disc fix?

O carcasa metalica sigilata protejeaza componentele interne ale hard discului de particule de praf care ar putea bloca distanta ingusta dintre capetele de citire/scriere si platane. O obstructie aici ar determina unitatea sa cada efectiv, crestand o urma in stratul magnetic subtire care acopera platanul.

Un fus conectat la un motor electric roteste pana la 8 platane (realizate din metal sau sticla) acoperite cu un strat magnetic, la cateva mii de rotatii pe minut. Numarul platanelor si compozitia materialului magnetic care le acopera determina capacitatea discului. Platanele de azi, sunt acoperite cu un aliaj cu o grosime de aproximativ 3 minionimi de inci.

43

Page 44: Arhitectura Sistemelor de Calcul

In partea inferioara a discului, o placa de circuit imprimat, cunoscuta si sub numele de placa logica primeste comenzile de la controlerul discului, care la randul sau este gestionat de sistemul de operare si de sistemul de intrare/iesire de baza (BIOS). Placa logica traduce aceste comenzi in fluctuatii ale tensiunii care forteaza actuatorul de cap (head actuator) sa mute capetele grupate de citire/scriere peste suprafetele platanelor. Placa se asigura, de asemenea, ca fusul care roteste platanele se roteste cu o viteza constanta. Placa spune capetelor discului cand sa citeasca si cand sa scrie pe disc. La un disc IDE (Integrated Drive Electronics, dispozitive electronice integrate), controlerul discului face parte din placa logica.

Un actuator de cap impinge si trage perechea de brate ale capetelor de citire/scriere peste suprafetele platanelor cu o precizie extrema. El aliniaza capetele deasupra pistelor care se intind in cercuri concentrice pe suprafata platanelor.

Capetele de citire/scriere, atasate la capetele bratelor flexibile, se misca la unison, atat pe suprafata de sus, cat si pe cea de jos a platanelor hard discului. Capetele scriu datele provenite de la controlerul discului pe platane aliniind campurile magnetice de particule de pe suprafetele acestora; capetele citesc date detectand polaritatile particulelor care au fost deja aliniate.

Atunci cand programul dvs da instructiuni sistemului de operare sa citeasca sau sa scrie un fisier, sistemul de operare ordoneaza controlerului hard discului sa mute capetele de citire/scriere la tabela de alocare a fisierelor (FAT32, VFAT sau FAT) a discului. Sistemul de operare citeste tabela virtuala de alocare a fisierelor, pentru a stabili ce cluster de pe disc contine sectiunea de inceput a unui fisier sau ce portiuni ale discului sunt disponibile pentru a contine un nou fisier.

Un singur fisier poate fi presarat printre sute de clustere separate, raspandite pe mai multe platane. Sistemul de operare stocheaza un inceput de fisier in primele clustere pe care le gaseste listate in tabela virtuala de alocare a fisierelor. Aceasta pastreaza o inregistrare in lant a clusterelor utilizate de un fisier, fiecare legatura din lant conducand la urmatorul cluster care contine o alta parte din fisier. Dupa ce datele din tabela virtuala de alocare a fisierelor sau trecut prin componentele electronice ale discului si controlerul hard discului, ajungand inapoi la sistemul de operare, acesta da instructiuni discului sa isi transporte capetele de citire/scriere pe deasupra platanelor, citind sau scriind clustere pe platane care se rotesc sub capete. Dupa ce sistemul de operare scrie un nou fisier pe disc, el trimite capetele de citire/scriere inapoi la tabela virtuala de alocare a fisierelor, acolo unde inregistreaza o lista a clusterelor fisierului.

12. TIPURI DE MAGISTRALE

Cum se transmit informaţiile în interiorul calculatorului?În interiorul calculatorului informaţia se transmite codificat, în format binar. Deci, în

interiorul calculatorului informaţia circulă sub forma unui şir de biţi. Singura componentă hardware a calculatorului care face diferenţiere între programe şi date este procesorul. Pentru celelalte componente, informaţia este un şir de biţi fără nici o semnificaţie informaţională/

44

Page 45: Arhitectura Sistemelor de Calcul

Între cele trei mari componente hardware ale calculatorului, informaţia circulă pe magistrală (bus). Magistrala se defineşte ca mulţimea conductoarelor folosite în comun de mai multe unităţi funcţionale pentru realizarea unor sarcini pe care informaţia circulă sub formă de impulsuri electrice cu două niveluri de tensiune cărora le corespunde cele două cifre binare 0 şi 1.

După natura informaţiilor care circulă, magistralele pot fi de adrese, de date sau de semnale de control, după cum semnalele respective reprezintă adrese, date sau comenzi şi informaţii despre starea unităţilor interconectate.

Liniile folosite pentru transferul datelor între microprocesor, memorie şi dispozitivele de intrare/ieşire formează magistrala de date. Această magistrala este bidirecţională - pe ea intră date atunci când se efectuază o citire din memorie sau de la dispozitivele de intrare/ieşire şi ies date la efectuarea unei scrieri.

Magistrala de adrese este unidirecţională - adresele ies din microprocesor pentru a putea fi transmise către circuitele de memorie şi către cele de I/E. Prin magistrala de adrese, microprocesorul coordonează funcţionarea microcalculatorului.

Magistrala de comenzi este reuniunea unor semnale individuale de I/E din microprocesor, având fiecare un rol aparte. Aceste semnale se pot clasifica astfel:

1. Semnale de control - prin care microprocesorul coordonează funcţionarea dispozitivelor de pe magistrală (exemple: READ, WRITE);

2. Semnale de stare - prin care microprocesorul primeşte reacţii de la dispozitivele situate pe magistrală (ex: cerere de întrerupere, cerere de suspendare a controlului magistralei).

Patru tipuri de activităţi se pot desfăşura pe o magistrală şi anume:1. Transferul datelor - se efectuează între regiştri UC şi o locaţie de memorie sau un

registru de interfaţă. Pentru realizarea unui transfer, avem nevoie de adrese prin care se selectează locaţia de memorie sau registrul de interfaţă, de o comendă care va specifica tipul operaţiei (scriere/citire memorie, scriere/citire dispozitiv periferic) şi de datele din memorie sau de la dispozitivul selectat.

2. Operaţia de suspendare a controlului magistralei - se foloseşte în cazul în care există mai multe module care vor să ocupe magistrala. Când microprocesorul care ocupă magistrala îşi termină operaţia, el poate să-şi suspende controlul, astfel încât acesta să fie preluat de un alt microprocesor care doreşte sa acceseze magistrala. Operaţia poate fi executată la cerere sau la momente de timp bine definite.

3. Sincronizarea microprocesorului cu dispozitivele lente - această operaţie sesuprapune peste operaţia de transfer a datelor, în situaţia în care dispozitivul selectat prin comandă este mai lent. În acest caz, la nivelul dispozitivului de comandă se trece microprocesorul în aşteptarea unui semnal specific către periferic.

4. Operaţia de întrerupere - se foloseşte în cazul în care se doreşte oprirea fluxului de instrucţiuni în curs de execuţie şi înlocuirea lui cu alt flux. Întreruperea poate fi cauzată de schimbarea unui dispozitiv periferic sau de un eveniment extern/intern neaşteptat. La apariţia unei cereri de întrerupere, microprocesorul termină instrucţiunea curentă, salvează adresa de revenire, după care trece la o secvenţă de tratare a cererii de întrerupere.

După sensul de circulaţie a informaţiilor, magistralele sunt bidirecţionale şi unidirecţionale.

45

Page 46: Arhitectura Sistemelor de Calcul

Magistralele se mai pot clasifica în magistrale dedicate, respectiv nededicate.Magistrala dedicată este în permanenţă asignată unei singure funcţii sau unui set de

dispozitive fizice. Magistrala nededicată permite accesul mai multor funcţii sau al mai multor dispozitive fizice.

Tehnicile de control al magistralei (tehnici de arbitrare) sunt folosite în cazul în care există cereri simultane de acces la magistrală. Pentru a transmite informaţia corectă pe magistrală este necesar să se respecte următoarea regulă - la un moment dat accesul pe magistrală îl poate avea doar un singur emiţător, numărul receptoarelor fiind teoretic nelimitat. Prin activitatea de arbitraj se înregistrează cererile de acces la magistrală ale emiţătorului şi eventual se acordă magistrala solicitatorului. Arbitarea poate fi realizată centralizat, caz în care circuitele necesare efectuării controlului se află comasate într-un singur modul, sau distribuit, caz în care fiecare modul cuplat pe magistrală conţine un circuit cu logica de arbitraj necesară. Pentru fiecare dintre aceste tipuri de tehnici există trei metode de arbitrare: înlănţuire serială, interogare, cereri independente.

În cazul în magistrala a fost câştigată de un dispozitiv, trebuie stabilit dialogul între sursă şi destinaţie. Pe baza metodei de dialog se realizează transferul propriu-zis, care poate fi sincron (la cuante de timp fixe, generate de un generator de tact central) sau asincron.

Să trecem acum în revistă componentele periferiei calculatorului. După cum s-a văzut ea se împarte în:

Dispozitive de memorare sau memoria externă Dispozitive de I/E.

12.1. MAGISTRALA SERIALACum functioneaza magistrala universala seriala?

In interiorul calculatorului personal, un controler de magistrala universala seriala (universal serial bus, USB)- un set specializat de cipuri si conexiuni- actioneaza ca o interfata intre programe si componentele hardware. Aplicatiile, sistemul de operare si driverele dispozitivelor- care furnizeaza detalii despre modul in care functioneaza anumite dispozitive hardware- trimit comenzi si date hub-ului gazda USB, localizat pe controler.

De la hub-ul gazda pleaca conectori speciali sau porturi USB. Cabluri pereche cu cate patru fire se conecteaza in porturi.

Un cablu se poate atasa la un alt hub, singurul scop fiind acela de a furniza mai multe porturi la care sunt atasate dispozitivele USB – un fel de cordon digital de extensie.

Sau un cablu poate conduce direct la un dispozitiv USB, cum ar fi un monitor. USB suporta conexiuni pentru aproape orice tip de dispozitive periferice externe, cum ar fi monitor, tastatura, mouse, modem, boxe, microfon, telefon, scaner si imprimanta. Doua din cele patru fire din cablul USB sunt folosite pentru a furniza putere electrica dispozitivelor periferice, eliminand aglomerarea de surse de alimentare. Celelalte doua linii, numite D+ si D-, sunt folosite pentru

46

Page 47: Arhitectura Sistemelor de Calcul

transimiterea de date si comenzi. O tensiune inalta pe D+, dar nu si pe D-, inseamna un bit 1. Otensiune inalta pe D- dar nu si pe D+ inseamna un bit 0.

Orice dispozitiv USB poate include, de asemenea, un hub, astfel incat un monitor, de exemplu, furnizeaza porturi in care pot fi conectate boxe multimedia, un microfon si o tastatura.

Aceste dispozitive pot, la randul lor, sa furnizeze porturi pentru alte componente hardware USB. De exemplu, un mouse si un stilou digital se pot atasa la o tastatura, care este atasata la monitor, care este atasat la hub-ul gazda. Acest sistem de conexiuni arborescente permite magistralei universale seriale sa gestioneze pana la 127 de dispozitive.

Atunci cand un nou dispozitiv USB este concectat intr-un port, el determina in mod automat o modificare a tensiunii in unul din cele doua fire de date. Daca tensiunea este aplicata firului D+, dispozitivul periferic spune ca este un dispozitiv de mare viteza, capabil sa transimita 12 megabiti pe secunda, fiind folosit pentru monitoare, scanere, imprimante si alte dispozitive care trimit un volum mare de date. O tensiune aplicata pe firul D- indica faptul ca dispozitivu are o rata de transfer mica, de 1,5 Mbps de exemplu, fiind folosit pentru o tastatura sau un mouse. Un port conventional serial, de exemplu, trimite numai 100 kilobiti pe secunda. Un port paralel – aproximativ 2,5 Mbps.

Lucrand cu tehnologia asemanatoare Plug and Play care permite configurarea automata a componentelor calculatorului personal, controlerul gaza USB ii spune noului dispozitiv, sa se identifice, afla ce anume ii trebuie acestuia pentru transmiterea si receptionarea datelor si asociaza dispozitivului un numar de identificare.

Dupa ce noul dizpozitiv a devenit un membru oficial al magistralei, el isi ocupa locul atunci cand controlerul gazda adunca dispozitivele- pentru a emite comenzi, pentru a intreba daca dispozitivul este gata sa trimita sau sa primieasca date si pentru a aloca portiuni din latimea de banda (capacitatea de transmitere a datelor) a magistralei pentru fiecare dispozitiv. De aproximativ un milion de ori pe secunda controlerul trimite interogari sau comenzi in aval (downstream) tuturor dispozitivelor periferice din USB. Fiecare dintre mesajele gazdei incepe cu un jeton care indentifica dispozitivul periferic caruia ii este adresat. Mesajul merge la toate dispozitivele din magistralaq, dar dispozitivele care nu corespund adresei jetonului pur si simplu il ignora. Dispozitivele trimit date in amonte (upstream) catre gazda numai daca gazda le acorda permisiunea.

Magistrala universala seriala poate functiona cu trei tipuri de transferuri de date si ascociaza prioritati de latime de banda in ordinea urmatoare:

- prioritatea cea mai inalta. Prioritatea izocrona, sau in timp real, la care nu poate exista nici o intrerupere in fluxul de date, cum ar fi pentru aplicatiile video sau de sunet

- a doua prioritate. Transferurile de intreruperi, care apar numai atunci cand un dispozitiv, cum ar fi o tastatura sau un joystick ,genereaza un semnal ocazional de intrerupere pentru a atrage atentia procesorului.

47

Page 48: Arhitectura Sistemelor de Calcul

Prioritatea “cand timpul permite”. Transferurile in bloc de date pentru imprimante, scanere si camere digitale, in care exista multe date de transmis, dar nicio graba deosebita pentru transmiterea datelor

13. DISCURILE OPTICE

Cele mai recente unităţi de memorie externă sunt unităţile de disc optic sau magneto-optic. Înscrierea optică a informaţiei este un proces care foloseşte un fascicul de lumină (o rază laser) fie pentru citirea şi/sau înregistrarea datelor, fie pentru a ajuta la realizarea acestor operaţii pe un suport sensibil optic. Citirea datelor se bazează pe evidenţierea unor modificări survenite în fasciculul de lumină reflectată de suport. Operaţia de scriere foloseşte un fascicul laser pentru modificarea (sau pentru a facilita modificarea) unui material sensibil la lumină amplasat pe suport. Din punct de vedere tehnologic distingem următoarele tipuri de discuri optice:

13.1.Discurile CD-ROM (Compact Disc - Read-Only Memory)

Sunt discuri compacte preînregistrate pe care informaţia nu poate fi actualizată. Conţinutul unui astfel de disc este înscris de către producătorul său şi poate fi doar citit de către utilizator.

Principalele caracteristici de performamta ale unitatilor de CD sunt :capacitatea de sctocare ;- timpul de acces ;- rata de transfer ;- viteza de lucru.

Capacitatea de stocare la un CD este de 650 MB,fiind cu mult mai superioara floppy-discului dar la concurenta cu HD.

Timpul de acces reprezinta ,ca si la HD,durata de timp ce se consuma din momentul emiterii unei cereri de citire sau scriere si pana in momentul cand incepe efectiv operatia respectiva. Acest parametru se masoara in milisecunde shi este mai mare ca la HD, fiind cuprins ,in medie, intre 100 ms. si 400 ms. iar la cele mai moderne scade sub 100ms.Astfel in timp ce la hard disk-uri timpul de acces se situeaza sub 20 milisecunde , la CD-ROM-uri timpul de acces nu scade cu mult sub 100 milisecunde .Timpul mare de acces se explica, in primul rand, prin faptul ca la fiecare accesare CD-ul trebuie adus la o anumita viteza de rotire, in timp ce hard disk-ul are o viteza de rotatie constanta, iar in al doilea rand capul de citire, la unitatea CD, este ceva mai greu ca la hard disk, continand mai multe elemente (laserul,fotocelula, unitatea de focalizare s.a.), iar manevra acestuia cere mai mult timp. Din acest punct de vedere unitatile CD se afla in curs de perfectionare.

48

Page 49: Arhitectura Sistemelor de Calcul

Rata de transfer se refera la cantitatea de informatie ce se transfera intr-o secunda si poate fi cuprinsa intre 150KB/s (la primele tipuri de unitatide CD-uri) si peste 3000 KB/s (la unitatile moderne). Rata de transfer depinde, in primul rand de timpul de acces si de viteza de lucru a unitatii CD.

Viteza de lucru reprezinta un parametru care influienteaza direct rata de transfer si timpul de acces si se stabileste in raport cu primul tip de unitate CD numit single-spid, care lucra cu un transfer de 150KB/secunda si fata de care s-au dezvoltat apoi viteze de 2xSpeed, de 4xSpeed, de8xSpeed s.a.m.d. ajungandu-se in prezent pana la 24x, pentru care ar corespunde, cel putin teoretic, unei rate de transfer de 300KB/s.

Discurile CD-R (CD - Recordable): Sunt discuri compacte ce pot fi înregistrate de către posesor, dacă acesta dispune de un dispozitiv periferic special şi programele de bază aferente. După înregistrare, fostul CD-R devine un CD-ROM pe care îl poate citi orice unitate de citire CD-ROM. Discurile CD-R se mai numesc discuri WORM (Write Once, Read Many).

Discuri MO (magneto-optice): Sunt discuri la care scrierea se realizează magnetic, iar citirea optic. Aceste discuri pot fi scrise de câte ori este necesar, atâta vreme cât suportul nu este deteriorat. Ele fac parte din clasa, mai largă, a discurilor RW (ReWriteable optical discs).

Caracteristicile principale ale unui disc optic sunt: dimensiunea (5,25" sau 3,5"), capacitatea de stocare, numărul de cicluri de citire/scriere (pentru CD-E) etc.

13.2. Cum functioneaza o unitate CD-ROM?

Un motor variaza in mod constant rata cu care se roteste un CD-ROM, astfel incat, indiferent unde este localizata o componenta, numita detector, in comparatie cu raza discului, portiunea discuui aflata imediat deasupra detectorului se misca intotdeauna cu aceeasi viteza.

Laserul proiecteaza o raza concentrata de lumina care este focalizata mai apoi de o lentila si de o bobina focalizatoare (focusing coil).

Raza de laser penetreaza un strat protector din plastic si se loveste de un strat reflector care arata ca o foita de aluminiu si este plasat la baza discului.

Suprafata stratului reflector alterneaza intre intinderi si adancituri. Intinderile reprezinta zone cu suprafata plata; adanciturile reprezinta mici scobituri in statul reflector. Aceste doua suprafete reprezinta o inregistrare a bitilor 1 si 0 folositi pentru stocarea datelor.

Lumina care loveste o adancitura este dispersata, dar lumina care loveste o intindere este reflectata direct inapoi, in detector, unde trece printr-o prisma care deflecteaza unda laser reflectata catre o dioda fotosenzitiva (light-sensing diode).

49

Page 50: Arhitectura Sistemelor de Calcul

Fiecare puls de lumina care loveste dioda fotosenzitiva genereaza o mica tensiune electrica. Aceste tensiuni sunt comparate cu un circuit temporizator (timing circuit), pentru a genera un flux de biti 1 si 0 pe care calcualtorul il poate intelege.

Discurile magnetice, cum ar fi acelea folosite in hard discuri, au datele aranjate in cercuri concentrice numite piste, care sunt impartite radial in sectoare. Folosint o schema numita viteza unghiulara constanta (constant angular velocity), discul magnetic se roteste intotdeauna cu aceeasi rata; adica pistele din apropierea marginii discului se misca mai rapid decat pistele de linga centrul discului. Deoarece sectoarele exterioare se misca mai repede atunci cant drec de capetele de citire/scriere, acestea trebuie sa fie fizic mai mari pentru a contine aceeasi cantitate de date precum sectoarele interioare. Acest format risipeste o mare parte din spatiul de stocare, dar maximizeaza viteza cu care pot fi recuperate datele.

O alta rotatieDe regula, CD-ROM foloseste o schema diferita de aceea a discurilor magnetice pentru impartirea suprafetelor discului in care sunt inregistrate datele. In locul mai multor piste aranjate in cercuri concentrice, pe discul CD-ROM, datele sunt continute intr-o singura pista care inainteaza in spirala din centrul discului catre circumferinta sa. Pista este in continuare impartita in sectoare, dar fiecare sector are aceeasi marime fizica. Folosind o metoda numita viteza liniara constanta (constant linear velocity), unitatea de disc variaza in mod constant rata cu care discul se roteste, astfel incat atunci cand detectorul se misca spre centrul discului, discul se roteste cu o viteza mai mare. Efectul este acela ca un disc compact poate contine mai multe sectoare si, prin urmare, mai multe date decat un disc magnetic.

13.3.DVD(digital video disc)

Deşi capacitatea de stocare a unui CD-ROM este semnificativă,multe programe şi jocuri incep să aibă dimensiuni din ce in ce mai mari;au apărut deja enciclopedii sau programe pe 4-5 CD-ROM-uri.Problema aceasta este rezolvată prin apariţia DVD-ROM-ului,următorul pas după compact disc.

In loc de 650 MB de informaţie care pot fi stocaţi pe un CD, un DVD poate stoca acum pană la 4,7 GB.Spre deosebire de CD,un DVD poate avea două feţe pe care să se inregistreze informaţie,aşa că intorcandu-l se mai pot citi incă 4,7 GB de informaţie.Daca discul are mai multe straturi in interior va putea stoca peste 15 GB. Acestea folosesc capacitatea suplimentară pentru a adăuga mai multe segmente de informaţie video şi audio şi pentru a face ca toate fragmentele multimedia să arate şi să sune mai bine decat CD-ROM-urile standard.

Unităţi DVD-ROM

50

Page 51: Arhitectura Sistemelor de Calcul

Pentru a rula un DVD ,este nevoie de o unitate DVD-ROM – arată la fel ca unitatea de CD-ROM, dar are două lasere:unul pentru citirea CD-urilor clasice,iar celălalt pentru discuri DVD.După ce am instalat o unitate DVD-ROM in PC,el va putea să citească orice tip de CD – fie el vechi sau mai nou.Ca şi la CD-ROM-uri,există DVD-ROM-uri pe care se poate scrie informaţie,dar şi DVD-ROM-uri pe care se poate inscripţiona informaţie şi se poate şterge şi apoi rescrie o altă informaţie.

13.4. Cum functioneaza un disc DVD?

Un disc DVD (digital video disc, disc video digital sau digital versatile disc, disc digital versatil) cu o singura fata este alcatuit din pana la patru nivele principale. Primul este un plastic gros din policarbonati care furnizeaza fundatia pentru celelalte straturi. Apoi urmeaza un strat mult mai subtire dintr-un material opac, reflector, care este asezat peste baza. Apoi urmeaza un strat subtire de film transparent si, in fine, un stat (aflat la suprafata) de plastic transparent, protector. Datele, incluzand aici pe cele video, audio, text sau programe, sunt reprezentate, ca si in cazul unui disc CD-ROM, printr-o combinati de suprafete plate (intinderi) si scobituri (adancituri) pe doua suprafete- filmul transparent si nivelul opac stralucitor. Adanciturile din discul DVD sunt insa mult mai mici, acesta fiind unul dintre motivele pentru care un disc DVD contine nu mai putin de 8,5 GB de date, capacitatea a 13 discuri compacte.

Asemenea unei unitati CD-ROM, o unitate DVD foloseste un laser pentru a citi intinderile si adanciturile. Cu toate astea, laserul DVD foloseste lumina care are o lungime de unda mai scurta, ceea ce face unda de laser suficient de ingusta pentru a citi cu acuratete adanciturile si intinderile mai mici de pe suprafatele discurilor DVD.

Modificand cantitatea de curent care trece pintr-o bobina magnetica ce inconjoara raza laser, capul de citire DVD focalizeaza raza, astfel incat aceasta este concentrata numai pe suprafata filmului transparent.

Atunci cand raza laser loveste o adancitura, scobitura imprastie lumina in toate directiile.

Dar atunci cand raza de lumina loveste o arie plana, ea este reflectata inapoi la capul de citire, unde o prisma deflecteaza lumina catre un dispozitiv care converteste impulsurile de energie optica in impulsuri de electricitate. Calculatorul interpreteaza aceste pulsuri electrice ca date si cod.

Stratul de film transparent reprezinta numai jumatate din datele pe care un disc DVD le poate contine. Modificand cantitatea de curent din bobinele care incojoara laserul, capul de citire poate modifica lungimea focala a razei laser, astfel incat aceasta trece prin stratul transparent cu o deformare minima. Raza loveste apoi stratul opac si citeste adanciturile si intinderile de pe aceasta in acelasi mod in care procedeaza cu stratul transparent.

51

Page 52: Arhitectura Sistemelor de Calcul

Pistele spiralate de date inregistrate pe cele doua straturi ale unui disc DVD sunt orientate in directii diferite. Capul de citire urmeaza prima spirala pana ce ajunge la centrul discului. Apoi, cu discul miscandu-se in aceeasi directie, capul de citire incepe sa urmareasca spirala din al doilea strat, indreptandu-se spre marginea discului. Acest desig evita o intarziere in fluxul de date, lucru important in special atunci cand un disc DVD contine aplicatii multimedia.

Capacitatea unui disc DVD cu o singura fata este dublata atunci cand aceleasi straturi de materiale opac si transparent sunt aplicate pe cealalta parte a discului. Dar, deoarece unitatile DVD actuale au un singur cap de citire, trebuie sa scoateti discul DVD cu doua fete si sa-l intoarceti, pentru a citi datele de pe a doua fata.

13.4. Cum functioneaza CD-RW si DVD-RAM ?

Discurile CD-ROM si DVD, ambele fiind medii optice numai in citire, au si echivalente reinscriptionabile. Reinscriptionabil inseamna nu numai ca puteti fune fisiere pe un disc, dar le puteti sterge si modifica, exact cum puteti face cu o unitate hard. Discul CD-ROM are un echivalent inscriptionabil in discul CD-Rewritable (CD-RW, disc CD reinscriptionabil). Echivalentul discului DVD este DVD-RAM. Desi discurile CD-RW si DVD-RAM difera in privinta cantitatilor de date care pot fi scrise pee le, ambele folosesc un process numit tehnologia modificarii fazei, pentru a scrie, modifica si sterge date.

Procesul scrie date pe ambele tipuri de discuri prin focalizarea unei raze laser de inalta intensitate pe un strat alcatuit, de regula, din argint, iridiu, antimoniu si telur incorporate in baza de plastic a discului. In starea sa originala, acest strat are o structura rigida, policristalina.

Raza de laser incalzeste selectiv suprafetele la 482-704,5 grade celsius. Atunci cand raza loveste, caldura topeste cristalele, care trec intr o faza necristalina sau amorfa. Aceste suprafete reflecta mai putina lumina decat suprafata nemodificata care le inconjoara.

Mai tarziu, atunci cand o raza laser mai slaba, folosita numai pentru citirea datelor de pe discuri, loveste aria necristalina, raza este imprastiata si nu este receptionata de dioda fotosenzitiva din capul de citire. Capacitatea lor de reflectare fiind mai mica, aceste arii devin adancituri si reprezinta biti 1. ariile care nu sunt incalzite sunt intinderi mai reflectorizante, reprezentand biti 0. Atunci cand raza laser loveste intinderile, ea este reflectata direct in dioda, creand un curent electric care este trimis calculatorului. Calculatorul interpreteaza modelul de pulsuri electrice, decomprima datele pe care acestea le reprezinta, verifica datele pentru erori si trimite datel programului care foloseste discul (vezi capitolul unitatii CD-ROM).

Pentru a sterge date sau a modifica o adancitura inapoi intr-o suprafata intinsa – un proces numit faza de incandescenta (annealing phase) – unitatile CD-RW si DVD-RAM folosesc o

52

Page 53: Arhitectura Sistemelor de Calcul

raza de energie mai joasa, pentru a incalzi ariile reprezentate de adancituri pana la 204 grade celsius. Aceasta cantitate de caldura este sub punctul de topire, dar declaseaza in mediu modificarea fazei, astfel incat acesta se poate recristaliza in starea sa originala.

14. MONITORUL

Reprezinta un dispozitiv periferic de iesire. Primele generatii de monitoare au fost de tip digital , primind de la calculator toata informatia necesara afisarii sub forma de semnale TTL aparand apoi monitoarele analogice din ce în ce mai constructive . S-a diversificat oferta , perfectionându-se tehnologiile cristalelor lichide,plasma sa altele . O clasificare sumara a monitoarelor ar putea fi facuta dupa unul din criteriile : a) dupa culorile de afisare

- monitoare monocrome (afiseaza doar doua culori - negru si alb/verde/galben) ; - cu niveluri de gri - pot afisa o serie de intensitati între alb si negru ; - monitoarele color

b) dupa tipul semnalelor video - Monitoare digitale : accepta semnale video digitale (TTL) sunt conforme cu standardele mai vechi IBM CGA si EGA . Sunt limitate la afisarea unui numar fix de culori .

- Monitoarele analogice : pot afisa un numar nelimitat de culori .

c) dupa tipul grilei de ghidare a electronilor în tub

- Cu masca de umbrire : ghidarea fluxurilor de electroni spre punctele de fosfor corespunzatoare de pe ecran este realizata de o masca metalica subtire prevazuta cu orificii fine - Cu grila de apertura : în locul mastii de umbrire se afla o grila formata din fibre metalice fine , verticale , paralele , bine intinse si foarte apropiate intre ele.Calitatea acestor monitoare este superioara . d) dupa tipul constructiv al ecranului

- Monitoare cu tuburi catodice coneventionale (CRT) , sunt cele mai ieftine si mai performante de pe piata . Prezinta diferite variante , cele mai întâlnite fiind shadowmask CRT si tuburile Trinitron , cu grila de apertura - Dispozitive de afisare cu ecran plat (FPD-Flat Panel Display), LCD (cristale lichide) si PDP(Plasma Display Panel) . Sunt utilizate la laptopuri , fiind net inferioare monitoarelor clasice.- Ecrane tactile - adauga posibilitatea de selectare si manipulare a informatiei de pe ecran cu mâna; dimensiunile monitoarelor pot varia intre 14 si 21 inch.

53

Page 54: Arhitectura Sistemelor de Calcul

Monitorul oricărui terminal (compus din ecran şi circuite de generare a imaginii) poate lucra în două moduri: modul text şi modul grafic.

În modul text ecranul este împărţit în rânduri (rows) şi coloane (columns). Numărul de rânduri şi numărul de coloane este dat de modul de lucru permis de monitor. De obicei sunt 25 de rânduri şi 80 de coloane. La intersecţia unei linii cu o coloană se generează un caracter printr-o matrice de puncte luminoase. Pentru fiecare poziţie de afişare, se vor păstra (din motive de reîmprospătare a imaginii) codul ASCII (Unicode) al caracterului şi atributul caracterului (cel care controlează aspectul caracterului afişat şi depinde de adaptorul folosit). De exemplu, pentru calculatoare personale, codul caracterului este stocat folosind 8 biţi, iar atributul folosind alţi 8 biţi. Atributul pentru afişarea color este format din trei elemente:

culoarea peniţei (foreground), culoare hârtiei (background),

elementul de control al clipirii (blink>).

Culoarea este specificată cu ajutorul a trei componente fundamentale:

R - roşu (Red), G - verde (Green),

B - albastru (Blue).

În modul grafic ecranul este o suprafaţă de puncte luminoase numite pixeli (elemente de imagine; picture element). Fiecare pixel este caracterizat prin codul culorii. Următoarele elemente caracterizează un anumit mod grafic:

Rezoluţia - numărul de puncte de pe ecran; Definiţia - distanţa dintre două puncte pe ecran;

Numărul de culori.

Toate aceste elemente depind de modul grafic suportat de monitor. De exemplu:

modul VGA (Video Graphics Array) asigură o rezoluţie de 640480 puncte şi 16 culori, modul SVGA (Super VGA) standard asigură rezoluţia de 800600 pixeli în 256 culori,

modul XGA (eXtended Graphic Array) afişează mai mult de 18 milioane de culori pentru o rezoluţie de până la 1024768 de pixeli.

Generarea unor imagini complexe, la o viteză de prelucrare mare, fără aportul procesorului sistemului de calcul, este asigurată astăzi de coprocesoarele grafice (numite şi acceleratoare)

54

Page 55: Arhitectura Sistemelor de Calcul

care realizează în mod independent: trasarea liniilor, generarea suprafeţelor definite prin contur, desenarea umbrelor, deplasarea textului, deplasarea blocurilor de imagine etc.

Monitoarele sunt de tip desktop (la locul de muncă sau acasă) şi portabile. Monitoarele desktop, numite şi sisteme CRT (Cathode-Ray Tubes) sunt similare ca dimensiune şi tehnologie cu receptoarele emisiunilor de televiziune. Sunt de tip întreţesut (interlaced) - cu realizarea imaginii pe rândurile impare şi apoi pe cele pare şi, de tip neîntreţesut (noninterlaced). Întreţeserea provoacă pâlpâirea, şi deci oboseala ochilor. Monitoarele portabile echipează sistemele de tip laptop, notebook, subnotebook şi PDA.

14.1. Cum functioneaza un ecran LCD?

Lumina care emana de la un panou fluorescent din spatele panoului de afisare al calculatorului portabil se raspandeste in valuri care vibreaza in toate directiile.

Un filtru polarizator din fata panoului de lumina perminte trecerea numai undelor de lumina care vibreaza mai mult sau mai putin pe orizontala. Faptul ca filtrul polarizator nu este precis in totalitate permite afisajului sa creeze diferite nuante.

Intr-un strat de celule de cristale lichide- cate una pentru fiecare din cele trei culori care compun un pixel- adaptorul grafic intern al calculatorului personal portabil aplica o sarcina electrica variabila unor celule si nici o sarcina electrica tuturor celorlalte celule. In celulele care primesc curent, moleculele luguiete, in forma de vergea care alcatuiesc materialul cristalului lichid reactioneaza la sarcina electrica formand o spirala. Cu cat sarcina electrica este mai mare, cu atat se rasucesc mai mult moleculele. Atunci cand este aplicata cea mai mare sarcina electrica, moleculele de la un capat al celulei se rdica intr-un unghi de 90 de grade fata de orientarea moleculelor din celalalt capat.

Lumina polarizata care patrunde in celule din spate este rasucita de-a lungul spiralei formate de molecule. In celulele care au fost alimentate cu sarcina electrica maxima, lumina polarizata iese vibrand, intr-un unghi de 90 de grade fata de alinierea ei initiala. Lumina care trece prin celulele care nu au fost alimentate iese neschimbata. Celulele care au fost alimentate cu o sarcina electrica partiala rasucesc lumina intr-un unghi situat intre 0 si 90 de grade, in functie de marimea sarcinii electrice.

Lumina care iese din fiecare celula de cristal lichid trece prin unul din cele trei filtre de culoare – rosu, albastru sau verde- care sunt aranjate unul in apropierea celorlalte.

Fasciculele colorate de lumina trec printr-un al doilea filtru de polarizare care este aliniat pentru a lasa sa treaca numai acele unde de lumina care vibreaza mai mult sau mai putin pe verticala.

55

Page 56: Arhitectura Sistemelor de Calcul

Lumina care trece print-un cristal lichi care este alimentat cu o sarcina electrica maxima este acum orientat perfect pentru a trece prin al doilea filtru.

Deoarece este complet precis, o parte din undele de lumina care au trecut prin celula cu sarcina electrica partiala – si care, prin urmare, a fost rasucita numai partial- trec prin filtru, in timp ce altele sunt blocate.Lumina care nu a fost rasucita deloc atunci cand a trecut prin cristalul lichid este acum blocata complet.

Unele LCD folosesc doi polarizatori cu aceeasi aliniere, astfel inacat o sarcina care este aplicata unei celule de cristal lichid determina blocarea luminii, deoarece ea este rasucita. De aseemenea, sunt folosite doua metode pentru a se alimenta cu sarcini electrice celulele de cristale lichide. Afisajele cu matrice pasiva folosesc relativ putini electrozi aranjati de- alungul marginilor stratului de cristale lichide si se bazeaza pe coordonare pentru a se asigura ca sunt alimentate celulele corecte cu sarcini electrice. Sarcinile din celulele cu matrice pasiva determina culorile sa para estompate. Afisajele cu matrice activa au tranzistori individuali pentru fiecare celula. Tranzistorul individual furnizeaza o sarcina electrica mai precisa si mai puternica, creand astfel culori mai vii.

15. TASTATURA

Prin intermediul tastaturii utilizatorul poate transmite comenzi calculatorului. Comenzile se introduc sub forma unui şir de caractere (litere, cifre, semne speciale, caractere de control). Fiecare caracter se generează prin acţionarea uneia sau mai multor taste (butoane; keys). Acţionarea unei taste sau combinaţii de taste are ca efect închiderea unui circuit electronic prin care se generează un cod unic, care este codul ASCII (sau Unicode) al caracterului respectiv.

Unele taste sunt de tip cald (hotkeys), iar altele de tip rece (coldkeys). Tastele reci nu generează cod către calculator ci se folosesc împreună cu tastele calde pentru a realiza combinaţii. Tastele reci sunt: Shift, Ctrl, Alt.

O tastatură are şi taste comutator (cu două stări):

CapsLock (asigură comutarea între starea care generează litere mici şi starea care generează litere mari),

NumLock (comută între starea numerică şi starea de editare pentru blocul tastelor numerice),

Insert (comută între corectura prin inserare şi corectura cu suprascriere).

56

Page 57: Arhitectura Sistemelor de Calcul

16. DISPOZITIVE PENTRU INTRODUCEREA INFORMATIEI GRAFICE

În categoria dispozitivelor periferice de intrare sunt incluse şi echipamentele: mouse, joystick, trackball, tabletă grafică sau digitizor (digitizer), creion optic (light pen) etc.

Primele trei dispozitive de interacţiune controlează deplasarea unui cursor pe ecranul unui sistem de calcul. Diferă numai constructiv. Mausul dispune de butoane a căror apăsare este interpretată de programele sistemului de calcul care generează o secvenţă de operaţii specifică locului cursorului, butonului apăsat şi funcţiilor programului în executare.

Creionul optic este un dispozitiv de selecţie şi se utilizează numai în combinaţie cu terminale speciale, pentru aplicaţii speciale (de exemplu: proiectare grafică, pictură asistată de calculator etc.).

Tableta grafică este un digitizor ce poate fi folosit fie pentru selecţie, fie pentru introducere de date în aplicaţii de proiectare, înclusiv pentru arhitectură, sisteme informatice geografice etc.

Mausul se poate deplasa pe o masă reală (pad) şi va antrena deplasarea unui cursor pe ecran. Mausul are mai multe butoane utile în efectuarea următoarelor operaţii:

1. indicare (point) - cursorul mausului este deplasat pentru a indica un anumit punct de pe ecran (deci reprezentarea unui anumit obiect);

2. clic (click) - se acţionează, foarte scurt, un buton al mausului. Codul ce controlează funcţionarea mausului va trata evenimentul apărut;

3. clic dublu (double click) - se acţionează, foarte scurt, de două ori, un buton al mausului;

4. tragere (drag) - se asigură deplasarea mausului pe masa reală, acesta având un buton apăsat continuu.

Tabletele grafice se pot clasifica pe baza a două criterii:

a. după dimensiunea suprafeţei active: A4, A3, A0;b. după precizie şi acurateţe: pentru digitizare de planuri şi pentru meniuri.

Ele pot fi echipate cu un stylus sau un puck cu 4-16 butoane programabile.

Un alt periferic de intrare, cu aplicaţii în introducerea imaginilor, este scanerul (scanner). După citirea imaginii, aceasta poate fi prelucrată: mărită, micşorată, rotită, colorată, suprapusă cu alte imagini şi analizată folosind diferite metode.

Principiul fundamental al funcţionării scanerului îl reprezintă modificarea intensităţii unui fascicul luminos la întâlnirea unei suprafeţe de o culoare oarecare.

57

Page 58: Arhitectura Sistemelor de Calcul

Scanarea unui document se desfăşoară în două faze. Un fascicul luminos, în prima fază, baleiază (scanează) documentul linie cu linie, iar fascicolul luminos care se reflectă este direcţionat (cu ajutorul unui sistem de oglinzi şi lentile) spre o mulţime de celule fotosensibile CCD (Charge-Coupled Device). în etapa următoare, CCD-ul transformă semnalele luminoase recepţionate în semnale electrice care după o conversie analog-digital sunt trimise programului care va salva imaginea.

Scanerele color obţin trei versiuni ale documentului de scanat: una de culoare roşie (red), una de culoare verde (green) şi una de culoare albastră (blue) care contribuie la imaginea finală. Observăm că ceea ce se introduce nu este un punct ci o suprafaţă de puncte.

Caracteristicile unui scaner sunt:

a. rezoluţia optică - numărul de puncte pe unitatea de suprafaţă pe care le poate citi (Dots Per Inch);

b. numărul de culori

c. viteza de scanare (explorare).

Alte scanere sunt specializate:

cititorul de bare (Bar Code Reader), cititorul de taloane (Badge Reader),

cititorul de text (Document Scanner sau OCR Scanner),

cititoare cu cerneală magnetică a înscrisurilor bancare (Magnetic Character Ink Reader).

Transmiterea/Recepţionarea documentelor la/de la distanţă se poate realiza, pe linie telefonică, folosind un adaptor special (modem) şi un fax (facsimile transmission machines). În prezent cele două componente sunt integrate pe o plachetă numită internal fax-modem sau într-un dispozitiv extern care se cuplează la un sistem de calcul prin portul serial.

17. ALTE ECHIPAMENTELE DE IESIRE

Din categoria echipamentelor de ieşire ne vom referi la următoarele: imprimanta, plotterul şi fotoplotterul.

Plotterele au fost primele dispozitive periferice care au oferit sistemelor de calcul posibilitatea de a produce ieşiri în formă grafică. Plotterele pot fi cu peniţă, cu jet de cerneală, de tip termic şi de tip electrostatic.

58

Page 59: Arhitectura Sistemelor de Calcul

Plotterele au în componenţă procesoare grafice proprii. De exemplu, plotterele cu peniţă recunosc primitive grafice precum: linie, poligon, arc de cerc, text etc. Dacă suportul de informaţie este filmul fotografic atunci dispozitivul asemănător plotterului, dar instalat în codiţii specifice se numeşte fotoplotter.

Imprimantele sunt dispozitive de afişare alfanumerică sau grafică. Ele pot fi: cu ace, cu jet de cerneală, cu transfer termic sau pe bază de laser.

Sistemele multimedia acceptă şi intrare/ieşire sonoră dispunând de dispozitive specializate pentru analiza/sinteza vocii. Conversia vocii unei persoane în cod numeric se realizează cu scopul recunoaşterii vorbirii. Sunt disponibile sisteme integrate pentru recunoaşterea vorbirii (la nivel discret şi la nivel continuu). Acestea sunt sisteme speciale care realizează şi traducerea dintr-o limbă în alta, a mesajului vorbit.

18. MODEM-URILE

Modemurile sunt dispozitive destinate conectarii intre calculatoare cu ajutorul liniei telefonice . Pot fi de doua tipuri constructive : . interne si m. externe . Modemurile interne se instaleaza într-un slot PCI sau ISA având integrate portul serial propriu , Ofera conectari la viteze cuprinse între 600bps si 56700bms . Unele versiuni ofera si capabilitati fax si voice , viteza maxima de primire/trimitere a unui fax fiind de 14400bps . Exista un numar mare de protocoale de corectie si compresie pentru modemuri , ce au rolul de a pastra integritatea datelor transmise (V32/V42,K5Flex,etc) .

19. PLACILE VIDEO

Placile video sunt dispozitive ce fac legatura intre processor/system si monitor. Au rolul de a afisa pe monitor datele procesate de CPU (de fapt rezultatul acestori procesari). Se conecteaza pe placa de baza printr-un slot ISA/PCI sau AGP. Placile video pot contine acceleratoare 3D care degreveaza procesorul, versiunile profesionale incluzand chiar 2 procesoare 3D pe placa video (ELSA Guillemond). Sunt dotate cu memorie (VRAM) intre 512k(Trident) si 96Mb(ElsaG). Reprezinta o componenta importanta a sistemului, viteza sa influentand în mare parte pareformanta sistemului. În functie de cantitatea de memorie existenta pe placa video rezolutiile la care poate lucra sunt 640x480,800x600,1024x764,etc . Placile video bune ofera si o rata de reimprospatare a imaginii optima ce reduce riscul aparitiei afectiunilor oculare .

20. PLACILE DE SUNET

Placile de sunet sunt dispozitive ce au rolul de a reda informatia binara sub forma de sunet, sau de a converti sunetele în format .bin. Astfel o placa de sunet se conecteaza la slotul ISA/PCI, apoi la CD-ROM printr-un cablu separat.

59

Page 60: Arhitectura Sistemelor de Calcul

Placile de sunet de la Creative sunt dotate cu memorie în care sunt înregistrate sunete originale de instrumente, fiind utile compozitorilor . Atat Creative cât si Aureal au lansat recent o tehnologie de redare spatiala a sunetului .

21. DISPOZITIVE DE INTERFAŢĂ

Datele sunt stocate în calculator sub forma unor şiruri de biţi; în acest sens sunt utilizate diverse codificări. La nivelul computerului, aceste reprezentări sunt unice; spre exemplu, dacă în reprezentarea internă a calculatorului caracterul Z are forma: 01011010, atunci acest şir de biţi este folosit în mod unic pentru a reprezenta caracterul Z.Această regulă nu este însă valabilă pentru dispozitivele periferice sau pentru memoria secundară. În cazul unei tastaturi, fiecare tastă generează un caracter. În cazul unei imprimante, caracterele sunt reprezentate sub formă unor matrice de puncte. Un dispozitiv optic citeşte informaţia prin intermediul intensităţii luminoase, în timp ce un dispozitiv magnetic înregistrează şi citeşte porţiuni magnetizate. Fiecare echipament periferic foloseşte o modalitate proprie de reprezentare a datelor iar această reprezentare poate să coincidă sau nu cu reprezentarea internă a datelor în calculator. Dacă aceste reprezentări sunt diferite este necesar un dispozitiv de translatare dintr-o reprezentare în alta. Aici intervine rolul dispozitivului de interfaţă, numit şi placa de interfaţă.Considerând cazul tastaturii, atunci când o tastă este apăsată, se transmite un semnal electronic către interfaţa tastaturii. Ca răspuns la semnalul electronic primit, interfaţa tastaturii generează codul ce reprezintă caracterul stocat în interiorul calculatorului, transferând acest cod în memoria calculatorului. În cazul unei imprimante, şirurile de biţi transmise dinspre calculator spre imprimantă sunt preluate de interfaţa imprimantei, care translatează aceste şiruri de biţi în reprezentarea recunoscută de către imprimantă pentru a se putea face tipărirea. Cele două dispozitive periferice considerate aici, tastatura şi imprimanta, reprezintă două dispozitive diferite din punct de vedere al reprezentării datelor; datorită existenţei dispozitivelor de interfaţă, ele pot fi conectate la acelaşi calculator. La intrare, interfaţa translatează semnalele externe într-un format ce este recunoscut de către calculator. În cazul semnalelor de ieşire, acestea sunt convertite din formatul intern al calculatorului în formatul propriu al dispozitivului de ieşire respectiv.Şi în cazul dispozitivelor de memorie secundară legătura dintre calculator şi acestea se face prin intermediul interfeţelor. Interfaţa controlează din punct de vedere fizic dispozitivul de disc, acceptând comenzi de citire, scriere, căutare din partea microprocesorului. Atribuireaunei interfeţe fiecărui echipament conectat la un calculator este un lucru practic în cazul calculatoarelor personale. Pentru calculatoare ce pot avea sute sau mii de echipamente periferice (cazul computerelor mainframe) conectate, modalitatea de comunicare dintre calculator şi dispozitivele periferice se schimbă: sunt utilizate canale şi unităţi de control I/O specifice. În acest caz, fiecare dispozitiv fizic are propria unitate de control iar canalul asigură comunicaţia cu calculatorul, în timp ce unitatea de control comunică cu echipamentul extern în limbajul acestuia din urmă. Canalul şi unităţile de control acţionează împreună pentru a realiza operaţia de translatare în ambele sensuri.

60

Page 61: Arhitectura Sistemelor de Calcul

22. TESTUL POST

Atunci cand va porniti calculatorul personal, un proces numit test POST (power-on self-test) incepe cu un semnal electric care urmeaza o cale programata permanent catre unitatea centrala de prelucrare (sau microprocesorul). Aici, semnalul electric elimina datele ramase in registrii interni de memorie ai cipului. Semnalul reseteaza, de asemenea, un registru al unitatii centrale de prelucrare numit contor de programe (prgram counter) la un numar specific. In cazul calculatoarelor mai noi, numarul hexazecimal este F000. Numarul din contorul de programe spune unitatii centrale de prelucrare adresa urmatoarei instructiuni care trebuie sa fie procesata. In acest caz, adresa reprezinta inceputul unui program de boot stocat permanent la adresa F000 intr-un set de cipuri de memorie ROM (read-onlu memory, ROM) care contin sistemul de intrare/iesire de baza (bazic input/output system, BIOS) al calculatorului personal.

23. BOOT-AREA DE PE DISC

Dupa efectuarea verificarii POST a tuturor componentelor hardware ale unui calculator personal, programul de boot continut in cipurile ROM BIOS verifica discul A pentru a vedea daca el contine o discheta formatata. Daca in unitate este plasata o discheta, programul cauta in locatiile specifice de pe disc fisierele care formeaza primele doua parti ale sistemului de operare.

Daca in unitate nu se afla nici o discheta, programul de boot cauta fisiere de sistem pe hard discul principal, de regula C. Daca si aceasta cautare esueaza, programul cauta orice disc din unitatea CD-ROM. De regula, nu veti vedea aceste fisiere de sistem, deoarece fiecare din ele este marcat cu un atribut special de fisier care, de regula, le face invizibile in orice listare de fisiere. Pentru sistemele Windows, fisierele se numesc IO.SYS si MSDOS.SYS. Daca unitatea de discheta este goala, programul de boot cauta fisierele sistem de pe hard disc C si, pe unele sisteme, ca ultima varianta, cauta si pe unitatea CD-ROM. Daca un disc boot nu contine fisierele, programul de boot genereaza un mesaj de eroare.

Dupa localizarea unui disc cu fisierele de sistem, programul de boot citeste datele stocate pe primul sector al discului si copiaza datele respective in locatii specifice din memoria RAM. Aceste informatii constituie inregistrarea de boot (boot record). Inregistrarea de boot se gaseste in aceeasi locatie pe orice disc formatat. Dupa ce programul de boot BIOS a incarcat inregistrarea de boot in memorie la adresa hexazecimala 7C00, sistemul de intrare/iesire de baza BIOS trece controlul inregistrarii de boot, conectandu-se la adresa respectiva.

Inregistrarea de boot preia controlul calculatorului personal si incarca IO.SYS in memoria RAM. Fisierul IO.SYS contine extensii catre ROM BIOS si include o rutina numita SYSINIT

61

Page 62: Arhitectura Sistemelor de Calcul

care gestioneaza restul boot-arii. Dupa incarcarea fisierului IO.SYS, inregistrarea de boot nu mai este necesara si este inlocuita in memoria RAM de un alt cod.

SYSINIT isi asuma controlul procesului de pornire si incarca MSDOS.SYS in memoria RAM. Fisierul MSDOS.SYS lucreaza cu sistemul de intrare/iesire de baza BIOS, pentru a gestiona fisierele, executa programele si raspunde la semnalele primite de la componentele hardware.

SYSINIT cauta in directorul radacina al discului de boot un fisier pe nume CONFIG. SYS. Daca exista fisierul CONFIG.SYS, SYSINIT spune lui MSDOS.SYS sa execute comenzile din fisier. CONFIG.SYS este un fisier creat de utilizator. Comenzile sale spun sistemului de operare cum sa gestioneze anumite operatiuni, cum ar fi, cate fisiere pot fi deschise in acelasi timp. CONFIG.SYS poate contine de asemenea, instructiuni de incarcare a unor programe de comanda sau drivere (device drivers). Driverele sunt fisiere care contin cod care extinde functiile sistemului de intrare/iesire de baza BIOS privind controlul memoriei sau dispozitivelor hardware. In Windows, driverele sunt incarcate prin inregistrari dintr-un fisier numit Registru( Registry).

SYSINIT spune lui MSDOS.SYS sa incarce fisierul COMMAND.COM. acest fisier de sistem de operare consta din trei parti. Una este o alta extensie a functiilor de intrare/iesire. Aceasta parte este incarcata in memorie, impreuna cu sistemul de intrare/iesire de baza si devine parte componenta a sistemului de operare.

A doua parte din COMMAND.COM contine comenzile de interne DOS, cum ar fi DIR, COPY si TYPE. Aceasta parte este incarcata in zona superioara a memoriei RAM conventionala, acolo unde poate fi suprascrisa de programele de aplicatii, daca este nevoie de memorie.

A treia parte din COMMAND.COM este folosita o singura data si apoi se renunta la ea. Aceasta parte cauta un fisier pe nume AUTOEXEC.BAT in directorul radacina. Acest fisier este creat de utilizatorul calculatorului si contine o serie de comenzi de fisiere batch DOS (DOS batch files) si/sau nume de programe pe care utilizatorul doreste sa le ruleze de fiecare data cand calculatorul este pornit. Calculatorul personal a boot-at acum complet si este gata sa fie folosit.

Sistemul de intrare/iesire de baza din umbra (Shadowed BIOS).

Informatiile BIOS ale unui calculator sunt stocate, de regula, in cipurile EPROM (erasable, programmable, read-only memory – memorie numai in citire, ce poate fi stearsa sau programata) care isi pastreaza datele chiar si atunci cand calculatorul personal este oprit. Gasirea codului din EPROM ia mai mult timp decat gasirea datelor din memoria RAM. Din acest motiv, majoritatea calculatoarelor personale noi creeaza o umbra a codului BIOS – adica il copiaza din EPROM in memoria RAM si apoi construiesc echivalentul semnalelor de retur prin microcircuite, astfel incat atunci cand calculatorul personal acceseaza codul BIOS, el apeleaza memoria RAM, in loc sa apeleze cipul EPROM.

62

Page 63: Arhitectura Sistemelor de Calcul

24. FORMATAREA UNUI DISC

Inainte ca orice informatie sa poata fi stocata pe un disc magnetic, discul trebuie mai intai formatat. Formatarea creeaza o harta care permite discului sa stocheze si sa gaseasca date intr o maniera ordonata. Harta consta in marcatori magnetici incorporati in filmul magnetic de pe suprafata discului. Codurile impart suprafetele de pe disc in sectoare (de forma unor felii de placinta) si piste (cercuri concentrice). Aceste diviziuni organizeaza discul astfel incat datele pot fi inregistrate intr o maniera logica si pot fi accesate rapid de pe capetele de citire/scriere care se misca inainte si inapoi pe deasupra discului, in timp ce acesta se roteste. Numarul de sectoare si piste care incap pe un disc determina capacitatea discului.Dupa ce un disc este formatat, scrierea sau citirea fie si a celui mai simplu fisier reprezinta un proces complicat. Acest proces implica programele dvs, sistemul de operare, sistemul de intrare/iesire de baza (basic input/output system, BIOS) al calculatorului personal, driverele software care spun sistemului de operare cum sa foloseasca unele componente hardware complementare, precum un disc SCSI sau o unitate de banda magnetica, si mecanismul discului insusi.

24.1. Cum se realizeaza formatarea unui disc?

Prima sarcina pe care o unitate magnetica trebuie s-o indeplineasca este aceea de formatare a oricarui disc care este folosit de ea, astfel incat sa existe o modalitate de organizare si de gasire a fisierelor salvate pe disc. Unitatea realizeaza acest lucru scriind pe suprafata discului un model de biti de 1 si 0 – asemenea unor birouri magnetice de informatii. Modelul imparte discul radial in sectoare si in cercuri concentrice numite piste. Pe masura ce capul de citire/scriere se misca inapoi si inainte pe deasupra discurilor care se rotesc, el citeste aceste semne magnetice pentru a stabili unde se afla, in relatie cu datele de pe suprafata discului.

Doua sau mai multe sectoare de pe o singura pista formeaza un cluster sau un bloc. Numarul de octeti dintr-un cluster variaza potrivit marimii discului si versiunii de sistem de operare folosit pentru formatarea discului. Un cluster este unitatea minima pe care sistemul de operare o foloseste pentru a stoca informatii. Chiar daca un fisier are o marime de numai 1 byte, un cluster mare de 32 kilobytes poate fi folosit pentru a contine fisierul pe discuri mari. Numarul sectoarelor si pistelor si, prin urmare, numarul clustelor pe care o unitate le poate crea pe suprafata unui disc determina capacitatea discului.

Unitatea creeaza un fisier special, localizat in sectorul 0 al discului. In lumea calculatoarelor, numerotarea incepe adesea cu 0 in loc de 1. Acest fisier este numit tabela de alocare a fisierelor (file allocation table sau FAT) in DOS si tabel virtuala de alocare a fisierelor (virtual FAT, VFAT) in Windows. Tabela virtuala de alocare a fisierelor este mai rapida, deoarece ea permite calculatorului sa citeasca fisierele cate 32 de biti simultan, in comparatie cu citirile de 16 biti ale mai vechii tabele de alocare a fisierelor. Tabela virtuala de alocare a fisierelor permite, de

63

Page 64: Arhitectura Sistemelor de Calcul

asemenea, folosirea unor nume de fisier cu lungimea de pana la 255 de caractere, in comparatie cu 11 folosite de DOS. Tabelele de alocare a fisierelor sunt locul in care sistemele de operare stocheaza informatiile despre structura de directoare (sau dosare) a discului si despre ce clustere sunt folosite pentru a stoca anumite fisiere. Ele permit, de asemenea, utilizarea de clustere de 4KB, indiferent de marimea discului.O data cu Windows 98 a aparut FAT32, care permite hard discurilor mai mari de 2 gigabytes sa fie formatate caun singur disc. O copie identica a tabelei de alocare a fisierelor este pastrata intr-o alta locatie, in cazul in care datele din prima versiune devin corupte. In mod obisnuit, nu veti vedea niciodata continutul tabelei de alocare a fisierelor, tabelei virtuale de alocare a fisierelor sau al FAT32.

24.2. Ce se intampla atunci cand stergem un fisier?

Atunci cand stergem un fisier, datele care formeaza fisierul de fapt nu sunt modificate pe disc. In schimb, sistemul de operare modifica informatiile din tabela virtuala de alocare a fisierelor, pentru a indica faptul ca clusterele care au fost utilizate de fisierlu respectiv sunt acum disponibile pentru a fi reutilizate de alte fisiere. Deoarece datele raman pe disc pana cand fisierele sunt refolosite, dvs puteti adesea restabili- sau anula operatiunea de stergere, undelete- un fisier pe care l-ati sters accidental.

25. Variante de subiecte:

Varianta 1:1. Convertiti din baza 10 in baza 2 numarul 21.15

2. Convertiti din baza 2 in baza 10 numarul 1101.11

3. Convertiti din baza 2 in baza 16 numarul 110111

4. Transformati folosind scrierea in virgula mobila pe 32 biti numarul 13

5. Care este rolul BIOSului?

6. Ce dispozitive se pot conecta folosind porturile SATA?

7. Cati biti au urmatorii registri: BX, EAX, AL?

8. Ce functii au urmatorii registri: BP, DI, SP, SI, AX?

9. Care va fi valoarea finala a registrului AX dupa executarea urmatoarei secvente de cod:

64

Page 65: Arhitectura Sistemelor de Calcul

MOV AH,2INC AHMOV AL,AH

10. Scrieti secventa de instructiuni care realizeaza media aritmetica a doua numere.

11. Scrieti secventa de instructiuni care inmulteste cifrele unui numar memorat intr-o variabila introdusa in momentul executiei.

Varianta 2:

1. Convertiti din baza 10 in baza 2 numarul 18.75

2. Convertiti din baza 2 in baza 10 numarul 1001.01

3. Convertiti din baza 2 in baza 16 numarul 100101

4. Transformati folosind scrierea in virgula mobila pe 32 biti numarul 17

5. Care este rolul BIOSului?

6. Ce dispozitive se pot conecta folosind porturile IDE?

7. Cati biti au urmatorii registri: BX, EAX, AL?

8. Ce functii au urmatorii registri: BP, DI, SP, SI, AX?

9. Care va fi valoarea finala a registrului AX dupa executarea urmatoarei secvente de cod: MOV AH,2INC AHMOV AL,AH

10. Scrieti secventa de instructiuni care realizeaza media aritmetica a doua numere.

11. Scrieti secventa de instructiuni care inmulteste cifrele unui numar memorat intr-o variabila introdusa in momentul executiei.

CUPRINSIntroducere..................................................................................................................................2

65

Page 66: Arhitectura Sistemelor de Calcul

1. STRUCTURA UNUI SISTEM DE CALCUL.......................................................................21.2. CANALELE DE I/E 41.3. MEMORIA INTERNA........................................................................................................44. UNITATEA ARITMETICA-LOGICA (UAL) .....................................................................42. SISTEME DE NUMEROTATIE............................................................................................52.1. Conversia unui numar real intr-o baza de numerotatie........................................................52.2. Conversia unui numar dintr-o baza de numerotatie in zecimal...........................................62.3. Conversia unui numar din binar in octal, hexazecimal si invers.........................................62.4. Operatii aritmetice in binar, octal si hexazecimal................................................................63. REPREZENTAREA DATELOR IN SISTEMELE DE CALCUL........................................73.1Reprezentarea numerelor naturale.........................................................................................83.2Reprezentarea numerelor intregi............................................................................................83.3 Complement logic şi aritmetic.............................................................................................93.4 Numere fracţionare (subunitare)...........................................................................................93.5 Virgula fixă (VF).................................................................................................................93.6 Virgula mobilă (VM).........................................................................................................105. PROCESOR. PROPRIETATI. MOD DE FUNCTIONARE...............................................135.1 Crearea unui cip din tranzistori...........................................................................................165.2 Microprocesorul..................................................................................................................175.3 CUM FUNCTIONEAZA UN CIP PENTIUM...................................................................226. LIMBAJE DE NIVEL ÎNALT ŞI DE NIVEL SCAZUT. INSTRUCŢIUNI.......................257. COMPILATOARE ŞI ASAMBLOARE..............................................................................268. ELEMENTE ALE LIMBAJULUI DE ASAMBLARE........................................................268.1. INTRODUCERE ÎN LIMBAJUL DE ASAMBLARE INTEL.........................................26

8.2. Formatul general al unei instrucţiuni în limbaj de asamblare....................................278.3. Instrucţiuni generale (mnemonice)............................................................................27

8. Regiştrii microprocesorului Intel..........................................................................................281. Regiştrii de uz general..................................................................................................288.2.2. Registrul pointer de instrucţiuni (IP)......................................................................348.3.4 Regiştrii de segment.................................................................................................36

10. MEMORIA.........................................................................................................................4010.3. MEMORIA INTERNA....................................................................................................4210.4.NOŢIUNI DE ADRESARE A MEMORIEI....................................................................4611. MEMORIA EXTERNA (DISCURILE MAGNETICE-HARD-DISKUL)........................4711.1. Interfata pentru hard-disk.................................................................................................4811.2. Cum functioneaza o unitate de disc fix?.........................................................................4912. TIPURI DE MAGISTRALE..............................................................................................5012.1. MAGISTRALA SERIALA.............................................................................................52Cum functioneaza magistrala universala seriala?.....................................................................5213. DISCURILE OPTICE.........................................................................................................5413.1.Discurile CD-ROM (Compact Disc - Read-Only Memory).............................................5413.2. Cum functioneaza o unitate CD-ROM?...........................................................................5613.3.DVD(digital video disc)....................................................................................................5713.4. Cum functioneaza un disc DVD?....................................................................................5713.4. Cum functioneaza CD-RW si DVD-RAM ?...................................................................5914. MONITORUL.....................................................................................................................6014.1. Cum functioneaza un ecran LCD?...................................................................................6215. TASTATURA.....................................................................................................................6316. DISPOZITIVE PENTRU INTRODUCEREA INFORMATIEI GRAFICE......................6417. ALTE ECHIPAMENTELE DE IESIRE............................................................................66

66

Page 67: Arhitectura Sistemelor de Calcul

19. PLACILE VIDEO...............................................................................................................6720. PLACILE DE SUNET........................................................................................................6721. DISPOZITIVE DE INTERFAŢĂ.......................................................................................6722. TESTUL POST...................................................................................................................6823. BOOT-AREA DE PE DISC...............................................................................................6924. FORMATAREA UNUI DISC............................................................................................7124.1. Cum se realizeaza formatarea unui disc?.........................................................................7124.2. Ce se intampla atunci cand stergem un fisier?.................................................................72CUPRINS..................................................................................................................................77

67