Sunteți pe pagina 1din 24

Calculatoare numerice.Componente fizice si componente logice.

Calculatorul reprezint un sistem digital format din dispozitive fizice


conectate in vederea prelucrrii informaiei. Un calculator numeric (sistem de
calcul) cuprinde dou categorii de componente:
-componente fizice (echipamente), ansamblul lor fiind cunoscut sub
denumirea de hardware ;
-componente logice (programe) prin intermediul crora sunt utilizate
echipamentele, ansamblul lor fiind cunoscut sub denumirea de software.
-Sistemul de calcul reprezint un ansamblu de componente hardware i
software in interaciune, fiind destinat prelucrrii datelor. Un asemenea sistem
este reprezentat prin urmtoarele:
Trasaturile specifice calculatoarelor
-componentele funcionale - realizate cu ajutorul circuitelor electronice,
majoritatea fiind circuite integrate asigurand o vitez ridicat in efectuarea
operaiilor aritmetice i fiabilitate in funcionare;
-funcioneaz pe baza unui program memorat format dintr-o succesiune de
instruciuni introduse in memoria calculatorului, instruciuni care sunt extrase,
interpretate i prelucrate;
-informaia memorat i prelucrat este una discret, fiind codificat astfel
incat mrimile asupra cruia opereaz pot lua dou valori: 0 i 1. Aceast
informaie se numete informaie binar.
Programare calculatoarelor numerice.Limbaj de programare
Pentru rezolvarea unei probleme cu ajutorul calculatorului este necesar
descrierea acesteia printr-o succesiune de operaii, care constituie algoritmul de
rezolvare. Descrierea se poate realiza iniial in limbaj natural, transpunandu-se
ulterior intr-un limbaj artificial, numit limbaj de programare.
Limbajul de programare reprezint un set de instruciuni impreun cu
regulile de organizare ale acestora intr-un program.
Vocabularul,sintaxa si semantica limbajului
Totalitatea simbolurilor i cuvintelor utilizate in limbajul respesctiv formeaz
vocabularul limbajului.
Totalitatea regulilor de scriere ale instruciunilor reprezint sintaxa limbajului,
iar
Totalitatea regulilor prin care se asociaz o semnificaie instruciunilor
reprezint semantica limbajului.

Calculatorul poate executa numai instruciuni exprimate intern, sub forma


unor iruri de cifre binare. Programele in care instruciunile sunt scrise sub
aceast form se numesc programe in limbaj-main.
Limbajul-main este caracteristic fiecrui calculator in parte, ins scrierea i
introducerea programelor sub aceast form este dificil. Pentru simplificarea
scrierii programelor, au fost create limbaje in care fiecrui cod de instruciune i sa ataat un nume mnemonic. Acest mod de reprezentare a instruciunilor se
numete limbaj simbolic sau limbaj de asamblare. Acest limbaj permite
utilizatorului s realizeze codificri simbolice ale instruciunilor si ale adreselor
de memorie.
Pentru a se executa un program in limbaj de asamblare, acesta trebuie in
prealabil translatat in limbaj-main printr-un proces numit asamblare.
Programul care se translateaz se numete program-surs, iar rezultatul
translatrii program-obiect. Operaia va fi executat de ctre un program numit
asamblor.
O instruciune in limbaj de asamblare corespunde unei instruciuni in
limbaj-main, deosebirea dintre ele constand numai in modul de reprezentare,
deci, fiecare instruciune in limbaj de asamblare este translatat intr-o singur
instruciune in limbaj-main.
Un limbaj de asamblare este specific unui calculator, astfel incat trebuie s se
cunoasc instruciunile i organizarea intern a acelui calculator. Din acest
motiv,s-au elaborat limbaje pentru programare care se pot executa pe orice
calculator. Acestea sunt limbaje orientate pe probleme sau limbaje de nivel inalt,
care, spre deosebire de limbajele de asamblare, care sunt limbaje orientate pe
calculator sau limbaje de nivel sczut, sunt orientate pe probleme.
Unei instruciuni intr-un limbaj de nivel inalt ii corespunde o succesiune de
instruciuni in limbaj-main. Translatarea in limbajul-main se poate realiza
cu ajutorul unui compilator, care genereaz din programul-surs un program
executabil, acesta fiind executat dup ce intregul program a fost compilat.
O alt posibilitate este utilizarea unui interpretor, care translateaz fiecare
instructiune din limbajul de nivel inalt intr-o succesiune de instruciuni-main,
acestea fiind executate imediat. In acest caz, nu se genereaz un program
executabil. Viteza de execuie este ins redus, deoarece fiecare instruciune
trebuie interpretat chiar dac ea se execut in mod repetat.

Masina virtuala.Nivelul aplicatiilor.Nivelul limbajelor de nivel inalt.Nivelul


