miercuri, 8 ianuarie 2014

Tipuri de sisteme de calcul

Existã numeroase clasificãri ale sistemelor de calcul. Cea prezentatã în continuare urmãreste cu preponderentã aspectele functionale ale acestora.
Calculatoarele electronice se pot clasifica dupã:
  • tip - existã calculatoare numerice (cele uzuale), în care informatiile se reprezintã prin numere sau calculatoare analogice, în care informatia se reprezintã prin mãrimi fizice (de exemplu: lungime, arie, tensiune). Ultimele sunt compuse din dispozitive elementare care efectueazã anumite operatii si sunt conectate astfel încât sã rezolve problemele dorite.
  • capacitate - se mãsoarã numãrul de operatii care pot fi efectuate într-o unitate de timp (viteza de lucru) si volumul de date care se pot retine în memoria internã
  • destinatie - existã calculatoare universale, care rezolvã tipuri variate de probleme sau calculatoare specializate în rezolvarea unui anumit tip de problemã, cum ar fi de exemplu, editarea de texte sau un proces tehnologic
  • arhitecturã(modul de structurare a componentelor) - în evolutia cronologicã a calculatoarelor electronice se remarcã câteva configuratii principale:
  • sistemele de calcul independente, reprezentate de sistemele medii-mari (corespunzãtoare generatiei a treia de calculatoare), minicalculatoare, microcalculatoare si supercalculatoare
  • sisteme de calcul cuplate la procese tehnologice
  • sistemele de calcul formate din mai multe calculatoare interconectate – retelele de calculatoare.

Arhitectura von Neumann



Arhitectura von Neumann este una din arhitecturile posibile (cuprinzând conceptele constructive de bază) ale calculatoarelor numerice, arhitectură care are în centrul ei o unitate centrală de procesare (în engleză: CPU) și o unitate separată de memorare (în care se stochează atât date cât și instrucțiuni). Datează la origină din anii 1940.
Numele provine de la John von Neumann, un renumit matematician și pionier al informaticii american de origine austro-ungur evreu, primul care a stabilit (în scris, în „Discurs preliminar asupra proiectării logice a unui instrument de calcul electronic”, împreună cu Arthur W. Burks și Hermann H. Goldstine) cerințele pentru un calculator electronic de uz general (general purpose). Arhitectura s-a înrădăcinat, iar majoritatea calculatoarele construite până acum au avut și au această arhitectură.
Principalul obiectiv al lui von Neumann a fost să construiască un sistem de calcul de uz general în care datele de prelucrat și rezultatele calculelor intermediare să fie stocate alături de instrucțiuni într-o memorie comună suficient de mare. Conform acestei arhitecturi, într-un sistem de calcul general chiar și instrucțiunile însele trebuie să poată fi modificate la fel de ușor ca și numerele („operanzii”) cu care lucrează și pe care le modifică ele. Astfel, instrucțiunile sunt codificate numeric și stocate în aceeași memorie ca și datele. Pentru accesul la instrucțiunile codificate se definește un subsistem de prelucrare a informației care încarcă instrucțiunile din memorie pentru a fi executate, acolo unde este nevoie realizându-se diferențierea între număr (operand) și instrucțiune, deși nu există diferențe formale între ele.
Este necesar și un contor program (contor de instrucțiuni) care conține permanent adresa instrucțiunii următoare, ce va fi și ea încărcată din memorie și apoi și executată (după execuția instrucțiunii actuale). Arhitectura permite ca instrucțiunile să poată prelucra și modifica nu numai date, dar chiar și alte instrucțiuni, sau altfel spus, la nevoie programul se poate automodifica, căpătând astfel un caracter dinamic.



