Documente Academic
Documente Profesional
Documente Cultură
Calculator
Calculator
Calculator portabil
Un calculator, numit şi 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ă
(multimedial).
Î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).
Calculatoarele de astăzi vin în forme şi prezentări diverse. Probabil cel mai familiar este
calculatorul personal şi varianta sa portabilă (denumită în engleză laptop sau notebook). Însă cea
mai răspândită formă este acea a calculatorului integrat (engleză embedded), adică înglobat
complet în dispozitivul pe care îl comandă. Multe maşini şi aparate, de la avioanele de luptă până
la aparatele foto digitale, sunt controlate de calculatoare integrate. Un alt exemplu este
calculatorul de bord al automobilelor.
Istoric
Articol principal: Istoria maşinilor de calcul
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ă.
Î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.
Î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
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.).
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 mausul, 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, apărut la începutul anilor '80.
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.
Aranjînd corect porţi logice binare , se pot construi circuite care execută şi funcţii mai complexe,
de exemplu sumatoare. Sumatorul electronic adună două numere folosind acelaşi procedeu (în
termeni informatici, algoritm) învăţat de copii la şcoală: se adună fiecare cifră corespondentă, iar
„transportul” este transmis către cifrele din stînga. În consecinţă, reunind mai multe asemenea
circuite, se pot obţine o UAL şi o unitate de control complete. CSIRAC, unul din primele
calculatoare bazate pe arhitectura von Neumann şi probabil cel mai mic asemenea calculator
posibil, avea circa 2000 de lămpi (tuburi) - deci chiar şi pentru sisteme minimale e nevoie de un
număr considerabil de componente.
Lămpile electronice erau caracterizate de cîteva limitări severe în folosirea lor pentru construcţia
porţilor logice: erau scumpe, puţin fiabile, ocupau mult spaţiu şi consumau cantităţi mari de
curent. Deşi erau incredibil de rapide faţă de releele electromecanice, aveau şi ele totuşi o viteză
de operare relativ limitată. Astfel că începînd din anii 1960 lămpile (tuburile electronice) au fost
înlocuite cu tranzistori, dispozitive ce funcţionau asemănător, însă erau mult mai mici, mai
rapide, mai fiabile, mai puţin consumatoare de curent şi mult mai ieftine.
Din anii 1960-'70, tranzistorul a fost şi el înlocuit cu circuitul integrat, care conţinea mai mulţi
tranzistori, şi firele de interconectare corespunzătoare, pe o singură plăcuţă de siliciu (numită
cip). Din anii '70, UAL-urile combinate cu unităţi de control (UC) au fost produse unitar ca
circuite integrate, numite microprocesoare, sau CPU (Central Processing Unit/unitate de
procesare centrală). În timp, densitatea tranzistorilor din circuitele integrate a crescut incredibil,
de la cîteva zeci, în anii 70, pînă la peste 100 de milioane de tranzistoare pe circuit integrat, la
procesoarele Intel şi AMD din anul 2005.
Lămpile electronice şi tranzistorii pot fi folosite şi pentru memorie - aşa-numitele circuite flip-
flop sau "basculante bistabile" (CBB ), şi chiar sînt folosite pentru mici circuite de memorie de
mare viteză, numite „cu acces direct” . Însă puţine designuri de calculatoare au folosit bistabile
pentru grosul nevoilor de memorie, memorii de amploare . Primele calculatoare foloseau tuburi
Williams - în esenţă proiectînd puncte pe un ecran TV şi citindu-le din nou mai tîrziu, sau linii de
mercur, în care datele erau depozitate sub formă de unde sonore care parcurgeau tuburi cu
mercur la viteză mică (comparativ cu viteza de operare a maşinii). Aceste metode destul de
neproductive au fost înlocuite cu dispozitive de stocare (memorare) în mediu purtător magnetic,
de exemplu memoria cu miezuri magnetice de formă inelară, în care un curent electric era folosit
pentru a induce un cîmp magnetic remanent (dar slab) într-un material feros, care putea fi citit
ulterior, după necesitate pentru a folosi datele. În cele din urmă a apărut memoria dynamic
random access memory , DRAM . DRAM-ul este format din bănci (mulţimi grupate) de
condensatori, componente electrice care pot reţine o sarcină electrică pentru o anumită durată de
timp. Scrierea informaţiei într-o astfel de memorie se face prin încărcarea condensatorilor cu o
anumită sarcină electrică, iar citirea prin determinarea („măsurarea”) sarcinii acestora (dacă este
încărcat sau descărcat).
Periferice de intrare/ieşire
„I/E” ("intrare-ieşire"), sau în engleză I/O (input/output), este termenul general pentru acele
dispozitive prin care un calculator primeşte informaţii din lumea exterioară, inclusiv instrucţiuni
despre ce să facă, sau trimite înapoi (în afară) rezultatele calculelor pe care le-a efectuat.
Rezultatele pot fi destinate oamenilor, sau pot fi folosite în dirijarea altor maşini; de exemplu în
cazul unui robot industrial, cel mai important dispozitiv de ieşire (dispozitiv E) al calculatorului
înglobat în el creează comenzile detailate necesare pentru toate operaţiile (mişcările) mecanice
ale robotului propriu-zis.
Prima generaţie de calculatoare era echipată cu o gamă de dispozitive I/E destul de limitată şi cu
viteză de execuţie redusă; de exemplu, pentru introducerea datelor de calcul şi a instrucţiunilor
de program se folosea în principal un cititor de cartele perforate sau un dispozitiv asemănător, iar
pentru afişarea rezultatelor se folosea o imprimantă, de obicei un teleimprimator modificat de tip
"telex". De-a lungul timpului însă au apărut o imensă diversitate de dispozitive I/E. Pentru
calculatorul personal de azi, cele mai comune modalităţi de introducere directă a datelor sînt
tastaturile şi mausurile, iar principalul mijloc prin care calculatorul prezintă informaţii către
utilizator sînt monitoarele, deşi imprimantele sau dispozitivele de generat sunet sînt folosite şi
ele în mod obişnuit. Alte dispozitive sînt specializate pentru numai anumite tipuri de intrări sau
ieşiri, de exemplu aparatul foto digital şi scanerul.
dispozitivele secundare de stocare: dischetele, unităţile CD, DVD, discurile dure şi altele;
capacităţile de stocare a datelor pot diferi foarte mult între ele.
precum şi dispozitivele pentru conectarea la reţele de calculatoare. Posibilitatea de a
interconecta calculatoarele pentru a transfera date şi informaţii între ele a deschis calea
unei mulţimi de noi aplicaţii. Internetul, şi aici în special World Wide Web, permit
miliardelor de calculatoare de pe glob să se lege unele cu altele pentru a transfera între
ele informaţii de toate tipurile.
Instrucţiuni (software)
Instrucţiunile interpretate de către unitatea de control şi executate de UAL nu seamănă deloc cu
limbajul uman. Calculatorul cunoaşte prin construcţie un set relativ mic de instrucţiuni
elementare, care sînt simple, bine definite şi neambigue. Exemple de instrucţiuni sînt: "copiază
conţinutul celulei de memorie 5 şi plasează rezultatul în celula 10", "adună conţinutul celulei 7
cu conţinutul celulei 13 şi plasează rezultatul în celula 6", "dacă conţinutul celulei 999 este 0
(zero), următoarea instrucţiune de executat se găseşte memorată în celula 30", dacă nu, „se
urmează secvenţa (şirul de instrucţiuni) mai departe”.
În calculator instrucţiunile „externe” sunt memorate şi deci reprezentate în cod binar, la fel ca şi
toate celelalte date de calcul (numere, litere, simboluri). De exemplu, codul în limbaj-maşină
pentru una din operaţiile de copiere într-un microprocesor fabricat de firma Intel este 10110000,
„1” şi „0” fiind cele două valori logice binare „înţelese” de microprocesor (computer, maşină). În
completarea exemplului de mai sus, se poate intui că o instrucţiune de adunare în respectivul
Intel-microprocesor trebuie să fie reprezentată altfel decât cea de copiere, de exemplu 01001110.
Mulţimea de instrucţiuni implementate într-un calculator (computer) formează şi este numit
limbajul maşină al acelui calculator.
Simplificat vorbind, dacă două calculatoare au CPU-uri (unităţi centrale de procesare) care
răspund la fel la acelaşi set de instrucţiuni, programele (executabile) scrise pentru unul pot rula şi
pe celălalt aproape fără modificări, dar de exemplu cu viteze diferite. Uşurinţa portabilităţii este
o motivaţie pentru proiectanţii de calculatoare ca ei să nu modifice radical design-urile existente,
decât pentru motive serioase.
Programe
Programele mai sunt numite şi software, ele putând fi memorate permanent sau/şi doar
memorabile temporar; însă software-ul poate include, pe lîngă programele propriu-zise, şi
material auxiliar, cum ar fi date grafice, în cazul unui joc pe calculator.
Nu cu mult timp după dezvoltarea calculatorului s-a descoperit că aceleaşi rutine (părţi de
program (subprograme) cu scop bine definit) se pot uneori folosi în mai multe programe diferite;
un exemplu fiind calcularea unor funcţii matematice. Din motive de eficienţă, versiunile standard
ale acestor rutine au început să fie adunate în biblioteci de programe (engleză: library, libraries)
şi puse la dispoziţia tuturor celor interesaţi. Un alt set foarte necesar de rutine s-a dovedit a fi
comunicarea cu diversele dispozitive de I/E (disp. periferice de intrare/ieşire).
În anii 1960, calculatoarele au început să fie folosite pe larg în industrie şi economie, iar un
calculator a putut fi folosit la executarea simultană a multor sarcini, prin intercalare de programe
de calcul şi comandă. Curînd a apărut şi software specializat (sistem de program cu instrucţiuni)
în automatizarea planificării acestor sarcini. Combinaţia între un software gestionar/comandor al
hardware-ului şi un software planificator de sarcini a devenit cunoscută sub numele de "sistem
de operare" (engleză: operating system ). Un prim exemplu de sistem de operare a fost sistemul
OS/360 al firmei IBM.
Următorul pas major a fost partajarea timpului (time sharing) , prin care mai mulţi utilizatori
(clienţi) pot folosi o maşină simultan. Pentru aceasta programele fiecăruia se păstrează în
memorie, executîndu-se pe rînd porţiuni din aceste programe pentru o perioadă scurtă de timp
("felie de timp"), astfel oferind fiecărui utilizator (client) iluzia că computerul lucrează doar
pentru el. Modul de stocare (memorare) a datelor a evoluat şi ea, apărînd conceptul de "sistem de
fişiere" (file system), în care fişierele sînt dispuse într-o structură ierarhică de "directoare" sau
"dosare".
O adăugire majoră în domeniul sistemelor de operare a fost acum cîţiva ani o interfaţă grafică cu
utilizatorul (engleză: graphic user interface , GUI ).
În afara acestor funcţii de bază, sistemele de operare conţin deseori şi o trusă de unelte
suplimentare, care parţial sînt extrem de funcţionale şi complicate/sofisticate.
Calculatoarele integrate vin cu sisteme de operare mult mai mici şi mai limitate în funcţiuni,
unele chiar fără sistem de operare, întrucît programul foarte specializat care le conduce
efectuează chiar el toate operaţiile necesare.
Utilizare
Primele calculatoare electronice digitale, fiind foarte mari şi scumpe, erau folosite la calcule
ştiinţifice complicate, de multe ori pentru scopuri militare. ENIAC-ul a fost proiectat pentru
calculul tirurilor de artilerie, dar a fost folosit şi la calculul densităţilor transversale de neutroni,
în proiectarea bombei cu hidrogen. Multe din supercalculatoarele contemporane sunt folosite
pentru simulări de arme nucleare. Alte calculatoare au fost utilizate în criptanaliză, de exemplu
primul calculator electronic programabil, Colossus.
Roboţii industriali sunt o prezenţă obişnuită în producţia de masă, însă roboţii umanoizi încă nu
au ajuns la nivelul la care sunt portretizaţi în literatura de anticipaţie SF şi sunt astăzi doar jucării
sau subiecte de cercetare. De asemenea, progresul inteligenţei artificiale în crearea unui
calculator cu „inteligenţă” electronică la nivelul celei omeneşti a fost până acum extrem de lent,
deşi de-a lungul timpului s-au dezvoltat metode care permit calculatoarelor să îndeplinească
destul de bine sarcini despre care iniţial se bănuia că ar fi prin excelenţă umane, cum ar fi jocul
de şah sau citirea scrisului de mână (analogic).
În anii 1970 inginerii de la institutele de cercetare militare din SUA au început să îşi
interconecteze în reţele calculatoarele folosind tehnologia telecomunicaţiilor. O reţea de
calculatoare are de regulă un caracter coordonator-subordonator, adică structura respectivă are
calculatoare „egale în drepturi” dar care sunt supuse controlului unui calculator principal,
„dirijor”. Proiectul a fost sprijinit de către agenţia DARPA a ministerului apărării, iar reţeaua de
calculatoare care a luat astfel naştere s-a numit Arpanet.
În timp, reţeaua s-a extins enorm, dincolo de scopul ei iniţial academic şi militar şi a devenit
cunoscută sub numele de Internet. Evoluţia reţelelor a adus cu sine o redefinire a naturii şi
limitelor unui calculator. În cuvintele lui John Gage şi Bill Joy (de la firma Sun Microsystems),
„the network is the computer“ — „reţeaua este calculatorul“. Sistemele de operare şi aplicaţiile
computerelor s-au modificat, incluzând acum capacitatea de a defini şi accesa resurse de pe alte
calculatoare din reţea (fie informaţii, fie dispozitive conectate la ele), ca extensii ale resurselor
locale. Iniţial aceste facilităţi erau disponibile numai celor care lucrau în medii de înaltă
tehnologie, însă din anii 1990, odată cu răspândirea aplicaţiilor ca de exemplu e-mail sau World
Wide Web, şi cu dezvoltarea tehnologiilor de conectare în reţea ieftine şi rapide precum Ethernet
sau ADSL, reţelele de calculatoare au pătruns peste tot, în toate domeniile vieţii.