limbajului de ansamblare.Nivelul sistemului de operare.Nivelul masinii
conventionale.Nivelul microprogram.Nivelul logicii digitale.
Un model posibil al unui calculator numeric modern reprezint o ierarhie
de maini virtuale pe mai multe nivele:
Nivelul logicii digitale
Nivelul 0 - nivelul logicii digitale - este reprezentat de componentele
hardware ale calculatorului (maina fizic). Circuitele acestui nivel execut
instruciunile main ale nivelului 1. Elementele de baz ale acestor circuite
sunt porile logice, fiecare poart fiind format la randul ei dintr-un numr de
tranzistoare. O poart logic are una sau mai multe intrri digitale (semnale
reprezentand 0 logic sau 1 logic) i are ca ieire o funcie simpl a acestor
intrri, de exemplu I logic, SAU logic.
Nivelul microprogram
Nivelul 1 - nivelul de microprogram - interpreteaz instruciunile nivelului
2, pentru fiecare instruciune a acestui nivel existand cate un microprogram.
Fiecare microprogram definete in mod implicit un limbaj de nivel 2 i o
main virtual. De obicei exist multe similariti intre mainile virtuale de
nivel 2, chiar i in cazul calculatoarelor diferiilor productori. Acest nivel se
numete nivelul mainii convenionale. Atunci cand se descrie setul de
instruciuni al unui calculator se descrie de fapt maina virtual de nivel 2 i nu
maina real de nivel 1. Sunt descrise deci instruciunile interpretate de ctre
microprogram, i nu instruciunile executate direct prin hardware.
De menionat c la anumite calculatoare nivelul de microprogram lipsete.
La aceste calculatoare, instruciunile mainii convenionale sunt executate
direct de circuitele electronice ale nivelului 0.
Nivelul masinii conventionale
Nivelul 2 - se numete nivelul mainii convenionale (Hardware abstraction layer
HAL?).Atunci cand se descrie setul de instruciuni al unui calculator, se descrie de
fapt maina virtual de nivel 2, i nu maina real de nivel 1. Sunt descrise deci
instruciunile interpretate de ctre microprogram, i nu instruciunile executate
direct prin hardware. De menionat c la anumite calculatoare nivelul de
microprogram lipsete. La aceste calculatoare,instruciunile mainii convenionale
sunt executate direct de circuitele electronice ale nivelului 0
Nivelul sistemului de operare
Nivelul 3 - este de obicei un nivel hibrid, deoarece multe din instruciunile
limbajului sale sunt prezente in cadrul instruciunilor de nivel 2. Exist in plus
un set de noi instruciuni, o organizare diferit a memoriei, posibilitatea de
execuie a mai multor programe in paralel i mai multe faciliti. Noile faciliti
adugate la nivelul 3 sunt realizate cu ajutorul unui interpretor, numit sistem de

operare, iar instruciunile identice cu cele de nivel 2 sunt executate direct prin
microprogram. Nivelul 3 este numit nivelul sistemului de operare
- Un sistem de operare reprezint un ansamblu de programe care asigur
exploatarea optim a resurselor hardware i software ale unui sistem de calcul.
Sistemele de operare au fost create pentru simplificarea activitii de
programare, utilizarea optim a posibilitii de lucru ale echipamentelor i
reducerea interveniei utilizatorilor in cursul execuiei programului.
Nivelele 0-3 nu sunt destinate utilizrii directe de ctre programatorii
obinuii, ci pentru rularea translatoarelor i interpretoarelor scrise de
programatorii de sistem.
Nivelul 4 i nivelele superioare - sunt destinate programatorilor de
aplicaii.
Nivelul limbajului de ansamblare
Nivelul 4 este nivelul limbajului de asamblare. Programele scrise in
limbaj de asamblare sunt translatate in limbajul nivelului 1, 2 sau 3 i apoi
interpretate de maina virtual corespunztoare.
Nivelul limbajelor de nivel inalt
Nivelul 5 - const din limbajele destinate programatorilor de aplicaie, fiind
numit nivelul limbajelor de nivel inalt . Programele scrise in aceste limbaje sunt
translatate in limbajele nivelului 3 sau 4 cu ajutorul compilatoarelor sau
interpretoarelor.
Nivelul aplicatiilor
Nivelul 6 reprezint nivelul aplicaiilor. Const din colecii de programe
destinate unor domenii specializate, de exemplu pentru administraie, economie,
proiectare asistat de calculator, grafic, etc.
Fiecare nivel reprezint o abstractizare distinct, cu diferite obiecte i
operaii. Setul tipurilor de date, a operaiilor i facilitilor fiecrui nivel
reprezint arhitectura nivelului respectiv. Arhitectura trateaz acele aspecte care
sunt vizibile utilizatorului nivelului respectiv, ca de exemplu dimensiunea
memoriei disponibile. Aspectele de implementare, ca de exemplu tehnologia
utilizat pentru implementarea memoriei nu fac parte din arhitectur. Arhitectura
calculatorului reprezint studiul proiectrii acelor pri ale unui sistem de calcul
care sunt vizibile pentru programatori.

Unitatea centrala de prelucrare.Unitatea aritmetico-logica.


Unitatea de comanda si control.Unitatea de memorie.
Unitatea de intrare/iesire.
Componentele principale ale mainii fizice sunt:
CPU/UCP - unitatea central de prelucrare - execut prelucrarea
datelor i controleaz funcionarea calculatorului. De multe ori se
numete procesor;
UM - unitatea de memorie (memoria intern sau principal) pstreaz datele i instruciunile;
I/O / UI/E - unitatea de intrare/ieire - efectueaz transferul datelor
intre calculator i mediul exterior acestuia;
Interconexiunile - permit comunicaia intre UCP, UM i UI/E;
Componentele principale ale UCP-ului sunt:
UAL (Unitatea Aritmetic i Logic) - execut prelucrrile
asupra datelor;
Registrele - reprezint o memorie intern a UCP-ului;
UCC (Unitatea de Comand i Control) - controleaz
funcionarea UCP-ului, deci a calculatorului;
Interconexiunile din cadrul UCP-ului asigur comunicaia intre
UAL, registre i UCC. Sunt realizate sub forma unei magistrale, numit
magistrala intern a UCP-ului.
Unitatea Aritmetic i Logic
UAL implementeaz diferite operaii aritmetice i logice asupra
operanzilor obinuti din memorie. Conine, in principal, un circuit logic pentru
adunare numit sumator, toate operaiile aritmetice reducandu-se la o
succesiune
de operaii de adunare.
Operaiile efectuate de UAL pot fi:
- transferul de date intre registre sau intre acestea i memorie;
operaii aritmetice;
- operaii logice (I/SAU/NU);
operaii de deplasare a coninutului unui registru sau locaie
de memorie;
- operaii de comparare a doi operanzi;
- UAL genereaz informa ii referitoare la rezultatul ultimei instruciuni
aritmetice sau logice efectuate. Acestea se refer la semnul rezultatului, la
paritatea acestuia, la cazurile in care a aprut un transport sau un imprumut in
cursul prelucrrii. Fiecare din aceste informaii se pstreaz in cate un bistabil,
bistabilele fiind reunite intr-un registru de stare. Acest registru conine i alte

