miercuri, 8 ianuarie 2014

Microcalculatoare,minicalculatoare,mainframe-uri,supercalculatoare

Microcalculatoarele sunt calculatoare a cãror unitate centralã este un microprocesor. Primele microprocesoare au apãrut în anii '70 dar s-au dezvoltat mai ales în anii '80 si continuã sã evolueze; ele lucreazã pe 8, 16 sau 32 de biti (cazul calculatoarelor folosite în prezent). Sunt sisteme interactive, monoutilizator (la un moment dat sunt exploatate de un singur utilizator). Microcalculatoarele s-au rãspândit curând ca urmare a evolutiei tehnologiei care a redus foarte mult costurile lor de fabricatie. De alftel, aceste costuri sunt în continuã scãdere iar performantele evolueazã tot mai mult.
Primele microcalculatoare au fost calculatoare personale familiale: Sinclair Spectrum, Commodore sau cele românesti Prae, aMIC, HC, TIMS, Cobra. Aceste calculatoare puteau lucra direct în limbajul Basic fiindcã memoria lor internã cuprindea o parte care nu se stergea în absenta curentului electric si în care utilizatorul nu putea scrie (ROM), unde era înregistrat din fabricatie un interpretor Basic (un program care traduce în limbaj masinã si executã fiecare instructiune, o datã ce aceasta a fost scrisã). Cel mai uzual periferic al acestor calculatoare era casetofonul, a cãrui fiabilitate lãsa uneori de dorit.
Ulterior au apãrut calculatoarele personale (PC) profesionale. Dintre primele microcalculatoare profesionale românesti amintim: M18, M118, CUBZ, M216 (de remarcat cã acesta din urmã putea lucra atât sub sistemul de operare CP/M, cât si sub DOS); ulterior a apãrut familia Felix PC. Pe plan mondial amintim calculatoarele Apple MacIntosh, cu o interfatã foarte prietenoasã cu utilizatorul, create mai ales pentru neprofesionisti si calculatoarele de tip IBM PC, care au înregistrat o evolutie tehnologicã de-a dreptul spectaculoasã, bazatã în principal pe evolutia microprocesoarelor (cele mai cunoscute sunt realizate de firma Intel). Cresterea performantelor tehnice a fost îndeaproape urmatã de evolutia soft-ului, într-o spiralã din ce în ce mai dinamicã.
Pentru calculatoarele personale cu performante ridicate, care sunt dotate cu câte un microprocesor mai puternic si un monitor de calitate înaltã, cu facilitãti grafice deosebite, se foloseste uzual denumirea de statii de lucru (“workstations”). Cele mai cunoscute statii de lucru au fost create de firmele SUN, Hewlett-Packard si DEC. Statiile de lucru se folosesc uzual pentru aplicatii profesionale, dezvoltare de soft, probleme care necesitã facilitãti grafice performante, cum ar fi proiectarea inginereascã si pot fi conectate în retele de calculatoare. Treptat însã, calculatoarele personale de tip MacIntosh si PC au ajuns la performante similare cu ale statiilor de lucru, astfel încât diferentele dintre cei doi termeni care desemneazã microcalculatoare s-au estompat.


Cel mai rãspândit sistem de operare al microcalculatoarelor este DOS, care are la bazã primul sistem de operare al microcalculatoarelor, CP/M, îmbunãtãtit cu principii din UNIX (cum ar fi structura arborescentã a directoarelor). Datoritã mediilor de programare, calculatoarele personale au devenit instrumente de lucru mai convenabile pentru informaticieni. În plus, mai ales în ultimul deceniu, produsele soft au evoluat foarte mult, dezvoltându-si o interfatã din ce în ce mai accesibilã, care a atras tot mai mult si utilizatorii neprofesionisti. În acest sens, exemplul sistemelor Windows, devenite si ele din ce în ce mai performante, este foarte concludent. Astfel, calculatoarele personale au devenit un instrument de prelucrare a informatiei larg utilizat atât pentru prelucrãri de biroticã, cât si pentru aplicatii profesionale. Adesea, pentru crearea de sisteme de calcul cu performante mai ridicate si un cost relativ redus, se opteazã pentru conectarea calculatoarelor personale în retele de calculatoare.
 


