Sunteți pe pagina 1din 60

ARHITECTURA SISTEMELOR DE CALCUL

Curs I Cuprins >Sistem de calcul- Notiuni de baza >Evoluia sistemelor de calcul >Clasificarea sistemelor de calcul >Indicatori de performanta ai unui sistem de calcul

Un dispozitiv care lucreaz automat, sub controlul unui program memorat, prelucrnd date n vederea producerii unor rezultate ca efect al procesrii. Dispozitiv care efectueaz calcule, n special o main electronic programabil care execut operaii aritmetice, logice sau care asambleaz, stocheaz, coreleaz sau efectueaz un alt tip de procesare a informaiei, cu vitez ridicat (The American Heritage Dictionary of the English Language, 2000).

hardware - partea de echipamente:


unitatea central de procesare (Central Processing Unit CPU); memorii; dispozitivele periferice;

software - partea de programe:


soft sistem (aplicaii destinate sistemului de calcul i sistemului de operate); soft utilization (restul aplicaiilor);

firmware - partea de microprograme

Fondatori ai tiinei calculatoarelor : Blaise Pascal, Gotfried Wilhelm Leibniz, Charles Babbage, George Boole i Claude Shannon Blaise Pascal (1623-1662), a inventat n anul 1642 prima main de calcul operaional, denumit Maina Aritmetic, ce realiza operaiile de adunare i de scdere Matematicianul britanic Charles Babbage (1791-1871) a inventat primul dispozitiv ce poate fi considerat un computer n sensul modern al cuvntului.
Mare parte din activitatea lui Babbage - dedicat realizrii de calculatoare analogice Sistemul de calcul analogic nu avea sistem de operare; software pentru calculatorul su - nume limbajul de programare ADA. Maina de calcul Difference Engine - caracteristici:
4000 componente cntrea 3 tone, aproximativ 3 metri lime i 2 metri i jumtate lungime. Acest echipament a efectuat prima secven de calcule la nceputul anilor 1990, obinndu-se rezultate cu o precizie de 31 de cifre zecimale.

n jurul anului 1850 matematicianul englez George Boole a inventat Algebra boolean care a rmas relativ necunoscut i neutilizat pn n anul 1938, cnd teza de masterat a lui Claude Elwood Shannon a demonstrat cum conceptele lui Boole TRUE i FALSE pot fi utilizate pentru a reprezenta funcionalitatea comutatoarelor din circuitele electronice

Prima generaie in evoluia calculatoarelor(1938-1953) - caracterizat de utilizarea tuburilor electronice - calculatoarele erau destinate calculelor tiinifice i comerciale - in aceast perioad se ncadreaz calculatoarele Harvard Mark 1 i ENIAC

Calculatorul ENIAC

Harvard Mark 1 (IBM Automatic Controlled Calculator) (1938 1944), fiind format din mai multe calculatoare ce lucrau asupra unor pri ale aceleiai probleme sub supravegherea unei singure uniti de control. masina era construit din comutatoare, relee i alte dispozitive mecanice, coninnd 750.000 de componente, avnd 16 metri lungime, 2,5 metri nlime i cntrind 5 tone. numerele folosite n calcule erau de 23 de cifre, o nmulire dintre dou numere dura 4 secunde iar o mprire dura 10 secunde. ENIAC - Electronic Numerical Integrator And Computer a fost realizat prin contribuia inginerilor William Mauchly i J. Presper Eckert de la Universitatea din Pennsylvania ntre anii 1943 i 1946. calculatorul avea 3 metri nlime, ocupa un spaiu de 30 mp i cntarea 30 tone. in construcia sa erau folosite 18.000 tuburi cu vacuum, avnd nevoie de o putere de 150 kW (suficient pentru a ilumina un mic ora). Principala problem cu acest tip de calculator era fiabilitatea: n fiecare zi trebuiau s fie nlocuite aproximativ 50 de tuburi cu vacuum.