informaii referitoare la starea programului.


Registrele
Setul de registre din cadrul UCP p streaz temporar operanzii unei operaii
aritmetice sau logice, rezultatele intermediare i finale sau adresele acestora.
Utilizarea acestora crete viteza de prelucrare a datelor, eliminand necesiatea
accesului repetat la memorie. Ele reprezint deci o memorie intern foarte
rapid.
Unele registre pot avea funcii dedicate, altele se pot utiliza pentru orice
operaii, fiind registre generale. Un registru special il reprezint registrul
acumulator (sau acumulatorul), care pstreaz de obicei unul din operanzii care
particip la operaie, ca i rezultatul operaiei. O parte din registre nu sunt
accesibile prin program, fiind registre de lucru. Un asemenea registru este, de
exemplu, registrul de instruciuni, care pstreaz instruciunea curent(cea care
se execut la un moment dat).
Unitatea de comand i control
UCC-ul coordoneaz activitatea calculatorului: extrage instruciunile
programului din memorie, le decodific (interpreteaz) i genereaz secvena de
semnale necesare execuiei. Separarea in timp a etapelor de execuie se asigur
de ctre un dispozitiv de secveniere.
Pe parcursul execuiei unei instruciuni UCC-ul primeste informatii de la
unitatea de calcul (UAL), informaii de stare, in funcie de care selecteaz una
dintre alternativele de continuare a operaiei. La terminarea execuiei, se trece la
instruciunea urmtoare. Adresa acestei instruciuni este pstrat intr-un
registru, numit registru contor de program sau numrtor de instruciuni.
In funcie de modul de implementare a dispozitivului de secveniere,
dispozitivele de comand pot fi de dou feluri:
Realizate in logic cablat, de exemplu cu un numrtor i un
decodificator;
Microprograme, care pstreaz secvenele semnalelor de comand
intr-o memorie de microprogram.
UM (unitatea de memorie)
Memoria reprezint sursa/destinaia tuturor informaiilor. In memorie sunt
incrcate informaiile iniiale (date i instruciuni) prin intermediul
dispozitivelor de intrare, i de la memorie sunt preluate rezultatele prin
intermediul dispozitivelor de ieire.
Memoria este organizat ca o colecie de locaii de memorie. Fiecrei
locaii i se asociaz o adres, prin intermediul creia poate fi selectat locaia
respectiv. Adresarea se realizeaz cu ajutorul unor linii de adres, numrul
acestora determinand capacitatea maxim adresabil a memoriei. De exemplu,
cu 16 linii de adres se pot selecta maxim 216 locaii de memorie.
O locaie de memorie se caracterizeaz prin:

Adres : poziia locaiei in cadrul memoriei;


Coninut : valoarea memorat la aceast adres.
Cantitatea de informaie care poate fi memorat intr-o locaie adresabil
individual, exprimat ca numr de cifre binare (bii) reprezint lungimea
cuvantului de memorie.
De obicei, memoria este organizat pe cuvinte de 16, 32 sau 64 de bii,
unitatea adresabil fiind octetul.
Capacitatea memoriei se exprim in octei=bytes (O=B) sau multipli ai
acestuia:
1KB=210B=1024B (Kilo)
1MB=210KB=220B (Mega)
1GB=210MB=230B (Giga)
1TB=210GB=240B (Tera)
1PB=210TB=250B (Peta)
1EB=210PB=260B (Exa)
1ZB=210EB=270B (Zetta)
1YB=210ZB=280B (Yotta)
Memoria trebuie s aib o capacitate cat mai mare i o vitez cat mai
ridicat, adic un timp de acces cat mai redus. Viteza este direct proporional
cu costul. De aceea, majoritatea calculatoarelor au dou tipuri de memorie, care
lucreaz pe principii diferite:
O memorie intern, rapid, numit memorie principal, care
comunic direct cu unitatea de calcul i cu cea de comand, cu un cost
per bit relativ ridicat;
O memorie extern, mai lent, cu un cost per bit mai redus
(disc magnetic, band magnetic). Aceast realizare a memoriei nu
afecteaz sensibil viteza de calcul, deoarece prelucrarea datelor i
transferul de informaii se efectueaz la viteza de acces a memoriei
interne.
Operaiile efectuate cu memoria sunt cele de citire i cele de scriere.
Aceste operaii, ca i cea de selecie a unor locaii de memorie pe baza adresei,
se realizeaz cu un ansamblu de circuite care formeaz, impreun cu memoria,
unitatea de memorie.
Unitatea de intrare/ieire
Aceast unitate asigur comunicaia dintre calculator i mediul exterior.
Utilizatorii comunic sistemului informaiile inregistrate pe suporturi externe de
informaie, iar rezultatele prelucrrilor sunt furnizate utilizatorilor pe asemenea
suporturi. Transmiterea informaiilor de pe suporturile externe in memorie i
inregistrarea informaiilor pe asemenea suporturi sunt efectuate de
echipamentele periferice. Acestea sunt conectate la calculator prin interfee de
I/E, existente in cadrul unitilor de I/E, care indeplinesc dou funcii
importante: de conversie de date i de memorie tampon. Conversia este necesar

deoarece informaia este reprezentat diferit i pe medii diferite, fiind necesar