Deși designul și performanțele calculatoarelor s-au îmbunătățit dramatic în comparație cu anii 1940, principiile arhitecturii von Neumann sunt în continuare la baza aproape tuturor mașinilor de calcul contemporane.
Această arhitectură descrie un calculator cu patru module importante: unitatea aritmetică-logică (UAL), unitatea de control (UC), memoria centrală și dispozitivele de intrare/ieșire (prescurtat I/E). Acestea sunt interconectate cu un mănunchi de fire numit magistrală (bus) pe care circulă datele de calcul și datele de program (instrucțiuni) și sunt conduse în tactul unui ceas (șir permanent de impulsuri regulate).
Conceptual, memoria unui calculator poate fi văzută ca un șir de celule numerotate. Fiecare celulă primește drept adresă un număr unic propriu, asemănător cu numerele caselor de pe o stradă. Celulele pot înmagazina o cantitate mică, prestabilită de informație. Informația poate fi interpretată și ca instrucțiune, și ca date propriu-zise. Instrucțiunile prescriu calculatorului ce să facă, iar datele sunt acele informații care trebuie prelucrate conform cu instrucțiunile. În principiu orice celulă poate stoca (memora) atât instrucțiuni cât și date. Importantă este posibilitatea ca una sau mai multe instrucțiuni, deja stocate în memorie, să fie privite de către alte instrucțiuni drept date de prelucrat/modificat dinamic („în mers”), după necesitate.
UAL este din multe puncte de vedere „inima” calculatorului. Aceasta este capabilă să efectueze mai multe tipuri de operații, de exemplu operații aritmetice (adunare, înmulțire ș.a.), operații de comparație, operații de manevrare a datelor (duplicare, mutare, trunchiere ș.a.) precum și operații care influențează ordinea și fluxul instrucțiunilor.
Sistemele de I/E sunt dispozitive prin care calculatorul preia informații din lumea exterioară și raportează înapoi rezultatele. Într-un calculator personal obișnuit dispozitive de intrare sunt de exemplu tastatura și mouse-ul, iar dispozitive de ieșire sunt monitorul și imprimanta. Există și dispozitive I/E combinate, atât pentru intrare cât și pentru ieșire, de exemplu modemul, placa de rețea și discul dur magnetic.
Unitatea de control este un modul central care comandă și leagă toate celelalte module între ele. Rolul ei este să culeagă („citească“) instrucțiunile și datele din memorie sau de la dispozitivele I/E (intrare/ieșire), să decodeze instrucțiunile, să ofere UAL (unității aritmetico-logice) date de intrare corecte conform cu instrucțiunea, să comande UAL ce anume operație să efectueze asupra intrărilor, precum și să trimită (scoată afară) rezultatele, adică să „scrie” în memorie sau către dispozitivele de ieșire, „E”. O componentă cheie a unității de control este un contorul (numărătorul) de instrucțiuni. El conține la orice moment adresa instrucțiunii curente din secvența de program în execuție, și numără instrucțiunile, fiind astfel în permanentă schimbare. Fizic, începând din anii 1980, UAL și unitatea de control se plasează unitar în același circuit integrat numit „unitate centrală de procesare” (central processing unit, CPU ) sau microprocesor sau și procesor. Miniaturizarea continuă a dus printre altele și la apariția așa numitelor unități grafice de procesare, (graphic processing unit, GPU), care comandă și coordonează toate operațiunile de afișare pe ecranul calculatorului - în locul plăcii de extensie pentru grafică.
Pentru arhitectura calculatoarelor s-au adoptat numeroase standarde. Un prim standard de acest fel, care mai este utilizat și în prezent, este ISA (Industry Standard Architecture), care a fost elaborat de IBM odată cu primul IBM PC (Personal Computer, computer personal), apărut la începutul anilor 1980.
Sistemele de calcul rapide pot avea înglobate mai multe procesoare, vezi și articolul supercomputer. Fiecare procesor (CPU) include o unitate de control precum și unul sau mai multe nuclee de proces logic-aritmetic, fiecare dispunând de o UAL proprie.
 