Generaia a doua in evoluia calculatoarelor (1954 - 1963) caracterizat prin folosirea tranzistorului pentru realizarea circuitelor logice
aveau n jur de 100 de instruciuni complexe, memorie de tip magnetic includea dispozitive periferice prelucrarea se fcea secvenial prin intermediul unui sistem de operare simplu (FMS i IBSYS pentru maina de calcul IBM 7094), folosindu-se att limbajul de asamblare ct i limbaje evoluate. n anul 1956 a aprut Limbajul de programare Fortan Dup anul 1960 au aprut limbajele Algol (ALGOrithmic Language) i Cobol (COmmon Business-Oriented Language - limbaj orientat spre aplicaiile de afaceri). Calculatoarele erau folosite n mare parte pentru calcule tiinifice, rezolvarea sistemelor de ecuaii liniare i neliniare, ecuaii difereniale etc. n anul 1955 a devenit operaional primul calculator cu tranzistori, denumit TRADIC (Transistor Digital Computer).

Calculatorul Altair 8800

caracterizat prin utilizarea circuitelor integrate pe scar mic (SSI - Small Scale Integration) i medie (MSI - Medium Scale Integration) n anul 1958 inginerul Jack Kilby a reuit s combine mai multe componente pe o singur bucat de semiconductor, realiznd astfel primul circuit integrat. n anul 1961, Fairchild (cercettor la Texas Instruments) i Texas Instruments au realizat primele circuite integrate comerciale ce conineau funcii logice de baz, dou pori logice fiind implementate prin intermediul a 4 tranzistori bipolari i 4 rezistoare. T. Hoff, proiectant la Intel, a creat primul microprocesor, denumit Intel 4004, ce avea 2300 de tranzistoare i putea executa 60.000 operaii pe secund. n 1974, apare primul microprocesor de uz general, denumit 8080
procesor pe 8-bii, cu 4500 tranzistori efectua 200.000 operaii pe secund. Alte procesoare din aceast vreme au fost: Motorola 6800, MOS Technology 6502, Zilog Z80.

n 1974 Ed Roberts lanseaz pe pia calculatorul Altrair 8080, cu urmtoarele caracteristici:


bazat pe microprocesorul 8080. pre de 375$. memorie 4KB, programabil prin intermediul unui panou frontal cu comutatoare.

n 1975 Bill Gates si Paul Allen fondeaz firma Microsoft i implementeaz limbajul de programare BASIC 2.0 pe Altair 8800 primul limbaj de nivel nalt disponibil pe un calculator personal Alte exemple de calculatoare din aceast perioad sunt: Apple I n 1976 , Apple II n 1977, TRS-80 (bazat pe microprocesorul Z80)

caracterizat prin construcia de calculatoare ce utilizeaz circuite integrate pe scar mare (LSI -Large Scale Integration) i foarte mare (VLSI - Very Large Scale Integration) n anul 1981 a fost scos pe pia primul calculator personal (PC - Personal Computer) avea urmtoarele caracteristici:
microprocesor pe 16-bii 8088 memorie ROM BASIC floppy-disc de 360KB capacitate sistem de operare DOS 1.0 pre 1365 $

sunt nc n faza de dezvoltare se bazeaz pe utilizarea inteligenei artificiale, a circuitelor integrate specializate i a procesrii paralele exist aplicaii ale celei de-a cincea generaii de calculatoare care sunt deja utilizate astzi:
recunoaterea vorbirii

Utilizarea procesrii paralele i a superconductorilor face viabil inteligena artificial Procesarea molecular i cuantic precum i nanotehnologiile se pare c vor duce la schimbari importante n urmtorii ani

Marea varietate a calculatoarelor a impus clasificarea lor dup criterii precum:

cost, capacitate, complexitate, aplicaii.

tipul unitii centrale de prelucrare (UCP) sau al microprocesorului


cele mai mari calculatoare tind s utilizeze uniti centrale de prelucrare constituite separat, de mare vitez, cu componente complexe;

cantitatea de memorie principal pe care microprocesorul o poate utiliza


un calculator echipat cu o memorie principal de mare capacitate poate memora programe mai complexe i chiar mai multe programe diferite n acelai timp;

capacitatea de stocare a memoriei auxiliare


sistemele de calcul tind s fie echipate cu dispozitive periferice de memorare de mare capacitate;

viteza perifericelor de ieire este o alt caracteristic


cele mai mari calculatoare sunt dotate cu dispozitive de ieire rapide, a cror vitez se msoar, spre exemplu, n sute de mii de linii care pot fi tiprite