compatibilizarea dispozitivelor respective. Funcia de memorie tampon este
necesar pentru c viteza de lucru a calculatorului (UAL i UCC) este cu cateva
ordine de mrime mai mare decat a dispozitivelor exterioare. Memoria tampon
asigur sincronizarea funcionrii calculatorului cu aceste dispozitive.
Interconexiunile
Interconectarea unitilor componente ale calculatorului se realizeaz prin
una sau mai multe magistrale. O magistral este format dintr-un grup de linii
destinate transferului paralel al informaiilor de la una sau mai multe surse la
una sau mai multe destinaii. Numrul liniilor magistrale este egal de obicei cu
lungimea cuvantului transferat.
Magistralele pot fi unidirecionale sau bidirecionale. La un moment dat,
nu poate fi selectat decat o surs i una sau mai multe destinaii. In cazul
seleciei mai multor surse simultan, rezultatul poate fi imprevizibil.
Selecia sursei i a destinaiei se realizeaz cu multiplexoare i
decodificatoare. Multiplexorul specific sursa care depune informaia pe
magistral, iar decodificatorul selecteaz destinaiile care vor fi cuplate la
magistral.
In funcie de semnalele vehiculate, magistralele pot fi: de adrese, de date i
de control.
Performantele unui sistem de calcul depind de:
Performanele unui sistem de calcul sunt determinate, n primul rnd, de
performanele procesorului,
adic de :
- complexitatea setului de instruciuni,
- viteza de execuie a instruciunilor,
- frecvena de ceas,
- numrul de regitri,
- tipurile de date folosite,
- modurile de adresare a datelor
Modalitati de evaloare:
1.Timpul
Timpul - Performanele procesorului unui calculator numeric se evalueaz n
primul rnd prin determinarea timpului de execuie al programelor.
Timpul este msura ce indic performana.
Comparnd dou maini de calcul, concluzia de genul Maina A este mai rapid
dect maina B se refer la faptul c timpul de execuie al aceluiai program pe
maina A este mai mic dect pe maina B. Dac maina A este de n ori mai rapid
dect maina B putem scrie:

Comparaia ntre cele dou maini poate fi exprimat i procentual: Maina A


este cu p% mai rapid dect maina B. Aceasta se poate exprima analitic astfel:

Atunci cnd se analizeaz performanele sistemului de memorie se folosesc


termeniibandwidth (lrgime de band) i latency (timp de ateptare,ntrziere
n rspuns) Pentru a exprima performantele calculatoarelor cercettorii n
domeniu au introdus mai nti uniti de msur care in seama de perioada de
ceas a UCP. Astfel, timpul de execuie al unui program, specific unei UCP, poate fi
exprimat ca [Patterson94]:
TUCP = NrI CPI Tclk (2.6)
unde:
NrI = numrul de instruciuni din program
CPI3 = numrul mediu de perioade de ceas pe instruciune; poate fi calculat prin
mprirea numrului de perioade de ceas pentru un program, la numrul de
instruciuni din program.
Tclk = perioada impulsului de ceas a procesorului.
2.MIPS

Ultima relaie (2.14) este mai des folosit, fiind mai uor de calculat, pentru c
depinde de frecvena de ceas i nu de numrul de instruciuni din program. De
asemenea relaia (2.14) pare s indice corect faptul c un procesor cu frecven
de ceas mai mare are o valoare MIPS mai mare. De fapt nu este chiar aa, pentru
c frecvena ceasului este inclus i n relaia termenului CPI.

Avantajul introducerii parametrului MIPS const n exprimarea uoar i n faptul


c este deosebit de sugestiv pentru clienii cumprtori de maini de calcul.
Msura prezint ns dezavantaje atunci cnd este folosit pentru a compara
diferite maini, pentru c: [Patterson94]:
valoarea MIPS este dependent de setul de instruciuni, fcnd dificil i
neconcludent compararea ntre calculatoare cu seturi diferite de instruciuni;
valoarea MIPS, pentru acelai calculator, variaz n funcie de programele rulate.
La programele cu operaii complexe valoarea medie CPI este mare;
valoarea MIPS poate varia uneori invers proporional cu performana. Exemplul
clasic folosit pentru a demonstra aceasta, se refer la operaiile cu numere reale,
reprezentate n virgul mobil
3.MFLOPS
Urmtoarea msur introdus a ncercat s se refere doar la operaiile n virgul
mobil: MFLOPS6 = milioane de operaii n virgul mobil pe secund.
Bazat pe operaii i nu pe instruciuni, MFLOPS are intenia s fac o comparaie
corect ntre diferite maini, cu referire nu la instruciuni ci doar la operaii n
virgul mobil. Ideea de la care s-a pornit a fost c acelai program, rulat pe
diferite calculatoare, va executa un numr diferit de instruciuni, dar acelai
numr de operaii n virgul mobil. Relaia folosit pentru calcul este:

Din pcate nici aceast msur nu este pe deplin edificatoare n compararea


performanelor.Operaiile n virgul mobil implementate pe diferite maini nu
sunt aceleai. Unele procesoare potexecuta, prin implementare cablat, operaii
n virgul mobil de mprire, radical, sinus etc., iar altele pot recunoate doar
instruciuni aritmetice simple ca adunare i scdere cu numere reale. Mai
mult, operaiile n virgul mobil nu au aceeai complexitate; unele se efectueaz
mai rapid, altele mai lent. De exemplu, pe aceeai main, vom obine o valoare
mai mare pentru MFLOPS, dac programul de test are doar adunri n virgul
mobil, fa de cazul cnd programul de test are operaii complexe de mprire,
sinus, radical .a.m.d.
3.Benchmarks
Alt direcie n crearea de msurtori n scopul comparrii performanelor
diferitelor maini
este rularea unor programe etalon de testare a performanelor (benchmarks).
Utilizarea
programelor benchmarks dorete s fac evaluarea i compararea
performanelor mainilor, prin
rularea acelorai programe, analiznd n final timpul de execuie.

Programele etalon de testare se pot referi la diferite componente ale sistemului


