Arhitectura sistemelor de calcul (1).ppt

41
ARHITECTURA SISTEMELOR DE CALCUL

Transcript of Arhitectura sistemelor de calcul (1).ppt

  • ARHITECTURA SISTEMELOR DE CALCUL

  • SISTEM DE CALCUL - DEFINITIE

    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).

  • FUNCTIILE DE BAZA ALE UNUI SISTEM DE CALCUL

    procesarea de date;memorarea de date;transferul de informaii;controlul tuturor componentelor SC.

  • STRUCTURA UNUI SISTEM DE CALCULhardware - partea de echipamente:unitatea central de procesare (Central Processing Unit CPU);memoria;dispozitivele periferice;software - partea de programe:soft sistem (aplicaii destinate sistemului de calcul i sistemului de operare);soft utilizator (restul aplicaiilor);firmware - partea de microprograme.

  • CLASIFICAREA SISTEMELOR DE CALCULSupercalculatoare - sisteme de calcul considerate la momentul apariiei drept cele mai performante din lume n ceea ce privete viteza de procesare a datelor;Mainframe-uri - maini multiprocesor, de asemenea cu putere mare de procesare, 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;Minicalculatoare (deprecated): termen folosit n anii 60 i 70 pn la apariia microcalculatoarelor. Sisteme de calcul low cost (relativ) - tot ce era inferior unui mainframe i unui supercalculator, att ca putere de procesare ct i ca dimensiune fizic, destinate universitilor, ramuri ale industriei, etc;Microcalculatoarele - sisteme de calcul bazate pe folosirea unui microprocesor (de unde i numele), aprute la frsitul anilor 70, nceputul anilor 80, low cost, destinate n principal home and office user-ului.

    *Caracteristicile supercalculatoarelor: masini multiprocesor, de obicei dotate cu sute sau mii de procesoare vectoriale, ce lucreaza in paralel. In ultima perioada, se observa o tendinta de a construi supercalculatoare prin clusterizarea mai multor sisteme de calcul cu putere de procesare mai mica (nivelul de paralelizare se muta de la nivelul arhitecturii hardware la nivelul software-ului). De obicei construite si destinate unor scopuri bine definite (cu tinta precisa), spre exemplu: predictia meteo, miscarile scoartei terestre, jocul de sah (Deep Blue).

    Mainframe-uri: masini multiprocesor, de asemenea cu putere mare de procesare, neorientate insa spre un anumit task precis ci mai degraba aplicatiilor critice, prelucrarilor simple asupra unui volum mare de date, salvarea si backup-ul acestor date (destinate in special sistemelor bancare, burselor, altor institutii financiare, etc). De obicei in productia de serie a anumitor companii (IBM, HP), un supercalculator fiind de obicei produs la comanda.

    Minicalculatoare (deprecated): termen folosit in anii 60 si 70 pana la aparitia microcalculatoarelor. Sisteme de calcul low cost (relativ, ) - tot ce era inferior unui mainframe si unui supercalculator, atat ca putere de procesare cat si ca dimensiune fizica, destinate universitatilor, ramuri ale industriei, etc. Multe dintre minicalculatoare permiteau accesul mai multor utilizatori prin intermediul asa numitor terminale virtuale (dump terminals). Au dus la aparitia sistemelor de operare moderne (interactive, multiutilizator).

    Microcalculatoarele: sisteme de calcul bazate pe folosirea unui microprocesor (de unde si numele), aparute la sfarsitul anilor 70, inceputul anilor 80, low cost, destinate in principal home and office user-ului. Cererea crescanda de astfel de calculatoare, dezvoltarea industriei IT, a dus la dezvoltarea lor si la eliminarea totala a minicalculatoarelor (la mijlocul anilor 80 puterea unui microcalculator era mai mare decat puterea unui minicalculator vechi de cativa ani). Termenul de microcalculator a evoluat in cel de Personal Computer (PC). Desi la inceput auveau o putere de procesare redusa, astazi microcalculatoarele se carcterizeaza printr-o putere de procesare si capabilitatilor grafice ridicate.

  • O "ALTFEL" DE CLASIFICARE A SISTEMELOR DE CALCULStaii de lucru (workstations) - de obicei calculatoare din familia microcalculatoarelor (calculatoarele personale spre exemplu) 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);Microdispozitive (embedded devices) - dispozitive cu putere de calcul relativ redus, dotate cu un procesor i cu o funcionalitate dedicat unui anumit scop. Exemple: telefoane mobile, PDA, MP3 player-e, GPS-uri, DVD player-e, etc. Aproximativ 80% din procesoarele produse n acest moment sunt dedicate microdispozitivelor.

    *Odata cu evolutia industriei IT atat din punct de vedere software cat si din punct de vedere hardware, dar in acelasi timp data fiind si evolutia retelei Internet, putem localiza astazi un sistem de calcul in una dintre urmatoarele categorii:

    Statii de lucru (workstations) - De obicei calculatoare din familia microcalculatoarelor (calculatoarele personale spre exemplu) cu putere de procesare medie, capabilitati grafice si multimedia ridicate, de obicei conectate la Internet.

    Servere - ofera diferite servicii statiilor (clientilor). Din punct de vedere hardware un server poate rula atat pe un microcalculator (calculator personal) cu putere de procesare mai ridicata cat si pe arhitecturi hardware dedicate acestui scop (mainframe-uri sau supercalculatoare). Ca observatie, prin server intelegem in functie de context, atat masina server (sub forma ei fizica) destinata scopului de a deservi clientii, cat si procesul server ce deserveste un proces client.

    Microdispozitive (embedded devices) - dispozitive cu putere de calcul relativ redusa, dotate cu un procesor si cu o functionalitate dedicata unui anumit scop. Exemple: telefoane mobile, PDA, MP3 player-e, GPS-uri, DVD Player-e, etc. Aproximativ 80% din procesoarele produse in acest moment sunt dedicate microdispozitivelor.

  • ARHITECTURA UNUI SISTEM DE CALCULSe 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).

  • MULTIMEA INSTRUCTIUNILOR MASINA(Instruction Set Arhitecture ISA)

    Interfa cheie ntre nivelele de abstractizare, fiind interfaa dintre hard i soft;Permite unor implementri diferite ale SC s ruleze soft identic, caz n care vorbim despre calculatoare compatibile;Exemplu: calculatoare compatibile IBM-PC (in prezent cu procesoare AMD sau Intel).

  • MULTIMEA INSTRUCTIUNILOR MASINA

    definete:

    organizarea SC, modul de stocare a informaiei (regitri, memorie);tipurile i structurile de date (codificri, reprezentri);formatul instruciunilor;setul de instruciuni (codurile operaiilor) pe care microprocesorul le poate efectua;modurile de adresare i accesare a datelor i instruciunilor;condiiile de excepie.

  • COMPONENTELE UNUI SC

    modulul de control;memoria;sistemul de intrare (input) / ieire (output);structuri de interconectare a componentelor de mai sus (magistrale);

  • ARHITECTURA UNUI SISTEM DE CALCUL

    Unitatea Aritmetic-LogicUnitatea de Comand i Control

    RegitriMagistrala sistemI/O 1CPU

    Memoria principal

    Memoria secundarMagistrala CPU internMagistrala de dateMagistrala de adreseMagistrala de controlI/O nMemoria cache (CPU-memoria principal)...

  • ARHITECTURA VON NEUMANNutilizarea memoriei interne pentru a stoca secvene de control pentru ndeplinirea unei anumite sarcini secvene de programe;datele, ct i instruciunile sunt reprezentate ca iruri de bii i sunt stocate ntr-o memorie read-write;coninutul memoriei se poate accesa n funcie de locaie (adres), indiferent de tipul informaiei coninute;execuia unui set de instruciuni se efectueaz secvenial, prin citirea de instruciuni consecutive din memorie.

  • UNITATEA CENTRAL(CENTRAL PROCESSING UNIT CPU) Funciile unui CPU sunt:obinerea instruciunilor care trebuie executate;obinerea datelor necesare instruciunilor;procesarea datelor (execuia instruciunilor);furnizarea rezultatelor obinute.

  • COMPONENTELE DE BAZA ALE UNUI CPUUnitatea Aritmetic-Logic (Arithmetic Logic Unit ALU);Unitatea de Comand i Control (Control Unit CU) decodifica instructiunile (FETCH DECODE READ MEMORY EXECUTE STORE);

    +

    regitri acetia sunt dispozitive de stocare temporar a datelor i informaiilor de control (instruciunile), de capacitate mic i vitez de acces mare;magistrale interne CPU dispozitive pentru comunicare ntre componentele CPU i comunicare cu exteriorul, pentru transferul de informaii.

  • CEASUL SISTEMFiecare procesor (CPU) contine un ceas intern care produce si trimite semnale electrice pe magistrala de control pentru a sincroniza operatiile sistemului. Semnalele alterneaza valori 0 si 1 cu o anumita frecventa. Frecventa cu care se alterneaza aceste valori se numeste ciclu de ceas sau perioada ceasului (clock cycle).

    Frecventa de ceas - numarul de cicluri de ceas pe secunda.

    Exemple: Ceasul unui procesor la 300 de Mhz ticaie de exact 300.000.000 ori pe secunda. Un ciclu de ceas al unui astfel de procesor are o durata de 1 / 300.000.000 secunde.

    Ciclu de ceas - cea mai mica unitate de timp sesizabila de catre un procesor.

  • VITEZA CALCULATOARELORCycles per Instruction (CPI) fiecare instructiune dureaza un anumit numar de cicluri de ceas (a se vedea NG pentru numarul de CPI al fiecarei instructiuni).Exemplu: instructiunea MOV dureaza intre 2 si 14 cicluri de ceas in functie de natura operanzilor. un procesor ruland la 800 Mhz executa o aceeasi instructiune mai repede decat unul ruland la 300 Mhz durata ciclului de ceas fiind mai scurta.

    x86 vs RISC instructiuni complexe care dureaza mai multe cicluri vs instructiuni simple, primare care se executa rapid?

  • VITEZA CALCULATOARELORIn prezent s-a atins o anumita limita in ceea ce priveste viteza procesoarelor. Mecanisme noi de crestere a vitezei:Pipelining - paralelizarea instructiunilor (o instructiune trecuta din faza FETCH in faza DECODE, permite unui alte instructiuni sa treaca in faza FETCH) mai multe instructiuni se executa in paralel per ciclu de ceas - Instructions per Cycle;Cresterea numarului de nuclee (cores) per procesor (dual core, quad core).

  • VITEZA CALCULATOARELOR

    Factori care influenteaza viteza unui SC:

    Frecventa procesorului (singura nu e concludenta, vezi Intel vs AMD);Capacitatea maxima de memorie care poate fi adresata;Capacitatea de paralelizare (pipelining);Dimensiunea registrilor interni si a magistralei de date;Dimensiunea memoriei CACHE.

    Viteza actuala a unui sistem de calcul se masoara in

    MIPS Milioane de instructiuni (intregi) pe secunda;MFLOPS Milioane de instructiuni in virgula flotanta pe secunda.

    ProcesorFrecventaMIPSIntel Pentium Pro 200 Mhz541AMD Athlon1.2 Ghz3.561Ultra SPARC Niagara 21.4 Ghz22.400Intel Polaris Prototype(80 nuclee)5.6 Ghz1.800.000

  • CE INSEAMNACALCULATOR PE N BII?Din punct de vedere hardware - dimensiunea magistralei de date (de exemplu: Pentium are o magistral de date pe 64 bii = 64 linii de date, astfel c la fiecare memory cycle procesorul poate accesa 8 octei din memorie);

    Din punct de vedere software: dimensiunea unui cuvnt de memorie (dimensiunea regitrilor CPU);

    Observatie: De regula, cu cat dimensiunea cuvantului de memorie este mai mare, operatiile cu numerele intregi se desfasoara mai rapid (incercati sa inmultiti un double cu alt double folosind doar registrii pusi la dispozitie de procesorul 8086).

    MicroprocesorData BusRegitri80888 bii16 bii80386sx16 bii32 biiPentium64 bii32 biiIntel Core 2 Duo64 bii64 bii

  • MEMORIAdispozitiv de stocare a datelor pentru un anumit interval de timp

    Criterii de clasificare a tipurilor de memorie:

    din punct de vedere al accesrii datelor;din punct de vedere al volatilitii;din punct de vedere al accesului CPU;din punct de vedere al tipurilor de acces permise.

    *

  • MEMORIA - DIN PUNCT DE VEDERE AL ACCESRII DATELORmemorie cu acces aleator (Random Access Memory): locaiile pot fi accesate (n citire sau scriere) n orice ordine (aleator) indiferent de ultima locaie accesat. Exemple: memoriile on-chip (memoria interna);memorie cu acces asociativ (memoria cache);memorie cu acces secvenial: pentru a accesa a n-a nregistrare, trebuie parcurse primele n-1 nregistrri => timpul de accesare a datelor este variabil, depinznd de locaia accesat. Exemplu: banda magnetica;memorie cu acces direct: spre deosebire de accesul secvenial, poziionarea pe o anumit nregistrare se face n mod direct pe baza unui calcul de adres. Exemplu: dispozitivele de tip disc (CDROM, floppy disk, hard disk).

  • MEMORIA - DIN PUNCT DE VEDERE AL VOLATILITIImemorie volatil (de scurt durat): coninutul su se pierde la ndeprtarea sursei de curent. Cel mai elocvent exemplu l constituie n acest sens memoria principal a SC (care conine datele i instruciunile utilizate curent de CPU);memorie non-volatil sau remanent (de lung durat): coninutul se pstreaz i dup deconectarea de la surs. Exemple: memoria ROM, hard disk, CDROM, memoria Flash.

  • MEMORIA - DIN PUNCT DE VEDERE AL ACCESULUI CPU

    memorie intern: accesat direct de ctre CPU;memorie secundar sau dispozitiv de stocare periferic: memorie extern, cu acces indirect al CPU. Exemple: HD, floppy disk, CDROM.

  • MEMORIA - DIN PUNCT DE VEDERE AL TIPURILOR DE ACCES PERMISE

    memorie read/write: permite acces la date n citire sau scriere. Exemple: memoria principal, hard disk, floppy disk;memorie read-only: permite doar citirea datelor. Exemple: ROM, CDROM.

  • MEMORIA INTERNAReprezinta spatiile de stocare a datelor accesibile procesorului fara utilizarea canalelor de comunicatie I/O.

    memoria principala (RAM);memoria cache;memoria ROM;registrii procesorului;

  • MEMORIAEXTERNA / SECUNDARAdispozitiv de stocare pe termen lung a datelor, care nu sunt curent folosite de ctre CPU. n general este de capacitate mai mare i are o vitez mai mic de accesare a datelor fa de memoria intern i face parte din categoria memoriilor non-volatile;Exemple:hard disk (HDD), floppy disk (FDD), compact disc (CD), DVD, banda magnetic, memoria flash.

  • STRUCTURA FIZICA A UNUI DISC

  • STRUCTURA LOGICA A UNUI DISCDin punct de vedere logic, un disc este divizat in partitii:

    primare;extinse;logice.

  • IERARHIZAREA MEMORIEI

    RegitriMemorie cache on-chip (L1)Memorie cache on-chip (L2)Memorie cache on-board (L3)Memorie principalMemorie secundarMemorie teriarCrete viteza de accesCrete valoarea raportului cost / unitate de memorareCrete capacitatea de stocare

    *Pe msur ce sistemele de calcul se dezvolt, diferena de performan dintre diferitele componente poate s creasc tot mai mult. Cel mai gritor exemplu este diferena dintre performana CPU i cea a memoriei interne de tip DRAM.

    Din cauza diferenei timpului de acces al CPU i al memoriei principale, CPU este nevoit s atepte destul de mult pentru a primi datele din memorie. O asemenea diferen este defavorabil i n cazul interaciunii dintre memoria principal i memoria secundar.

    Pentru a gestiona ct mai eficient accesul la date, un sistem de calcul deine un sistem complex al memoriei, n care combin memorie de capacitate mic, dar rapid, i memorie de capacitate mare, ns de vitez redus. Drept rezultat, un asemenea sistem se comport n general ca o memorie rapid, de capacitate mare. Nivelele ierarhice ale unui asemenea sistem pot fi reprezentate astfel:

    Se observ c ierarhia memoriei unui SC este organizat astfel nct nivelele de memorie de capacitate mai mic, ns mai rapide se gsesc mai aproape de procesor dect memoriile de capacitate mare, dar de vitez de acces mai mic.

    n general, un nivel al ierarhiei reprezint o submulime de informaii a unui nivel inferior: datele care se gsesc n primul nivel sunt aduse din urmtorul nivel de memorie, mai ndeprtat de CPU. Pentru a gestiona un asemenea trafic al datelor ntre diferite nivele este nevoie de funcii de transformare a adreselor de pe nivelul inferior ctre cel imediat superior. ntotdeauna datele sunt copiate numai ntre dou nivele adiacente.

    Eficiena unui asemenea sistem este asigurat de principiul localizrii:localizare temporal: dup accesarea unei date sunt mari anse ca ea s fie accesat din nou n scurt timp => ar trebui s se mai rein data respectiv pentru o perioad de timp (de exemplu: instruciunile dintr-o structur repetitiv sau ale unei subrutine, incrementarea unei variabile, etc);localizare spaial: dac se acceseaz o locaie, sunt mari anse s urmeze accesarea unor locaii din vecintatea primeia => ar trebui ca la accesarea datei curente s se aduc un ntreg bloc de informaie care s conin att informaia necesar n momentul curent, ct i informaia coninut la adrese nvecinate (de exemplu: variabile locale unei subrutine sau elementele unui ir).

    n urma acestor observaii statistice s-au dezvoltat aa-numitele memorii de tip cache.

  • IERARHIZAREA MEMORIEI

    Motivatie:

    diferena de performan dintre diferitele componente poate s creasc tot mai mult. Spre exemplu diferena dintre performana CPU i cea a memoriei interne;din cauza diferenei timpului de acces al CPU i al memoriei principale, CPU este nevoit s atepte destul de mult pentru a primi datele din memorie;ierarhia memoriei unui SC este organizat astfel nct nivelele de memorie de capacitate mai mic, ns mai rapide se gsesc mai aproape de procesor dect memoriile de capacitate mare, dar de vitez de acces mai mic.

  • IERARHIZAREA MEMORIEI -PRINCIPIUL LOCALIZARIIlocalizare temporal - dup accesarea unei date sunt mari anse ca ea s fie accesat din nou n scurt timp ar trebui s se mai rein data respectiv pentru o perioad de timp (de exemplu: instruciunile dintr-o structur repetitiv sau ale unei subrutine);localizare spaial - dac se acceseaz o locaie, sunt mari anse s urmeze accesarea unor locaii din vecintatea primeia ar trebui ca la accesarea datei curente s se aduc un ntreg bloc de informaie care s conin att informaia necesar n momentul curent, ct i informaia coninut la adrese nvecinate (de exemplu: variabile locale unei subrutine sau elementele unui ir).

  • MEMORIA CACHEMemorie de tip cache - colecie de date ce reprezint duplicarea valorilor originale stocate ntr-un alt tip de dispozitiv de memorare, a cror accesare pentru citire / procesare este mai costisitoare (ca timp) dect accesarea lor din cache.

    Tipuri:

    cache al memoriei principale, ca interfa ntre aceasta i CPU: poate fi pe unul, dou sau trei nivele; acest cache este gestionat de ctre hardware;memoria cache ntre memoria principal i memoria secundar (disc) este memoria virtual; transferul datelor de pe disc n memoria principal (gestiunea memoriei virtuale) este responsabilitatea sistemului de operare;memorii cache gestionate de componente soft: cache DNS (pentru corespondene dintre nume de domenii i adrese IP); cache al unui web browser (pentru ultimele pagini accesate).

  • DISPOZITIVE PERIFERICE Dispozitivele periferice asigur interfaa dintre utilizator i sistemul de calcul sau dintre sistemul de calcul i alte sisteme fizice;

    Tipuri de dispozitive periferice:dispozitive de intrare: tastatur, mouse, scanner;dispozitive de ieire: imprimant, monitor;dispozitive de intrare sau ieire: modem, plac de reea;dispozitive de stocare: disc (hard disk, floppy disk), band magnetic.

  • MAGISTRALELE - STRUCTURI DE INTERCONECTAREMagistral - subsistem prin care se transport informaie (date, instruciuni, semnale de control) sau energie ntre diferite componente ale unui SC sau ntre diferite SC. Realiza o conexiune ntre dou sau mai multe componente. In contextul nostru realizeaza legatura intre SC si echipamentele periferice.

    Clasificare:

    dupa modul de transmitere al informatiei: seriale sau paralele (in prezent migrare de la magistrale paralele la magistrale seriale);dupa tipul entitatilor conectate: sistem fac legatura intre CPU si memoria interna; si magistrale de I/O fac legatura intre SC si echipamentele periferice sau intre SC si alt SC;magistrale sistem: magistrale de date, magistrale de adresare, magistrale de control au arhitectura specifica producatorului, asigura o comunicare rapida intre CPU si memorie, sunt de lungime redusa;magistrale I/O: au arhitectura standardizata si permit comunicarea cu un echipament extern sau cu alt SC prin intermediul unui controler;magistrale I/O interne: ISA, PCI, AGP, PCI-x;magistrale I/O externe: IDE/ATA, SCSI, S-ATA, USB.

  • CONTROLERE SI INTERFETEControler echipament de extensie atasabil sistemului de calcul (~ adaptor, placa: placa video, adaptor de retea, controler SCSI);

    Prezinta doua interfete:

    interfata de comunicare cu SC prin intermediul magistralei I/O interne (interfata PCI, ISA, AGP);interfata de comunicare cu echipamentul periferic care se doreste a fi conectat (difera de la echipament la echipament si de la controler la controler);

    Interfata

    expresia fizica a acesteia (portul, slotul, mufa, socketul);setul de caracteristici functionale, protocoale, specificati logice necesare comunicarii pe magistala asociata.

  • MAGISTRALE, CONTROLERE, INTERFETE

  • MAGISTRALA ISA SI PCIISA (Industry Standard Arhitecture)

    Dezvoltata la inceputul anilor 80 (IBM) sfarsitul anilor 90;pe 8, ulterir 16 biti, 8Mhz viteza maxima 16 Mbyets/secunda;Echipamente conectate: placi de retea, sunet, modem-uri.

    PCI (Peripheral Component Interconect)

    dezvoltata de Intel in ani 90;pe 32 de biti, pe 33 Mhz viteza maxima 132 Mbytes/secunda;conecteaza prin intermediul unui controler majoritatea echipamentelor periferice.

  • AGP - Accelerated Graphics Ports-a nascut din nevoie de latime de banda mai mare pentru aplicatiile video (in special jocuri);AGP 1x magistrala pe 32 biti, opereaza la 66 Mhz 266 Mbytes/secunda;punct la punct canal dedicat.

  • MAGISTRALE EXTERNEMagistrala externa - ansamblu format din controler impreuna cu interfata dintre acesta si echipamentul periferic.

    Exemple:

    IDE/ATA - HDD, unitati optice;SCSI - HDD, unitati optice, scanner-e;paralela - imprimante;seriala - mouse;PS/2 - tastatura, mouse;USB - Universal Serial Bus (practic orice, mai putin monitor sau nu? ).

  • INTERFETE EXTERNE

  • PLACA DE BAZAsuportul fizic pe care se monteaza procesorul, memoria;cablarea fizica a magistralelor interne;interfetele PCI, AGP;controlelere integrate (on-board): IDE/ATA, SATA, retea, sunet, USB.

    *Caracteristicile supercalculatoarelor: masini multiprocesor, de obicei dotate cu sute sau mii de procesoare vectoriale, ce lucreaza in paralel. In ultima perioada, se observa o tendinta de a construi supercalculatoare prin clusterizarea mai multor sisteme de calcul cu putere de procesare mai mica (nivelul de paralelizare se muta de la nivelul arhitecturii hardware la nivelul software-ului). De obicei construite si destinate unor scopuri bine definite (cu tinta precisa), spre exemplu: predictia meteo, miscarile scoartei terestre, jocul de sah (Deep Blue).

    Mainframe-uri: masini multiprocesor, de asemenea cu putere mare de procesare, neorientate insa spre un anumit task precis ci mai degraba aplicatiilor critice, prelucrarilor simple asupra unui volum mare de date, salvarea si backup-ul acestor date (destinate in special sistemelor bancare, burselor, altor institutii financiare, etc). De obicei in productia de serie a anumitor companii (IBM, HP), un supercalculator fiind de obicei produs la comanda.

    Minicalculatoare (deprecated): termen folosit in anii 60 si 70 pana la aparitia microcalculatoarelor. Sisteme de calcul low cost (relativ, ) - tot ce era inferior unui mainframe si unui supercalculator, atat ca putere de procesare cat si ca dimensiune fizica, destinate universitatilor, ramuri ale industriei, etc. Multe dintre minicalculatoare permiteau accesul mai multor utilizatori prin intermediul asa numitor terminale virtuale (dump terminals). Au dus la aparitia sistemelor de operare moderne (interactive, multiutilizator).

    Microcalculatoarele: sisteme de calcul bazate pe folosirea unui microprocesor (de unde si numele), aparute la sfarsitul anilor 70, inceputul anilor 80, low cost, destinate in principal home and office user-ului. Cererea crescanda de astfel de calculatoare, dezvoltarea industriei IT, a dus la dezvoltarea lor si la eliminarea totala a minicalculatoarelor (la mijlocul anilor 80 puterea unui microcalculator era mai mare decat puterea unui minicalculator vechi de cativa ani). Termenul de microcalculator a evoluat in cel de Personal Computer (PC). Desi la inceput auveau o putere de procesare redusa, astazi microcalculatoarele se carcterizeaza printr-o putere de procesare si capabilitatilor grafice ridicate. *Odata cu evolutia industriei IT atat din punct de vedere software cat si din punct de vedere hardware, dar in acelasi timp data fiind si evolutia retelei Internet, putem localiza astazi un sistem de calcul in una dintre urmatoarele categorii:

    Statii de lucru (workstations) - De obicei calculatoare din familia microcalculatoarelor (calculatoarele personale spre exemplu) cu putere de procesare medie, capabilitati grafice si multimedia ridicate, de obicei conectate la Internet.

    Servere - ofera diferite servicii statiilor (clientilor). Din punct de vedere hardware un server poate rula atat pe un microcalculator (calculator personal) cu putere de procesare mai ridicata cat si pe arhitecturi hardware dedicate acestui scop (mainframe-uri sau supercalculatoare). Ca observatie, prin server intelegem in functie de context, atat masina server (sub forma ei fizica) destinata scopului de a deservi clientii, cat si procesul server ce deserveste un proces client.

    Microdispozitive (embedded devices) - dispozitive cu putere de calcul relativ redusa, dotate cu un procesor si cu o functionalitate dedicata unui anumit scop. Exemple: telefoane mobile, PDA, MP3 player-e, GPS-uri, DVD Player-e, etc. Aproximativ 80% din procesoarele produse in acest moment sunt dedicate microdispozitivelor.*

    *Pe msur ce sistemele de calcul se dezvolt, diferena de performan dintre diferitele componente poate s creasc tot mai mult. Cel mai gritor exemplu este diferena dintre performana CPU i cea a memoriei interne de tip DRAM.

    Din cauza diferenei timpului de acces al CPU i al memoriei principale, CPU este nevoit s atepte destul de mult pentru a primi datele din memorie. O asemenea diferen este defavorabil i n cazul interaciunii dintre memoria principal i memoria secundar.

    Pentru a gestiona ct mai eficient accesul la date, un sistem de calcul deine un sistem complex al memoriei, n care combin memorie de capacitate mic, dar rapid, i memorie de capacitate mare, ns de vitez redus. Drept rezultat, un asemenea sistem se comport n general ca o memorie rapid, de capacitate mare. Nivelele ierarhice ale unui asemenea sistem pot fi reprezentate astfel:

    Se observ c ierarhia memoriei unui SC este organizat astfel nct nivelele de memorie de capacitate mai mic, ns mai rapide se gsesc mai aproape de procesor dect memoriile de capacitate mare, dar de vitez de acces mai mic.

    n general, un nivel al ierarhiei reprezint o submulime de informaii a unui nivel inferior: datele care se gsesc n primul nivel sunt aduse din urmtorul nivel de memorie, mai ndeprtat de CPU. Pentru a gestiona un asemenea trafic al datelor ntre diferite nivele este nevoie de funcii de transformare a adreselor de pe nivelul inferior ctre cel imediat superior. ntotdeauna datele sunt copiate numai ntre dou nivele adiacente.

    Eficiena unui asemenea sistem este asigurat de principiul localizrii:localizare temporal: dup accesarea unei date sunt mari anse ca ea s fie accesat din nou n scurt timp => ar trebui s se mai rein data respectiv pentru o perioad de timp (de exemplu: instruciunile dintr-o structur repetitiv sau ale unei subrutine, incrementarea unei variabile, etc);localizare spaial: dac se acceseaz o locaie, sunt mari anse s urmeze accesarea unor locaii din vecintatea primeia => ar trebui ca la accesarea datei curente s se aduc un ntreg bloc de informaie care s conin att informaia necesar n momentul curent, ct i informaia coninut la adrese nvecinate (de exemplu: variabile locale unei subrutine sau elementele unui ir).

    n urma acestor observaii statistice s-au dezvoltat aa-numitele memorii de tip cache.