viteza de prelucrare exprimat n milioane de instruciuni pe secund


pn la mai mult de 200 MIPS pentru supercalculatoare;

(MIPS - Millions of Instructions Per Second) variaz de la 3 - 4 MIPS la cele mai mici calculatoare,

numrul utilizatorilor care pot avea acces la calculator n acelai timp


calculatoarele personale admit numai un singur utilizator, alte tipuri accept mai mult de doi sau trei utilizatori n acelai timp, iar cele mai mari calculatoare suport sute de utilizatori simultan;

costul sistemului - poate varia foarte mult.

Sisteme de calcul:
microcalculatoare minicalculatoare calculatoare mari (mainframe ) supercalculatoare

Sisteme de calcul nglobate (embedded ):


dotate cu un procesor i cu o functionare dedicate unui anumit scop
sunt produse miliarde de sisteme n fiecare an
exemple: telefoane mobile, PDA, MP3 player-e, GPS-uri, DVD player-e, etc. Aproximativ 80% din procesoarele produse n acest moment sunt dedicate microdispozitivelor.

Statii de lucru (workstations) - de obicei

calculatoare din familia microcalculatoarelor (spre exemplu calculatoarele personale) cu putere de procesare medie, capabiliti grafice i multimedia ridicate, de obicei conectate la Internet;

Server-e - ofer diferite servicii staiilor (clienilor).


Din punct de vedere hardware un server poate rula att pe un microcalculator (calculator personal) cu putere de procesare mai ridicat ct i pe arhitecturi hardware dedicate acestui scop (mainframe-uri sau supercalculatoare);

pot fi folosite cu uurin de neprogramatori datorit numrului mare de pachete de programe de aplicaii disponibile lucreaz folosind sisteme de operare, ex: Windows, Linux, sau alt sistem de operare similar au aplicabilitate in orice domeniu de activiate exist un mare numr de variante, n ceea ce privete dimensiunea: de la calculatoare personale portabile (laptop) pana la puternice staii de lucru (desktop workstations) care sunt utilizate pentru calcule inginereti i tiinifice staiile de lucru pot utiliza sistemele de operare UNIX sau Windows i sunt echipate cu procesoare RISC (Reduced Instruction Set Computer) puternice (precum Digital Alpha, PowerPC sau MIPS), sau cu procesoare Intel Pentium (i compatibile). .

Arhitectura de baza: utilizeaz un microprocesor ca unitate central de prelucrare (UCP) necesita numar mic de componente pentru implementarea CPU si a interfetelor cu magistrala dispune de structura modulara, realizata dupa criterii functionale si constructive, structura sistemului este in jurul magistralei controlerele de acces direct la memorie (DMA) au rol de a degreva unitatea centrala de prelucrare de urmarirea permanenta a transferurilor de date realizate intre memoria interna si memoria externa, tratata ca dispozitiv periferic de intrare/iesire dispozitivele periferice de intrare/iesire sunt cuplate la magistrale prin interfete seriale sau paralele unitatea centrala de procesare este implementata cu un microprocesor
circuit integrat monolitic; constituite dintr-o pastila de Siliciu (CIP), care inglobeaza cateva milioane de tranzistoare realizat pe baza tehnologiei siliciului implantat pe rubin in variante MOS (Metal-Oxid_Semiconductor) Tehnologiile de realizare urmaresc densitate sporita de componente (tranzistoare), avand o anumita capacitate de stocare

memoria este realizata modular:


module de memorie alocate ca zona de lucru pt utilizator (RAM Random Access Memory) module de memorie destinate memorarii unor programe din software-ul de baza cu care este echipat microcalculatorul (ROM Read Only Memory)

maini multiprocesor, cu putere mare de procesare, opereaza cu viteze foarte ridicate neorientate ns spre un anumit task precis ci mai degrab aplicaiilor critice, prelucrrilor simple asupra unui volum mare de date, salvarea i backup-ul acestor date suport prelucrri cerute de sute, chiar mii de utilizatori precum i calcule specializate solicita spatii speciale si proceduri de mentinere in functiune, neputand fi cuplate direct la reteau electrica; functioneaza de regula non-stop, ceea ce implica un acces controlat la date si un sistem de protectie adecvat este solicitat de companiile care vehiculeaz i prelucreaz un volum mare de informaie, precum: spitale mari, societati bancare - domenii cu necesitati sporite de prelucrare a datelor dintre firmele producatoare: IBM, UNYSIS, HONEYWELL un exemplu - modelul 390 al IBM