de calcul:
- UCP (Unitatea central de procesare)
- aritmetic n virgul fix / mobil
- sistemul de memorie
- sistemul de I/O
- sistemul de operare
Programele de test pot fi mprite n urmtoarele categorii:
1. Programe reale: de exemplu compilatoare de C, programe de procesare a
textelor, programe de proiectare asistat (Spice). Testarea se face n condiii
similare privind intrrile, ieirile i setarea opiunilor. Aplicaiile reale folosite
pentru testarea performanelor i comparare au dezavantajul c uneori se pot
ntlni probleme de portabilitate, mai ales datorit dependenei de sistemul de
operare folosit pe calculator.
2. Aplicaii modificate: adesea aplicaiile reale sunt folosite ca i blocuri
componente ale unor programe de testare. Modificrile constau n eliminarea
unor componente (de exemplu eliminarea componentelor de I/O dac programul
de test este destinat performanelor UCP) sau prin introducerea unor
componente care mresc gradul de portabilitate al programelor. n aceast
categorie sunt incluse i aplicaiile controlate prin fiiere de comenzi (scripted7
applications). Script-urile sunt folosite pentru a simula programe de aplicaie i
de asemenea cu scopul de a reproduce o comportare interactiv, de exemplu prin
afiri pe ecranul calculatorului, sau pentru a simula interaciunea multiuser
produs pe un sistem de tip server.
3. Nuclee (kernels) din programe reale: s-au extras poriuni semnificative, numite
nuclee, din programe reale, pentru a fi folosite ca rutine de test. Ele sunt utile
pentru a indica performana, referit la caracteristici individuale ale unei maini,
permind s se explice motivele diferenelor n performan pentru programele
reale. Exemple: Livermore Loops, Linpack.
4. Toy benchmarks (programe de test amuzante - jucrie): sunt programe scurte
(maxim 100 de linii de cod) care produc un rezultat cunoscut nainte de rulare,
folosite doar pentru a testa viteza de execuie. Exemplu Sieve of Erastosthenes,
Puzzle, Quicksort. Nu sunt foarte concludente, acesta fiind un motiv suplimentar
pentru care sunt privite ca jucrii.
5. Programe de test sintetice (synthetic benchmarks): sunt programe artificial
create, dar asemntoare din punctul de vedere al inteniilor cu programele de
test de tip kernels,ncercnd s fac testarea pe baza unor operaii i operanzi
ce se consider a fi caracteristici pentru frecvena medie de apariie a acestora n
programele reale.

5.SPEC
SPEC cuprinde n prezent trei grupuri de lucru, fiecare lucrnd la elaborarea
propriilor seturi de programe de test:
1. Open Systems Group (OSG): elaboreaz programe de test la nivel de
componente i de sistem pentru sisteme de operare UNIX / NT i pentru operaii
n virgul mobil. Exist subcomitete de lucru pentru testare: UCP (testare
procesor), Java (programe de test la nivel client i nivel server), Mail (programe
pentru testare utilitare E-mail i performane la ISP9), testare servere de fiiere,
testare pentru sisteme UNIX multi-utilizator, WEB (programe testare pentru web
server).
2. High Performance Group (HPG): Grupul elaboreaz i ntreine programe de
test pentru aplicaii de calcul de nalt performan, pentru evaluare a
performanelor de calcul interplatforme.
Se adreseaz sistemelor cu arhitectur de nalt performan cum ar fi: sisteme
multiprocesor simetrice, grupuri integrate (clusters) de staii de lucru, sisteme
paralele cu memorie distribuit i supercalculatoare tradiionale vectoriale i
paralel vectoriale.
3. Graphics Performance Characterization Group (GPCG): Elaboreaz programe
de test pentru subsisteme grafice, pentru OpenGL i pentru Xwindows. Cuprinde
de asemenea mai multe grupuri, pentru elaborare de programe standard de test
n domenii ca: aplicaii cu grafic intensiv, multi-media (n special pe codare,
recunoatere sunete, sunete 3D, multimedia pentru jocuri i timp liber).
6.Mediere
Modul de comparare a performanelor diferitelor maini de calcul a fost i va fi un
permanent subiect de discuie pentru cercettori. Aceasta pentru c exist nu
numai interese financiare i de carier la mijloc, dar i din cauz c puini vor
putea spune ntotdeauna i fr nici o urm de ndoial, c o main testat este
mai bun dect alta. Trebuie luate n considerare foarte
multe elemente ale sistemului de calcul, dar n final, cel mai bun calculator este
cel care prezint cel mai bun raport performan / pre. Dar performana este
strns legat de aplicaiile ce vor fi rulate pe maina respectiv.
Pentru compararea mai multor maini, cea mai simpl metod este s se ruleze
acelai program pe fiecare dintre maini i s se determine timpul de execuie.
Dar dac una dintre maini are performanele cele mai bune pentru un program
de test rulat, iar dac se alege un alt program de test are rezultate mai slabe
dect competitorii? Pentru a evita o asemenea situaie se face testarea
prin rularea mai multe programe diferite pe fiecare din mainile testate i apoi s
se ia o decizie cu privire la performane.
Cel mai simplu mod de comparare consider fiecare program i fiecare main n
parte, ca n exemplul urmtor:Media aritmetica, Media aritmetica ponderata,
media geometrica.
7. LEGEA LUI AMDAHL

Ctigul n performan ce se poate obine prin mbuntirea unei componente a


unui calculator poate fi calculat cu ajutorul Legii lui Amdahl. Legea stabilete
valoarea creterii globale a vitezei sistemului n condiiile utilizrii unei metode de
cretere a vitezei doar pentru una din componentele sistemului, creterea global
depinznd de fraciunea de timp ct acea component este utilizat. Legea
permite calculul valorii numerice a creterii n vitez a sistemului pe baza
mbuntirii unei caracteristici particulare (speedup10, ca raport ntre timpul
consumat nainte de mbuntire i timpul consumat dup mbuntire)

Arhitectura setului de instructiuni


Interdependenta set de instructiuni-organizare interna a procesorului:
Conform legturii dintre organizarea UCP i numrul de adrese pe instruciune,
vom putea ncadra cele mai multe procesoare ntr-una din urmtoarele trei
categorii:
1. organizare pe baz de registru acumulator (Ac) la care pentru majoritatea
operaiilor unul dintre operanzi se gsete implicit n acumulator. De asemenea

rezultatul operaiei se 'acumuleaz' n acest registru cu funcie special.