Supercalculatoarele au o memorie internã si o vitezã de lucru foarte mari: pot executa pânã la câteva sute de milioane de instructiuni pe secundã, fiind cele mai rapide tipuri de calculatoare. De obicei sunt utilizate pentru aplicatii specifice, care necesitã calcule matematice complexe, mari consumatoare de timp si memorie, cum ar fi, de exemplu, grafica animatã, prognozele geologice sau meteorologice, probleme complexe de fizicã pentru care se doreste aplicarea unor algoritmi matematici rigurosi,dinamica fluidelor, fizica nuclearã. Cel mai cunoscut tip de supercalculator este CRAY . Supercalculatoarele lucreazã pe 32 si 64 de biti si au o arhitecturã performantã, neîngrãditã de principiile clasice (de exemplu, sisteme multiprocesor – cu mai multe unitãti centrale). În SUA existã un institut specializat pe cercetãri în domeniul supercalculatoarelor, numit NCSA (National Center for Supercomputer Applications).
Pentru arhitectura calculatoarelor multiprocesor se foloseste conceptul de arhitecturã paralelã: mai multor procesoare sunt interconectate pentru realizarea acelorasi sarcini. Procesoarele pot sã realizeze în acelasi timp secvente de operatii independente, pentru ca apoi rezultatele intermediare obtinute sã fie combinate corespunzãtor. În mod obisnuit, existã un procesor principal, numit master, care le coordoneazã pe celelalte, dându-le spre executie sarcini independente din programul utilizatorului sau punându-le în asteptare.
Sistemele proiectate ca arhitecturi paralele pot fi clasificate:
  • dupã fluxurile de date si de instructiuni în sisteme cu: un flux de instructiuni si un flux de date, un flux de instructiuni si mai multe fluxuri de date, mai multe fluxuri de instructiuni si un flux de date sau mai multe fluxuri de instructiuni si mai multe fluxuri de date
  • dupã numãrul de procesoare (granularitatea): zeci de procesoare autonome conectate ("ferme") sau sute, pânã la zeci de mii de procesoare conectate în paralel ("cuburi")
  • dupã modul de folosire a memoriei interne de cãtre procesoare: partajate sau proprii.
Dezvoltarea algoritmilor paraleli, adicã studierea posibilitãtilor de descompunere a algoritmilor în secvente care sã poatã fi executate independent sau chiar conceperea de noi algoritmi paraleli constituie o directie nouã si fertilã a informaticii. Un algoritm de rezolvare a unei probleme va fi mai rapid dacã este implementat într-o versiune paralelã si executat pe o masinã paralelã (operatiile independente se executã în paralel, dupã care rezultatele obtinute se combinã).



Minicalculatoarele au apãrut dupã 1970, având costuri ridicate; numele lor provine din formularea "configuratie minimã de calcul". Erau sisteme interactive – utilizatorii aflati în fata unor terminale se aflau în dialog cu calculatorul - si multiutilizator: la un moment dat mai multi utilizatori (câteva zeci sau chiar câteva sute) putea folosi calculatorul prin intermediul terminalelor. Aceastã caracteristicã impune un sistem de operare (numit RSX) performant, care sã poatã gestiona la un moment dat programele mai multor utilizatori si sã ofere mecanisme de protectie a memoriei (sã nu se suprapunã mai multe programe în aceeasi zonã de memorie). În situatia în care programele utilizatorilor, împreunã cu soft-ul accesat de ele, nu încãpeau simultan în memorie, erau evacuate temporar pe un disc magnetic (mecanism de swap). Sistemul de calcul lucra deci în regim de multitasking (multiprogramare): desi la un moment dat era executat un singur program, printr-o politicã de servire a tuturor utilizatorilor, acestia aveau acces pe rând la resursele sistemului. Existã diversi algoritmi de servire a programelor care se gãsesc în memoria internã în diverse stãri (eventual în cursul unui proces de citire sau scriere de date de la / la un dispozitiv periferic) “asteptând” sã fie lansate în continuare în executie . Dacã sistemul de calcul nu era solicitat la un moment dat de un numãr prea mare de utilizatori, acestia puteau avea impresia cã sunt unicii beneficiari ai resurselor de calcul.
Pentru structurarea informatiilor utilizatorilor aflate sub formã de fisiere pe suporturile magnetice, apare notiunea de director (repertoar de fisiere). Existau doar douã niveluri de directoare, spre deosebire de directoarele arborescente din UNIX si DOS.
Programarea pe minicalculatoare era mai anevoioasã decât pe microcalculatoarele care au apãrut ulterior din cauza unei insuficiente dezvoltãri a produselor soft destinate programãrii: procesele de editare, compilare, link-editare si executie a programelor erau realizate separat, prin aplicatii independente, care necesitau adesea o cantitate destul de mare de memorie disponibilã iar aceastã conditie putea fi adesea mai dificil de îndeplicit în conditiile în care multi utilizatori exploatau simultan sistemul de calcul. Mediile de programare, specifice diverselor limbaje, care înglobeazã facilitãti pentru toate etapele de realizare a programelor, inclusiv cea de depanare (corectare a erorilor de conceptie) au apãrut mai târziu, pentru microcalculatoare.
Din punctul de vedere al arhitecturii, caracteristicã pentru minicalculatoare este existenta unei "magistrale de informatii", numite BUS, prin intermediul cãreia se realizeazã comunicarea între procesor, memorie, terminale (un rol special îl are terminalul operatorului) si alte periferice. Comunicãrile sunt arbitrate de controler-ul de BUS, care preia astfel functiile canalului de intrare-iesire. Acesta dã dreptul de initiere a unei comunicãri de cãtre o entitate conectatã la BUS cu o alta, în functie de proritatea asociatã primeia.
Minicalculatoarele lucrau pe 16 si 32 de biti. Dintre reprezentantii lor amintim: VAX 8600, VAX 8650, PDP 11 si calculatoarele românesti CORAL si INDEPENDENT.
Evolutia minicalculatoarelor a condus la sisteme multiutilizator mai performante, care pot fi exploatate simultan de mai multe sute sau chiar mii de utilizatori – acestea sunt referite în literatura de specialitate sub numele de mainframes. Din punctul de vedere al performantei, ele se apropie cel mai mult de supercalculatoare, la celãlalt pol gãsindu-se calculatoarele personale. Totusi, se poate spune cã diferentele între minicalculatoarele mari si mainframe-urile mici nu sunt sesizabile.