sisteme de calcul considerate la momentul apariiei drept cele mai performante din lume n ceea ce privete viteza de procesare a datelor posed resurse hardware i software deosebite utilizat n industria de aprare, n lumea cercetrii tiinifice, n unele universiti, n industria aeronautic i spaial, n domenii precum: explorarile petroliere, conservarea energiei, simulari in domeniul energiei nucleare, etc arhitectura acestora poate include peste opt unitati centrale de prelucrare poate executa peste 1,8 miliarde de instructiuni pe secund Cercetari se realizeaza in SUA si Japonia de firme ca: Fujitsu, Cray Research, ETA Systems, IBM, Sun

calculator de mrime medie, ce nu este portabil sistem de calcul low cost (relativ) - tot ce era inferior unui mainframe i unui supercalculator, att ca putere de procesare ct i ca dimensiune fizic dispun de memorie principal de mare capacitate sunt folosite in aplicatiile multiutilizator (poate suporta 50 de utilizatori simultan), pentru executarea unor programe de aplicatii specializate destinate universitilor, ramuri ale industriei - la masini de control numeric, automatizari industriale, prelucrarii de texte, precum si pentru transmisii de date intre sistemele dispersate geografic, datorita facilitatilor oferite in cadrul proceselor de comunicatii poate deservi o reea de terminale simple
perioada 1970-1980 numarul lor a avut o crestere anuala de cicrc 35-40%, care actualmente este in scadere datorita utilizarii microcalculatoarelor.

Deprecated - termen folosit n anii 60 i 70 pn la apariia microcalculatoarelor; in

Arhitectura minicalculatoarelor:
structura compusa din module functionale, intreconectate prin una sau mai multe magistrale - structura ce premite flexibilizarea configurarii structura diversificata este asigurata si pentru sistemul de intrare/iesire

Firme producatoare: IBM, Wang, Texas Instruments, Hewlett Packard, etc Exemple: IBM AS/400 sau DEC Vax/750

Sistem de calcul ncorporat ntr-un anumit dispozitiv electronic


Este dedicat pentru o anumit funcie particular Nu este vizibil direct de ctre utilizator

Orice sistem de calcul diferit de un calculator de uz general

Exist zeci de sisteme de calcul dedicate n fiecare locuin i automobil

Automobile
ABS (Anti-lock Braking System) ESP (Electronic Stability Program) Airbag Controlul transmisiei Suspensie activ Cheie inteligent Comunicaie

Trenuri Aeronave Telecomunicaii

Sisteme medicale

Aplicaii militare
Radare Sisteme de navigaie Armament

Electronic de consum
Aparate TV Decodoare TV Aparate foto digitale Telefoane mobile Calculatoare PDA Aparate GPS Console de jocuri Aparate DVD, MP3

Echipamente de birou
Copiatoare Imprimante Scanere

Aparate electrocasnice
Cuptoare cu microunde Termostate Maini de splat Sisteme de securitate

Automatizri industriale

Construcii

Robotic (Johnnie, H. Ulbrich, F. Pfeiffer, UT Mnchen)

Se refer la acele atribute ale sistemului care sunt vizibile programatorului i care au un impact direct asupra execuiei unui program: setul de instruciuni main; caracteristicile de reprezentare a datelor; modurile de adresare; sistemul de intrare / ieire (I/O).

Magistrala CPU intern

Unitatea AritmeticLogic Unitatea de Comand i Control

I/O 1

Regitri Magistrala de date Magistrala de adrese Magistrala de control

. . .
I/O n

CPU

Memoria cache (CPU-memoria principal)

Memoria secundar

Memoria principal Magistrala sistem

4. Indicatori de performanta ai unui sistem de calcul


Indicatori de performan
Timpul de execuie Timpul UCP MIPS (Millions of Instructions Per Second) MFLOPS (Millions of Floating-point Operations Per Second)

Programe de evaluare a performanelor

Timpul de execuie (1)


Performana unui calculator se refer la:
Viteza Fiabilitatea hardware i software