2. organizare pe baz de registre de utilizare generala (RG). La acest tip de
organizare operanzii sunt explicit localizai fie n registrele interne (fr restricii),
fie n registrele din locaiile memoriei principale.
3. organizare de tip stiv (ST) la care operanzii se gsesc implicit n vrful stivei i
tot
aici se stocheaz rezultatul. Exist unele procesoare de tip stiv care folosesc
dou
stive: una pentru operaii asupra datelor i alta pentru operaii asupra
adreselor.

Risc/Cisc
Procesoare CISC ( care sunt principalele elemente ce le caracterizeaza)
Procesoarele CISC (Complex Instruction Set Computer)
Sunt procesoarele cu set complet de instructiuni cu format variabil, care permit
un numar mare de moduri de adresare
Executarea unei instructiuni presupune efectuarea mai multor operatii in mai
multe cicluri masina.
Procesoarele rezultate sunt complexe, cu numar mare de cablaje care realizeaza
implementarea setului de instructiuni
Aceste procesoare utilizeaza memoria interna
Procesoare RISC
Procesoarele RISC (Reduce Instruction Set Computer)
Sunt procesoarele cu set redus de instructiuni car au instructiuni elementare,
majoritatea putand fi executate intr-o singura perioada de ceas
Instructiunile au lungime fixa folosind un singur acces la memorie
Au un numar minim de moduri de adresare, si in compensatie un numar mare de
registrii in care se depun operanzi
Este de preferat ca instructiunile sa lucreze cu operanzii in registrii, operatile fiind
elementare.
Datorita simplitatii operatiilor elementare pot fi construite unitati de procesare
paralele rezultand executarea simultana a mai multor instructiuni
Cu aceste procese se implementeaza tehnica PIPE-LINE de executare a
instructiunilor in care in fiecare perioada de ceas se preia cate o instructiune.
La un moment dat sunt in executie mai multe instructiuni, in diverse stadii.
Rezumat al caracteristicilor definitorii pentru mainile RISC:
1. Acces la memorie limitat, doar prin instruciuni de ncrcare (load) i stocare
(store);

2. Format de lungime fix pentru instruciuni, deci uor de decodificat;


caracteristic bcare contribuie la simplificarea structurii unitii de control;
3. O structur simpl a unitii de control implementat sub form cablat, deci
cu vitez mare de funcionare;
4. Relativ puine tipuri de instruciuni (tipic sub 100 de instruciuni) i puine
moduri de adresare (din nou aceast caracteristic contribuie i la simplificarea
structurii unitii de control);
5. Execuia instruciunilor ntr-un singur ciclu prin tehnici pipeline7; se face prin
suprapunerea diferitelor faze de execuie (fetch, decodificare, aducere operanzi
etc.) ale mai multor instruciuni. Tehnica de tip conduct (pipeline) este utilizat i
la arhitecturile CISC, dar la RISC tehnica este mai eficient i mai uor de
implementat, datorit lungimii constante a instruciunilor;
6. Un numr relativ mare de registre n interiorul UCP;
7. Utilizarea compilatoarelor optimizatoare - pentru a optimiza performanele
codului obiect.
La CISC cteva din caracteristicile care le deosebesc de RISC-uri sunt:
1. Multe instruciuni care prelucreaz operanzi din memorie;
2. Format de lungime variabil pentru instruciuni;
3. Unitate de control microprogramat (micro-codat), avantajoasa din punctul de
vedere al flexibilitii implementrii, dar lent;
4. Set complex (extins) de instruciuni i o mare varietate de moduri de adresare;
5. Un numr relativ mic de registre n interiorul UCP.
6. Utilizarea compilatoarelor optimizatoare - pentru a optimiza performanele
codului obiect;
7. Exista instruciuni complexe de mare eficien, dar uneori acestea sunt rar
utilizate de ctre compilatoare.
Asa cum s-a artat mai sus, arhitecturile RISC restricioneaz numrul de
instruciuni care acceseaz direct memoria principal. Cele mai multe instruciuni
ale RISC presupun doar operaii ntre registrele interne UCP. Pentru c
instruciunile complexe nu exist n setul de instruciuni, dac este nevoie de ele,
acestea se implementeaz prin rutine cu ajutorul instruciunilor existente. n
final, ntr-un program executabil vor fi mai multe instruciuni dect la CISC, dar
execuia pe ansamblu va fi mai rapid. Totui, dac ntr-un program, frecvena
operaiilor complexe este mare, este foarte posibil ca performanele unei maini
CISC s fie mai bune (execuie mai rapid).
Formatul Instructiunilor
Formatul instruciunilor se reprezint de obicei n form grafic sub forma unor
dreptunghiuri ce simbolizeaz cmpurile binare incluse n instruciuni. Din punctul
de vedere al lungimii instruciunilor pot exista dou tipuri de ASI:
-arhitecturi la care lungimea instruciunilor este fix, pentru tot setul recunoscut
-arhitecturi cu lungime variabil a instruciunilor recunoscute

Instruciunile se reprezint n memoria principal ca octei succesivi (unul sau mai


muli octei n funcie de tipul de procesor). Scopul fiecrei instruciuni
recunoscute de procesor este s specifice operaia ce trebuie executat de
hardware, operanzii utilizai i locul unde se stocheaz rezultatul operaiei.
Formatul unei instruciuni include dou tipuri principale de informaii:
- codul operaiei pe care o comand instruciunea respectiv
- cmpuri de adrese pentru specificarea modului de referire la operanzi i la
locul unde sestocheaz rezultatul. Vom numi aceste cmpuri specificatori de
operanzi, pentru c ei indic adresa sau modul de calcul al adresei efective a
operanzilor (n figur s-au considerat trei specificatori de adres de operanzi: OP1,
OP2, OP3).
Instructiuni aritmetice