Mainframe-urile sunt calculatoare folosite ȋn principal de organizații mari pentru aplicații critice, de obicei procesări de date masive, cum ar fi recensămintele, statisticile industriei și consumatorilor și procesarea tranzacțiilor financiare.
Inițial, termenul făcea referire la cabinete mari care găzduiau unitatea centrală de prelucrare și memoria principală a calculatoarelor timpurii. Mai târziu, termenul a fost folosit pentru a distinge calculatoarele comerciale de nivel ȋnald de calculatoarele mai puțin puternice.


Supercalculatoarele au o memorie internã si o vitezã de lucru foarte mari: pot executa pânã la câteva sute de milioane de instructiuni pe secundã, fiind cele mai rapide tipuri de calculatoare. De obicei sunt utilizate pentru aplicatii specifice, care necesitã calcule matematice complexe, mari consumatoare de timp si memorie, cum ar fi, de exemplu, grafica animatã, prognozele geologice sau meteorologice, probleme complexe de fizicã pentru care se doreste aplicarea unor algoritmi matematici rigurosi (algoritmi simbolici ) – dinamica fluidelor, fizica nuclearã. Cel mai cunoscut tip de supercalculator este CRAY. Supercalculatoarele lucreazã pe 32 si 64 de biti si au o arhitecturã performantã, neîngrãditã de principiile clasice (de exemplu, sisteme multiprocesor – cu mai multe unitãti centrale). În SUA existã un institut specializat pe cercetãri în domeniul supercalculatoarelor, numit NCSA (National Center for Supercomputer Applications).
Pentru arhitectura calculatoarelor multiprocesor se foloseste conceptul de arhitecturã paralelã: mai multor procesoare sunt interconectate pentru realizarea acelorasi sarcini. Procesoarele pot sã realizeze în acelasi timp secvente de operatii independente, pentru ca apoi rezultatele intermediare obtinute sã fie combinate corespunzãtor. În mod obisnuit, existã un procesor principal, numit master, care le coordoneazã pe celelalte, dându-le spre executie sarcini independente din programul utilizatorului sau punându-le în asteptare.
Sistemele proiectate ca arhitecturi paralele pot fi clasificate:
  • dupã fluxurile de date si de instructiuni în sisteme cu: un flux de instructiuni si un flux de date, un flux de instructiuni si mai multe fluxuri de date, mai multe fluxuri de instructiuni si un flux de date sau mai multe fluxuri de instructiuni si mai multe fluxuri de date
  • dupã numãrul de procesoare (granularitatea): zeci de procesoare autonome conectate ("ferme") sau sute, pânã la zeci de mii de procesoare conectate în paralel ("cuburi")
  • dupã modul de folosire a memoriei interne de cãtre procesoare: partajate sau proprii.
Dezvoltarea algoritmilor paraleli, adicã studierea posibilitãtilor de descompunere a algoritmilor în secvente care sã poatã fi executate independent sau chiar conceperea de noi algoritmi paraleli constituie o directie nouã si fertilã a informaticii. Un algoritm de rezolvare a unei probleme va fi mai rapid dacã este implementat într-o versiune paralelã si executat pe o masinã paralelã (operatiile independente se executã în paralel, dupã care rezultatele obtinute se combinã).



Niciun comentariu:

Trimiteți un comentariu