Msura performanei - timpul de execuie (tE) Timpul de rspuns - timpul necesar terminrii unui task,
include accesul la memorie, operaiile de I/E i operaiile executate de sistemul de operare

Timpul UCP - timpul n care UCP execut efectiv un program


Nu cuprinde timpul de ateptare pentru operaiile de I/E Nu include nici timpul n care UCP execut alte programe
Poate fi divizat n:

Timpul UCP al utilizatorului Timpul UCP al sistemului

36

Timpul de execuie (2) Compararea performanelor a dou calculatoare, de ex. X i Y


Calculatorul X este mai rapid dect Y dac timpul de execuie al lui X este mai redus dect cel al lui Y pentru task-ul dat

Calculatorul X este cu n% mai rapid dect Y nseamn c:


t E (Y ) n = 1+ tE ( X ) 100

Deoarece tE este inversul performanei P :


t E (Y ) P( X ) n = = 1+ t E ( X ) P(Y ) 100

Creterea performanei (n) va fi:


P( X ) P(Y ) t E (Y ) t E ( X ) n= 100 = 100 P(Y ) tE ( X )

Timpul UCP (tUCP) poate fi calculat prin:


tUCP = CUCP tC
CUCP numrul ciclurilor de ceas ale UCP necesare pentru execuia programului tC durata ciclului de ceas

Alt exprimare: tUCP

CUCP = f

f frecvena ceasului

Se poate considera numrul de instruciuni executate contorul de instruciuni N Numrul mediu al ciclurilor de ceas pe instruciune (CPI):
CUCP CPI = N

Timpul UCP poate fi definit ca:


tUCP = CUCP tC = N CPI tC

CUCP numrul ciclurilor de ceas ale UCP necesare pentru execuia programului tC durata ciclului de ceas

sau: tUCP

N CPI = f

Numrul ciclurilor de ceas ale UCP necesare pentru n execuia programului:

CUCP = (CPI i I i )
i =1

Numrul total al ciclurilor de ceas ale UCP:


tUCP = C UCP t C = t C ( CPI i I i )
i =1 n

CPIi numrul ciclurilor de ceas pentru instruciunea i

Ii numrul de execuii ale instruciunii i Rezult pentru timpul UCP: =>Numrul total al ciclurilor pe instruciune:
C CPI = UCP = N

(CPI
i =1

Ii )

i =1

Ii CPI = i N

(CPI
i =1

Fi )

Fi frecvena instruciunii i
contorul de instruciuni N

Cel mai important indicator de performan: timpul de execuie al programelor reale totui, s-au adoptat diferii indicatori de performan
unul dintre indicatori - numit MIPS (Millions of Instructions Per Second) - indic numrul de instruciuni medii pe care un calculator le poate executa pe secund

41

pentru un program dat, MIPS este:


N contorul de instruciuni

N MIPS = t E 10 6

Considernd c tE = tUCP , => Rezult:


N CPI tE = f

N tE = MIPS 10 6

CPI numrul ciclurilor de ceas pentru instruciune

f frecvena ceasului

Timpul de execuie exprimat n funcie de MIPS:


f MIPS = CPI 10 6

Exist anumite probleme atunci cnd MIPS este utilizat ca o msur pentru comparaie:
MIPS este dependent de setul de instruciuni MIPS variaz pentru programe diferite ale aceluiai calculator MIPS poate varia invers proporional cu performana

Exemplu pentru ultimul caz: calculator cu un coprocesor opional pentru calcule n VM Programele care utilizeaz coprocesorul necesit un timp mai redus pentru execuie, dar au o valoare MIPS mai redus

MIPS nu reprezint o metric adecvat pentru calculatoarele care execut calcule tiinifice i inginereti Este important s se msoare numrul operaiilor de calcul n virgul mobil (VM) Alt indicator similar: BIPS (Billions of Instructions Per Second)

MFLOPS (Millions of Floating-point Operations Per Second), Formula de calcul:


NVM MFLOPS = t E 106

NVM numrul de operaii n virgul mobil Valoarea MFLOPS este dependent de calculator i de program Probleme legate de indicatorul MFLOPS:
Setul operaiilor de calcul n virgul mobil difer de la un calculator la altul Valoarea MFLOPS se modific n funcie de: Combinaia operaiilor ntregi i n virgul mobil Combinaia operaiilor n virgul mobil mai rapide i mai lente

