Documente Academic
Documente Profesional
Documente Cultură
Î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ă compatibilitate 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 Calculator portabil
universale).
Cuprins
Istoric
Arhitectura von Neumann
Circuite digitale (hardware)
Memorare de date
Periferice de intrare/ieșire
Instrucțiuni (software)
Programe
Limbaje de programare
Limbaje de nivel inferior
Limbaje de nivel superior
Biblioteci și sisteme de operare
Variante constructive de calculatoare
Utilizare
Rețele de calculatoare și Internetul
Vezi și
Referințe
Legături externe
Bibliografie
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ă.
Odată 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 germanului 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țiacalculatoarelor personalede acum.
Deși design-ul ș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. Ea este denumită așa după renumitul
matematician austro-ungarJohn von Neumann.
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ă pe care circulă datele de calcul și datele de program (instrucțiuni) și sunt conduse în tactul unui ceas (șir de impulsuri
continuu).
Conceptual, memoria unui calculator poate fi văzută ca o mulțime de „celule“ numerotate. Fiecare celulă primește drept adresă un
număr unic propriu; ele pot înmagazina o cantitate mică, prestabilită de informație. Informația poate fi ori o instrucțiune, ori date
propriu-zise. Instrucțiunile spun 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. Interesant este și cazul când una sau mai
multe instrucțiuni, deja stocate în memorie, sunt privite de către alte instrucțiuni drept date de prelucrat/modificat și sunt deci ele
însele modificate dinamic („în mers“), după necesitate.
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.
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 Un circuit integrat văzut la microscop
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 procesoareleIntel și AMD din anul 2005.
Memorare de date
Lămpile electronice și tranzistorii pot fi folosite și pentru construirea de memorii - așa-numitele circuite flip-flop sau „basculante
bistabile” (CBB), și chiar sunt 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 (de la 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 sau
operațiilor logice pe care le-a efectuat. Rezultatele pot fi destinate ca informații oamenilor, sau pot fi folosite în mod direct
(nemijlocit) drept decizii în dirijarea altor mașini; de exemplu în cazul unui robot industrial, cel mai important dispozitiv de ieșire
(dispozitiv E) al calculatorului (de robot) î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 introducereadatelor de calcul și a instrucțiunilor de programse 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 sunt tastaturile și mausurile, iar principalul mijloc prin care calculatorul prezintă
informații către utilizator sunt monitoarele, deși imprimantele sau dispozitivele de generat sunet sunt folosite și ele în mod obișnuit.
Alte dispozitive sunt 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 lareț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)
Vezi articolul principal 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 sunt simple, bine definite și neambigue. Exemple de instrucțiuni
sunt: „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”.
Programe
Programele de calculator sunt listele de instrucțiuni de executat de către un calculator. Acestea pot număra de la câteva instrucțiuni,
care îndeplinesc o sarcină simplă, până la milioane de instrucțiuni pe program (unele din ele executate repetat), plus tabele de date.
Un calculator personal curent din anul 2008 din categoria sub 1.000 euro este capabil să execute peste 4 miliarde de instrucțiuni pe
secundă. Compunerea sau scrierea acestor programe este efectuată de către programatori, care pot fi profesioniști, semiprofesioniști
sau amatori, în funcție de temele de rezolvat și mediul de dezvoltare.
În practică, programele nu se mai scriu demult în limbajul mașină al calculatorului. Scrierea în limbaj-mașină era extrem de
laborioasă și erorile se puteau strecura ușor, ceea ce putea provoca scăderea productivității la programare. Actualmente programele
dorite sunt de obicei descrise/scrise într-un limbaj de programare de nivel mai ridicat (superior), care, înainte de a putea fi executat,
este tradus automat în limbaj-mașină de către programe specializate (interpretoare și compilatoare), adică într-o „limbă” inteligibilă
mașinii de calcul (computerului).
Unele limbaje de programare sunt foarte strâns legate de limbajul mașină de la baza calculatorului, ca de ex. limbajul de asamblare,
de aceea sunt numite limbaje de „nivel jos”. La cealaltă extremă se situează limbajele de „nivel înalt”, de ex. C++, Java, Lisp, Visual
Basic ș.a. Acestea oferă programatorilor posibilitatea operării cu concepte foarte abstracte, complexe, a căror implementare concretă
la nivelul de jos nu mai interesează (dacă interpretorul sau compilatorul funcționează corect). Limbajul ales pentru o anume problemă
depinde în primul rând chiar de natura problemei, de competența profesională a programatorilor, de disponibilitatea uneltelor de
proiectare precum și de bugetul disponibil.
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 unuijoc pe calculator.
Instrumentele moderne de proiectare software precum și tehnicile de programare ce pun accentul pe reutilizarea codului (de ex.
programarea orientată pe obiecte) fac posibilă realizarea unor programe complexe, constituite din zeci de milioane de instrucțiuni; de
exemplu browserul Firefox al organizației Mozilla se compune din peste 2 milioane de linii de cod în limbajul C++. Gestiunea
acestor programe complexe face obiectul unei științe numiteingineria programării.
Limbaje de programare
Limbajele de programare oferă diferite moduri de a specifica programe pentru calculatoare pentru a le rula. Spre deosebire de
limbajele naturale, limbajele de programare sunt concepute pentru a nu permite nicio ambiguitate, și să fie concise. Ele sunt limbaje
doar scrise și sunt adesea dificil de citit cu voce tare. Ele sunt, în general, fie traduse în cod mașină de un compilator sau un asamblor
înainte de a fi rulate, fie traduse direct în timpul rulării de către un interpretor. Uneori programele sunt executate printr-o metodă
hibridă de cele două tehnici.[1]
Î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 intercalarea în timp a programelor. Curând a apărut și software (sistem de program cu instrucțiuni)
specializat în automatizarea planificării acestor sarcini. Combinația între un software gestionar al hardwareului ș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 sistemulOS/360 al companiei americaneIBM.
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”, time slice), astfel oferind fiecărui utilizator (client) iluzia că computerul lucrează doar pentru el.
Modul de stocare (memorare) a datelor a evoluat și el, apărând conceptul de „sistem de fișiere” (file system), în care fișierele sunt
dispuse pe purtătorul de date î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 sunt extrem de
funcționale și complexe/sofisticate.
Calculatoarele integrate vin cu sisteme de operare mult mai mici și mai limitate în funcțiuni, unele chiar fără sistem de operare. În
acest caz programul foarte specializat care le conduce efectuează chiar el toate operațiile necesare.
Probabil cel mai familiar estecalculatorul personal (de tip PC sau și altele) cu subvariantele sale constructive:
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 proiectareabombei cu hidrogen. Multe din supercalculatoarele contemporane sunt folosite pentru simulări
de arme nucleare. Alte calculatoare au fost utilizate încriptanaliză, de exemplu primul calculator electronic programabil, Colossus.
În ciuda concentrării de la început pe aplicații științifice și militare, calculatoarele au început repede să fie adoptate și în alte domenii,
precum cel al afacerilor. LEO, unul din primele calculatoare bazate pe arhitectura von Neumann, era folosit la gestiunea stocurilor
încă din anii 1950. O dată cu apariția microprocesoarelor și ieftinirea semnificativă a calculatoarelor, acestea și-au găsit aplicare în
contabilitate, birotică, alcătuirea de previziuni meteo și de altă natură, în calculele matematice repetitive precum și în
calcul tabelar.
În domeniul artelor, calculatoarele sunt întrebuințate pentru generarea și editarea de sunet, imagini și video. Astăzi aceste activități
sunt efectuate aproape exclusiv pe calculator (computer). De asemenea, industria
jocurilor pe calculator este una foarte lucrativă.
Calculatoarele au putut fi folosite pentru comanda mecanismelor (dispozitivelor electromecanice) din momentul în care au devenit
suficient de mici și de ieftine pentru acest scop. Primele aplicații majore pentru calculatoarele integrate au fost ghidarea misiunilor
Apollo și a rachetelor Minuteman. Astăzi se întâlnesc din ce în ce mai rar echipamente mecanice care să nu fie comandate într-o
formă sau alta de un calculator. Unele din cele mai complexe asemenea echipamente sunt roboții industriali, mașini mai mult sau mai
puțin asemănătoare omului și aptitudinilor sale. Calculatoarele sunt din ce în ce mai mult utilizate în domotică, pentru aplicații
casnice de genul „dacă cineva e acasă, computerul deschide televizorul la 7 seara“ sau „reduce căldura noaptea”.
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 jocurileșah și go, sau citirea scrisului de mână (analogic).
În timp, rețeaua Arpanet 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 programe
și 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
practic în toate domeniile vieții.
Vezi și
Desktop
Computer personal
Calculator portabil
Calculator de buzunar
Calculator de bord - pentru vehicule auto
Calculator cuantic
Informatică
Ingineria calculatoarelor
Ingineria programării
Girder
Overclocking
Viteză de procesare
Putere de calcul
Patologia de calculator
Referințe
1. ^ „Programe pe calculator”(https://www.setthings.com/ro/programe-pe-calculator//). SetThings.com. Accesat în
12.07.2017. Verificați datele pentru: |access-date= (help)
Legături externe
Am intrat în era în care computerele preiau controlul
, 5 septembrie 2011, Marius Comper, Descoperă
Femeile-computer: armele secrete ale americanilor în cel de-al Doilea Război Mondial
, 10 aprilie 2013, Descoperă
Calculatorul, un rau necesar, 8 noiembrie 2005, Robert Daly/stone/getty Images/guliver
, Jurnalul Național
Bibliografie
Adus de la https://ro.wikipedia.org/w/index.php?title=Calculator&oldid=12106913
Acest text este disponibil sub licențaCreative Commons cu atribuire și distribuire în condiții identice
; pot exista și clauze
suplimentare. Vedeți detalii la Termenii de utilizare.