Calculator

 Un calculator, numit și sistem de calcul, computer sau ordinator, este o mașină de prelucrat date și informații conform unei liste de instrucțiuni numită program. În zilele noastre calculatoarele se construiesc în mare majoritate din componente electronice și de aceea cuvântul „calculator” înseamnă de obicei un calculator electronic. Calculatoarele care sunt programabile liber și pot, cel puțin în principiu, prelucra orice fel de date sau informații se numesc universale (engleză general purpose, pentru scopuri generale). Calculatoarele actuale nu sunt doar mașini de prelucrat informații, ci și dispozitive care facilitează comunicația între doi sau mai mulți utilizatori, de exemplu sub formă de numere, text, imagini, sunet sau video sau chiar toate deodată (multimedia).

Știința prelucrării informațiilor cu ajutorul calculatoarelor se numește informatică (engleză Computer Science). Tehnologia necesară pentru folosirea lor poartă numele Tehnologia Informației, prescurtat TI sau IT (de la termenul englezesc Information Technology).

În principiu, orice calculator care deține un anumit set minimum de funcții (altfel spus, care poate emula o mașină Turing) poate îndeplini funcțiile oricărui alt asemenea calculator, indiferent că este vorba de un PDA sau de un supercalculator. Această versatilitate a condus la folosirea calculatoarelor cu arhitecturi asemănătoare pentru cele mai diverse activități, de la calculul salarizării personalului unei companii până la controlul roboților industriali sau medicali (calculatoare universale).

Cel mai vechi mecanism cunoscut care se pare că putea funcționa ca o mașină de calculat se consideră a fi mecanismul din Antikythira, datând din anul 87 î.e.n. și folosit aparent pentru calcularea mișcărilor planetelor. Tehnologia care a stat la baza acestui mecanism nu este cunoscută.

O dată cu revigorarea matematicii și a științelor în timpul Renașterii europene au apărut o succesiune de dispozitive mecanice de calculat, bazate pe principiul ceasornicului, de exemplu mașina inventată de Blaise Pascal. Tehnica de stocare și citire a datelor pe cartele perforate a apărut în secolul al XIX-lea. În același secol, Charles Babbage este cel dintâi care proiectează o mașină de calcul complet programabilă (1837), însă din păcate proiectul său nu va prinde roade, în parte din cauza limitărilor tehnologice ale vremii.

În prima jumătate a secolului al XX-lea, nevoile de calcul ale comunității științifice erau satisfăcute de calculatoare analoage, foarte specializate și din ce în ce mai sofisticate. Perfecționarea electronicii digitale (datorată lui Claude Shannon în anii 1930) a condus la abandonarea calculatoarelor analogice în favoarea celor digitale (numerice), care modelează problemele în numere (biți) în loc de semnale electrice sau mecanice. Este greu de precizat care a fost primul calculator digital; realizări notabile au fost: calculatorul Atanasoff-Berry, mașinile Z ale germanlui Konrad Zuse - de exemplu calculatorul electromecanic Z3, care, deși foarte nepractic, a fost probabil cel dintâi calculator universal, apoi calculatorul ENIAC cu o arhitectură relativ inflexibilă care cerea modificări ale cablajelor la fiecare reprogramare, precum și calculatorul secret britanic Colossus, construit pe bază de lămpi și programabil electronic.

Echipa de proiectare a ENIAC-ului, recunoscând neajunsurile acestuia, a elaborat o altă arhitectură, mult mai flexibilă, care a ajuns cunoscută sub numele de arhitectura von Neumann sau „arhitectură cu program memorat“. Aceasta stă la baza aproape tuturor mașinilor de calcul actuale. Primul sistem construit pe arhitectura von Neumann a fost EDSAC.

În anii 1960 lămpile (tuburile electronice) au fost înlocuite de tranzistori, mult mai eficienți, mai mici, mai ieftini și mai fiabili, ceea ce a dus la miniaturizarea și ieftinirea calculatoarelor. Din anii 1970, adoptarea circuitelor integrate a coborât și mai mult prețul și dimensiunea calculatoarelor, permițând printre altele și apariția calculatoarelor personale de acum.