Soluia la ambele probleme: utilizarea operaiilor normalizate n virgul mobil


44

Exemplu n care se calculeaz numrul de operaii normalizate n virgul mobil pentru un program n funcie de operaiile reale din codul surs
Operaii reale n VM ADD, SUB, MULT DIV, SQRT EXP, SIN Operaii normalizate n VM 1 4 8

Operaiile reale n virgul mobil conduc la valoarea nativ pentru MFLOPS Operaiile normalizate n virgul mobil conduc la valoarea normalizat pentru MFLOPS
45

Indicatorii MIPS i MFLOPS sunt utili pentru compararea calculatoarelor din aceeai familie
Nu sunt potrivii pentru compararea calculatoarelor cu seturi diferite de instruciuni

Totui, MFLOPS este utilizat de anumite programe de evaluare a performanei supercalculatoarelor


Exemplu: programul Linpack
Bibliotec software pentru operaii de algebr numeric liniar (vectorial sau matricial) HPL (High Performance Linpack) implementare portabil a programului Linpack utilizat pentru lista TOP500 TOP500 ordoneaz primele cele mai rapide calculatoare cunoscute n mod public http://www.top500.org/
46

Programe de evaluare a performanelor


Compararea i sintetizarea performanelor Evoluia programelor de evaluare a performanelor SPEC CPU2006

O msur a performanei: timpul executrii unui set reprezentativ de programe


Acest timp poate fi:
Timpul total de execuie Media aritmetic sau geometric a timpilor de execuie

Set de programe reale care sunt reprezentative pentru un anumit mediu programe de evaluare (benchmark)

47

Programe de evaluare a performanelor


Compararea i sintetizarea performanelor Evoluia programelor de evaluare a performanelor ex: SPEC CPU2006

Modul n care se poate sintetiza performana unui grup de programe de evaluare Exemplu de situaie n care nu se poate defini performana relativ a dou calculatoare A, B
Program 1 Program 2 Timp total tE pe A (s) 1 1000 1001 tE pe B (s) 10 100 110
49

Timpul total de execuie


Metoda cea mai simpl Calculatorul B este de 1001/110 = 9,1 ori mai rapid dect A pentru programele 1 i 2

Media aritmetic a timpilor de execuie


1 n MA = t Ei n i =1

tEi timpul de execuie al programului i din totalul de n programe din set


50

Compararea si sintetizare performantelor (3)


Media aritmetic ponderat a timpilor de execuie
Utilizare: dac numrul de execuii ale programelor dintr-un set este diferit Se asigneaz fiecrui program o pondere pi indic frecvena sa de execuie Alegerea ponderilor: pe un calculator de referin timpii de execuie ponderai ai fiecrui program s fie egali

Normalizarea timpilor de execuie fa de un calculator de referin


se consider media timpilor de execuie normalizai la utilizarea mediei aritmetice a timpilor de execuie rezultatul depinde de alegerea calculatorului de referin

Exemplu de normalizare i utilizare a mediei aritmetice


Timpii de execuie a dou programe pe calculatoarele A i B, normalizai fa de calculatorul A A este mai rapid fa de B
tE pe A (s) Program 1 Program 2 Medie aritm. Medie geom. 1 1000 500,5 31,6 tE pe B (s) 10 100 55 31,6 tE pe A normaliz. 1 1 1 1 tE pe B normaliz. 10 0,1 5,05 1

Timpii de execuie normalizai fa de calculatorul B B este mai rapid fa de A


tE pe A (s) Program 1 Program 2 Medie aritm. Medie geom. 1 1000 500,5 31,6 tE pe B (s) 10 100 55 31,6 tE pe A normaliz. 0,1 10 5,05 1 tE pe B normaliz. 1 1 1 1

Compararea si sintetizare performantelor (4)


Media geometric a timpilor de execuie MG = n t Ei
i =1 n

Este independent de seria datelor utilizate pentru normalizare Are proprietatea:

Xi MG ( X i ) = MG MG (Yi ) Yi

Rezultatul este acelai indiferent de calculatorul de referin

Avantajele mediei geometrice:


Este independent de timpii de execuie ai programelor individuale Nu are importan care calculator este utilizat pentru normalizare

Dezavantajul mediei geometrice - Nu anticipeaz


performanele
53

Exemple de programelor de evaluare a performantelor (1)


Soluia preferabil: utilizarea unui set de aplicaii reale ca programe de evaluare Metricile MIPS i MFLOPS Programe artificiale sau sintetice de evaluare
Scopul: crearea unui program n care frecvenele de execuie ale instruciunilor sunt aceleai cu cele dintr-un set de programe de evaluare

54

Evolutia programelor de evaluare a performantelor


(2)

Programul sintetic Whetstone


Publicat n 1976 de National Physical Laboratory (NPL), Marea Britanie Bazat pe msurtorile efectuate asupra aplicaiilor tiinifice i inginereti scrise n limbajul Algol 60 Numit dup compilatorul Whetstone Algol de la NPL Rescris ulterior n limbajele Fortran i Pascal Pune accent pe operaiile n VM

Programul sintetic Dhrystone


Publicat n 1984 Creat pentru evaluarea programelor de sistem Bazat pe un set de msurtori ale frecvenelor de execuie ale instruciunilor Nu pune accent pe operaiile n VM Scris iniial n limbajul Ada Convertit ulterior n limbajul C
55

Evolutia programelor de evaluare a performantelor


(3)

Dezavantajele programelor sintetice


Nu reflect comportamentul programelor reale Optimizrile executate de compilator sau prin hardware pot amplifica performanele acestor programe

Programe kernel de evaluare


Fragmente de dimensiuni mici, dar solicitante, extrase din programe reale Elaborate pentru evaluarea calculatoarelor performante (supercalculatoare) Exemple: Livermore Loops i Linpack Utilizate n special pentru evaluarea performanelor aplicaiilor tiinifice

56

Evolutia programelor de evaluare a performantelor (4)


Formarea SPEC (Standard Performance Evaluation Corporation), 1988
Elaboreaz i menine seturi standardizate de programe de evaluare bazate pe programe reale Seturile de programe conin codul surs i utilitare pentru generarea rapoartelor de performan Corporaie non-profit, www.spec.org SPEC89
Primul set de programe de evaluare (1989) Se calcula o singur metric utiliznd media geometric a timpilor de execuie normalizai fa de calculatorul VAX-11/780

SPEC92
Au fost prevzute metrici separate pentru calculele cu numere ntregi (SPECINT) i a celor cu numere n VM (SPECFP)

Evolutia programelor de evaluare a performantelor (5)


CPU95, CPU2000 08/08/2012: - SPECapc announces the release of the SPECapc for Autodesk Maya 2012 benchmark

58

SPEC CPU2006
A fost dezvoltat de grupul OSG Se msoar performana UCP, a sistemului de memorie i a generrii codului de ctre compilator Timpul necesar executrii funciilor sistemului de operare i a operaiilor de I/E este neglijabil Este compus din dou colecii: CINT2006: calcule cu numere ntregi CFP2006: calcule cu numere n VM

Dou tipuri de msurtori: viteza de execuie i rata Msurarea vitezei de execuie


Raport SPEC: timpul n care se execut toate programele din set o singur dat SPECint2006 i SPECfp2006

Msurarea ratei
Rata SPEC: exprim numrul de aplicaii de care pot fi executate ntr-un timp dat (24h) SPECint_rate2006 i SPECfp_rate2006
59

SPEC CPU2006 Exemple de programe pentru numere ntregi


401.bzip2: program de compresie bazat pe bzip2 403.gcc: compilator C bazat pe gcc 3.2 445.gobmk: program pentru jocul go 458.sjeng: program de ah 462.libquantum: bibliotec pentru simularea unui calculator cuantic 473.astar: bibliotec pentru determinarea drumului la hrile 2D (algoritmul A*)

Exemple de programe pentru numere n VM


435.gromacs: simuleaz ecuaiile Newtoniene ale deplasrii particulelor 444.namd: simuleaz sisteme biomoleculare 459.GemsFDTD: rezolv ecuaiile Maxwell 3D n domeniul timpului 465.tonto: pachet pentru chimia cuantic 481.wrf: predicia vremii 482.sphinx3: recunoaterea vorbirii

S-ar putea să vă placă și