Instructuni Logice
Acestea efectueaz operaii logice cu operanzii specificai de instruciune. Dei, n
principiu,ar fi suficiente operaiile operatorilor complei NAND8 i / sau NOR,
setul de instruciuni al unuimicroprocesor include ca instruciuni logice cel puin
operaiile logice de tip I, SAU, NU, SAUExclusiv.
Aceste operaii se efectueaz bit cu bit ntre operanzi, cu excepia complementrii
(NU) NAND / NOR = I-NU / SAU-NU care are un singur operand pentru care se
complementeaz fiecare bit.

n urma efecturii operaiilor logice este influenat valoarea indicatorilor de


condiii, n funcie de rezultat. Un set tipic de instruciuni logice este rezumat n
continuare:

Instruciuni pentru transferul informaiei

Instruciuni pentru deplasarea i rotirea datelor

Instruciuni pentru controlul procesorului

Memoria sistemului de calcul


Ierarhizarea
Nivelul 1 este nivelul de memorie intern UCP,
Nivelul 2 memoria principal (RAM)
Nivelul 3 memoria auxiliar (extern),(HDD)
Memoria cache (memorie tampon)intermediar intre nivel 1 si 2(memorie
temporara).
Modul de organizare i de adresare - din acest punct de vedere
memoria include dou modele:
memoria intern, principal - pstreaz datele i
programele in cursul execuiei lor, rezultatele intermediare i finale ce
urmeaz a fi extrase din sistem avand o capacitate redus, ins un timp
de acces foarte mic;
memoria extern, auxiliar - pstreaz datele, informaiile
i programele pe supori externi in vederea unor prelucrri ulterioare.
Are o capacitate de stocare, teoretic, nelimitat, singura limit impus
fiind aceea dictat de numrul suporilor externi disponibili la un
moment dat, ins are un timp de acces relativ mare fa de memoria
intern;

Din punct de vedere al accesului, memoria poate fi:


memorie cu acces direct sau aleator - aceasta este
caracterizat prin timp de acces relativ identic necesar localizrii
oricrei adrese de memorie;
memorie cu acces secvenial sau poziional - la care
timpul de acces necesar localizrii unei adrese este determinat de o
serie de deplasri relative fa de adresa de inceput;
Reprezentarea Informatiei
In memoria calculatorului nu se pot nscrie dect numere naturale. Mai precis,
fiecare octet de memorie poate memora un numr de la 0 la 28^-1, adic 255.
Orice alt informaie pe care dorim s o reprezentm n memoria calculatorului
trebuie redus la unul sau mai multe numere naturale mici.
Aceast trstur a modelului actual de memorare introduce un pas suplimentar
de abstractizare n procesul de proiectare de aplicaii, i anume pasul n care se
construiete un model de reprezentare n memorie a datelor, necesar aplicaiei.

CARACTERISTICI PRINCIPALE
Capacitatea de stocare a memoriei (S) reprezint numrul total de bii ce pot fi
stocai ntrun dispozitiv sau circuit de memorie. Exprimarea parametrului S se
face destul de rar n bii, folosindu-se multiplii de octei (vom nota bit cu b iar
Byte (octet) cu B):
1 octet (Byte) are 8 bii
210 bii = 1 kilo-bit (kb)
210 Bytes = 1 kilo-Byte (kB)
210 kB = 220 B = 1024 kB = 1 MB
210 MB = 1024 Mb = 1 GB
1024 GB = 1 TB
Timpul de acces la dispozitivul de memorie exprim un timp mediu necesar
pentru a scrie sau a citi o cantitate fix de informaie din / n memorie (un cuvnt
de memorie). Se calculeaz din momentul cnd dispozitivul de memorie primete
o cerere de citire (scriere) pn n momentul cnd informaia este disponibil la
terminalele de ieire (sau este nscris n locaia de memorie adresat).
Modul de acces (sau tipul de acces) spune modul n care se acceseaz informaia
dintr-un anumit dispozitiv de memorie. Modul de acces depinde n primul rnd de
tehnologia de realizare a dispozitivului de memorie i de principiul constructiv

adoptat. Accesul la celulele individuale de stocare se poate face fie ntr-o anumit
ordine (acces poziional, sau serial), fie aleator (acces aleator).
Timp de ciclu i vitez de transfer a datelor. La memoriile cu citire distructiv
(prin operaia de citire informaia stocat se pierde i trebuie refcut) i la
memoriile dinamice, nu este posibil s se nceap un nou ciclu de acces la
memorie pn cnd nu s-a efectuat o restaurare a informaiei sau o
remprosptare a acesteia. Ca urmare, intervalul minim de timp ce se scurge ntre
iniierea a dou accesri pentru transferul succesiv la / de la acelai dispozitiv de
memorie, este mai mare dect timpul de acces;
Costul dispozitivului de memorie nu cuprinde de obicei doar costul celulelor de
stocare ci i pe cel al echipamentelor periferice sau circuitelor de acces necesare
n funcionarea memoriei. Se exprim de obicei global, pe niveluri de memorie,
sau pentru ntreaga memorie a unui calculator, n uniti specifice, (cost/bit)
Puterea consumat se exprim de obicei ca putere consumat raportat la un bit
de informaie, obinndu-se prin mprirea puterii totale consumate de memorie
la capacitatea de stocare.
Geometria sau modul de organizare al memoriei este exprimat sub forma M N,
unde M reprezint numrul de cuvinte posibil de memorat, iar N dimensiunea
cuvntului, n bii. Caracteristica numit geometrie este folosit doar pentru
dispozitive de memorie din memoria principal. Este o caracteristic important
din punctul de vedere al accesrii informaiei din memoria principal, pentru c
indic cantitatea minim de informaie adresabil.
Alterabilitate. Este caracteristica care se refer la posibilitatea modificrii, de
ctre procesor (on-line) a informaiei nscrise ntr-un dispozitiv de memorie.
Permanenta stocrii. Procesul fizic folosit pentru stocarea informaiei este uneori
instabil, astfel c informaia s-ar pierde dup un timp dac nu se iau msuri de
restaurare. Exist trei evenimente care pot duce la pierderea informaiei stocate:
- citire distructiv
- stocare dinamic
- volatilitatea
Tipurile de Memorie
Memoria intern este acea component a sistemului de calcul care are rolul
de a stoca instruciunile i datele de prelucrare, rezultatele intermediare i/sau
finale ale programelor care se afl in execuie la un moment dat. Datele necesare
programului aflat in execuie trebuie s se gseasc in memoria intern, unde
sunt puse la dispoziia UCP-ului (unitii centrale de prelucrare) intr-un timp
minim. Timpul de acces al memoriei interne trebuie s fie mai mic sau egal cu
timpul necesar UCP-ului pentru a executa o instruciune.
Operaiile care se execut la nivelul memoriei sunt:
- Operaia de citire - reprezint operaia de extragere a informaiilor

din memorie;
- Operaia de scriere - reprezint operaia de stocare/inmagazinare a
datelor in memorie.
Memoria intern este de dou feluri: memorie ROM (Read Only
Memory) i memorie RAM (Random Acces Memory).
Memoria ROM se mai numete i memorie permanent, fiind realizat din
cipuri al cror coninut nu se pierde in absena curentului electric. Informaiile
stocate in aceste memorii sunt destinate numai citirii, deci nu pot fi modificate
sau terse (prin mijloace obinuite). In general, sunt utilizate pentru stocarea
instruciunilor necesare unui calculator la punerea sa in funciune.
Memoriile de tip ROM au un coninut fix, stabilit in construcie, iar
datorit faptului c operaia de citire este nedistructiv, determin obinerea
unor timpi de acces foarte mici, aceasta fiind caracteristica principal a acestor
tipuri de memorie.
Cele mai utilzate tipuri de memorie ROM sunt:
PROM (Programmable Read Only Memory) - nu conine
nici o informaie i poate fi programat o singur dat, apoi permiand
numai operaii de citire. Aceste cipuri sunt utilizate de ctre
productorii de calculatoare.
EPROM (Erasable Programmable Read Only Memory) sunt memorii PROM ce permit tergerea informaiilor cu ajutorul
razelor ultraviolete i reprogramarea.
EEPROM (Electrical Erasable Programmable Read Only
Memory) - sunt memorii PROM ce pot fi terse cu un flux puternic de
electricitate, apoi pot fi reprogramate.
Memoria RAM
Este memoria intern care stocheaz datele i programele care vor fi
prelucrate imediat.
Caracteristici:
accesul direct ;
sunt realizate din module sau cipuri de o anumit dimensiune,
prezentandu-se sub forma unor memorii integrate, intr-o tehnic general
de tip MOS;
permit citirea i scrierea datelor, din i in orice cuvant de memorie;
sunt memorii volatile, nepermanente (la pierderea curentului
electric coninutul lor se pierde)
Exist dou tipuri de memorie RAM:
1. Memorie RAM Static (SRAM) - are calitatea de a pstra datele
inscrise in mod static i permanent pe durata alimentrii cu electricitate. Acest
tip de memorie utilizeaz in structura sa 4 tranzistori i dou rezistoare.
Comutarea strilor intre 0 i 1 se realizeaz prin comutarea strii tranzistorilor.

La utilizarea unei celule de memorie informaia nu se pierde,iar datorit


utilizrii matricei de tranzistori comutarea intre cele dou stri este foarte rapid.
2. Memorie RAM Dinamica (DRAM) coninutul volatil al acestor tipuri
de memorie este conservat cu ajutorul mecanismului de reimprosptare, care
reprezint operaia de citire periodic a datelor din memorie i rescrierea lor in
aceleai cuvinte de memorie cu ajutorul unui dispozitiv suplimentar de detectare
a parittii.
Memoria Cache, numit i buffer de mare vitez sau zon tampon; este o
parte din memoria intern folosit pentru a executa prelucrarea diverselor
operaii din cadrul unui sistem de calcul. Este un mecanism de stocare de mare
vitez . Acest tip de memorie vine s suplineasc viteza unic de raspuns a
memoriei RAM fa de cerinele microprocesorului, stocand pentru un timp
limitat prti ale programelor sau datelor cel mai des utilizate de UAL
Memoria Cache de nivel 1 - poate fi accesat imediat, fr
stadii de ateptare, deoarece lucreaz la viteza procesorului.
Memoria Cache de nivel 2 - este, de obicei, mai mare, i a
cunoscut o evoluie marcant. Iniial, ea a fost incorporat pe placa de
baz i deinea o vitez mai mic, apoi a fost alturat procesorului,
funcionand la o vitez fracionat, dar comparabil cu aceasta. In
final, ea a fost integrat in pastila de siliciu a acestuia avand astfel o
vitez egal cu UCP.
Memoria Cache de nivel 3 - inlocuiete acum memoria
Cache de nivel 2, fiind mai lenta decat procesorul, ins mai rapid
decat memoria principal.
Memoria externa
Memoria extern este o memorie de arhivare, ceea ce inseamn c asigur
stocarea datelor preluate din mediul extern pe o perioad de timp nedeterminat
i in volume semnificative. Se poate spune c memoria de arhivare este cea care
asigur forma de stocare suplimentar a datelor din sistemul de calcul. Tot in
memoria extern sunt stocate i programele cu ajutorul crora se realizeaz
prelucrarea datelor.
In comparaie cu memoria intern, memoria extern este:
Nevolatil;
Cu acces poziional;
Cu timp de acces mai mare;
Cu vitez de transfer mai mic;
Cu cost mai mic;
Cu capacitate mult mai mare;
Este o memorie read-write;
Are densitate de memorare variabil de la un echipament la altul i
de la un suport la altul.

Accesul la memoria extern nu se face direct, ci prin intermediul memoriei


interne.
In prezent se folosesc dou tehnologii de realizare a mediului de memorare
pentru memorii externe:
tehnologia magnetic;
tehnologia optic.
Suporii de memorare utilizai sunt:
discul/banda magnetic;
discul optic.