CALCULATOARELE DE-A LUNGUL TIMPULUI
Introducere
În
viața noastra de zi cu zi, calculatoarele sunt ceva obisnuit, ba chiar
indinspensabil în unele cazuri. Se poate spune, pe drept cuvânt ca traim într-o
societate informatizata . În zilele noastre, întâlnim calculatoare peste tot,
de la magazinul din colt, care-și tine evidentele sale cu ajutorul unui PC și
pâna la ghiseul la care platim telefonul. Peste tot sunt calculatoare, legate
eventual între ele si formând astfel rețele de calculatoare. Toate acestea se
datoreaza faptului ca ne dam seama din ce în ce mai mult ca PC-ul ne usureaza
munca. Dar trebuie de subliniat faptul ca un calculator este de fapt o “mașinarie”
care prelucreaza o serie de informatii pe care i le dam. Informația, este
elementul esential din acest întreg lant. De fapt, în practică întâlnim,
printre altele, doua concepte legate de aceasta și anume sistemul informațional
și sistemul informatic.
1.
Istoric
În
1642, Blaise Pascal a inventat o mașină de adunat mecanică pentru a-și ajuta
tatăl, care era administrator financiar. Mașina consta din sase cilindri ce
aveau reprezentate cifrele 0,1,...,9 pe câte o bandă. La fiecare rotație cu
1/10 din lungimea cercului corespunzător, se schimba cifra iar fiecare 10 atins
de un cilindru determina trecerea automată, pe cilindrul următor, a unei unităti
de ordin superior. Astfel, suma a două numere rezultă în urma rotațiilor
succesive făcute pentru primul și al doilea număr. Mașina lui Pascal a fost
simplificată de Lepine (1725) iar în 1851, V. Schilt a prezentat la Londra o
masină de adunat în care cifrele se înscriau pe clape.
Gottfried
von Leibniz (1646-1716) a construit masini de adunat si înmultit (1694, 1704)
inventând un cilindru suplimentar care permitea repetarea adunărilor în vederea
efectuării unei înmultiri. Dispozitivele de calcul descrise de el pentru
efectuarea celor patru operatii aritmetice au aplicatii si astăzi.
Thomas
de Colmar a creat în 1820 prima masină de adunat si înmultit care a intrat în
viata economică.
Charles
Babbage a proiectat, între 1834 si 1854, o masină care, folosind rotite de
calcul zecimal, urma să execute o adunare într-o secundă dar care n-a fost, din
păcate, complet realizată. Munca lui Babbage a fost încurajată de ideile
inovatoare ale Adei Byron, numele celor doi rămânând de referintă în
pionieratul informaticii prin intuirea unor principii general valabile în
informatică, cum ar fi separarea memoriei si unitătii de executie în
construirea unui calculator sau posibilitatea utilizării acestuia pentru
rezolvarea unor probleme complexe.
P.
L. Cebîsev (1821-1894) a construit o mașină de adunat si înmultit cu miscare
continuă, care semnala sonor momentul de stopare a manivelei.
La
expoziția de la Paris din anul 1920, Torres y Quevedo a prezentat o masină care
efectua înmultiri si împărtiri, numerele fiind introduse prin apăsarea pe
clape.
Viteza
de lucru a acestor mașini va creste până la câteva zeci de operatii pe secundă
prin înlocuirea învârtirii manuale a manivelei cu operatii electrice.
În prima jumătate a secolului al XX-lea au
fost inventate mașini analogice care transformau o problemă matematică
(teoretică sau practică) într-una bazată pe mărimi fizice (segmente, unghiuri,
intensitatea curentului electric, variatii de potential) pe baza unei analogii.
În final se obtinea un rezultat aproximativ dar convenabil din punct de vedere
practic. Un exemplu de transpunere a unei probleme numerice în termeni
analogici este reducerea înmultirii a două numere la adunarea a două segmente
folosind scara logaritmică.
Către mijlocul secolului al XX-lea apar
calculatoarele electronice (care pot fi si ele numerice sau analogice),
capabile să rezolve probleme complexe. Structura acestora este prezentată în
Arhitectura generală a sistemelor de calcul.Pe scurt, orice calculator trebuie
să fie capabil să memoreze informatii (date si programe), deci contine un
dispozitiv de memorie, să comande executia operatiilor, deci contine un
dispozitiv de comandă si să le execute .Aceste componente sunt interconectate
pentru buna functionare a calculatorului. În scopul realizării legăturilor
dintre calculator si exterior, apar dispozitive de introducere a datelor,
respectiv extragere a rezultatelor.
Grigore
Moisil spunea: "Calculatorul nu rezolvă probleme, cum se spune. Problemele
le rezolvă omul, dar în rezolvarea lor omul se servește nu numai de toc si
hârtie, ci și de calculator", subliniind faptul că un calculator este un
instrument de lucru, nu o "inteligență" de sine stătătoare. De
altfel, acest principiu nu s-a schimbat nici chiar în noul domeniu al inteligenței
artificiale, unde calculatorul poate fi făcut să "învețe" lucruri noi
pe baza anumitor informatii furnizate, împreună cu niște reguli de deducție,
dar în ultimă instantă omul este cel care a implementat aceste mecanisme. Așadar,
un calculator este (deocamdată) atât de "inteligent" cât îl facem noi
să fie.
După
cum probabil s-a dedus deja, dispozitivul fizic (hardware, din limba engleză)
reprezentat de calculator nu este suficient pentru exploatarea sa eficientă;
mai este nevoie de un sistem de programe (software) care ne permite să folosim
resursele fizice pentru rezolvarea problemelor dorite. În absenta acestora,
calculatorul ar fi, dacă nu inutil, în orice caz foarte dificil de folosit
(exclusiv în limbaj masină, precum primele calculatoare apărute). Părtile hard
si soft ale unui calculator alcătuiesc împreună sistemul de calcul.
Primul
calculator electronic a fost construit în 1943 în Statele Unite (Philadelphia) și
s-a numit ENIAC. Acesta folosea procedeele de calcul aplicate la calculatoarele
mecanice dar, datorită pieselor electronice, avea o viteză mai mare: 32.000 de
operatii aritmetice pe secundă. Era de dimensiuni mari, componentele sale
principale fiind o memorie pentru date, una pentru instrucțiuni și o unitate de
comandă pentru execuția instrucțiunilor.
În
1947, John von Neumann stabileste principiile de bază pentru calculatoarele
clasice (arhitectură von Neumann), valabile până astăzi: la un moment dat,
unitatea centrală a calculatorului execută o singură instructiune,
instructiunile programului fiind retinute în memoria internă calculatorului.
1.
Legea lui Moore și
evoluția calculatoarelor
Evolutia
cronologică a calculatoarelor electronice este descrisă în continuare sub forma
generatiilor de calculatoare [GEN5]. Se poate remarca faptul că dezvoltarea
caracteristicilor fizice si performantelor calculatoarelor a fost extraordinar
de dinamică; de fapt domeniul calculatoarelor, privit atât din punctul de
vedere hard, cât si soft, a avut cea mai rapidă evolutie dintre industriile si
tehnologiile secolul nostru. Primele sisteme electronice de calcul, de
dimensiuni considerabile, erau departe de performantele calculatoarelor moderne
si există toate motivele să credem că această evolutie va continua.
In
acest sens a fost formulata legea lui Moore ce descrie o tendință pe termen
lung în istoria mașinilor de calcul: numărul de tranzistori care pot fi plasați
pe un circuit integrat se dublează aproximativ la fiecare doi ani. Această
tendință a continuat de mai bine de o jumătate de secol. Surse din 2005 se
așteptau ca această tendință să continue cel puțin până în 2015 sau 2020. Cu
toate acestea, în 2010 s-a estimat o încetinire a creșterii la sfârșitul anului
2013, după care se estimează că numărul de tranzistori se va dubla la fiecare 3
ani. Limita acestei legi se presupune ca s-ar atinge prin 2020 cand
tranzistorii vor fi constituiti doar dintr-un singur atom.
1.
Generații de
calculatoare
Generația 1 (1943-1956). Principalele
componente fizice ale acestor calculatoare erau tuburile electronice pentru
circuitele logice și tamburul magnetic rotativ pentru memorie. Viteza de lucru
era mică: 50-30.000 operatii pe secundă iar memoria internă - 2KO. Aceste
calculatoare aveau dimensiuni foarte mari si degajau o cantitate de căldură
destul de mare, deci nu ofereau sigurantă perfectă în utilizare. Programarea
acestor calculatoare era dificilă, folosindu-se limbajul masină si ulterior
limbajul de asamblare. Reprezentantul cel mai cunoscut al acestei generatii
este calculatorul ENIAC. Enumerarea caracteristicilor sale fizice este foarte
sugestivă pentru a crea o imagine asupra primelor tipuri de calculatoare: el
continea 18.000 de tuburi electronice, 7.500 de relee, 7.000.000 de rezistente
si ocupa 145m2, cântărind 30t.
Este
de remarcat faptul că informatica românească a demarat cu câteva realizări notabile, inclusiv din
punct de vedere tehnic. Dintre primele calculatoare românesti amintim:
Calculatorul Institutului de Fizică Atomică din Bucuresti (CIFA), Masina
Electronică de Calcul a Institutului Politehnic Timisoara (MECIPT),
Dispozitivul Automatic de Calcul al Institutului de Calcul din Cluj (DACICC-1).
Generația 2 (1957-1963). Principalele
tehnologii hard erau reprezentate de tranzistori (diode semiconductoare) și
memorii din ferite, viteza de lucru atinsă fiind de 200.000 de operații pe
secundă iar memoria internă - de aproximativ 32KO. Echipamentele periferice de
introducere/extragere de date au evoluat si ele; de exemplu, de la masini de
scris cu 10 caractere pe secundă s-a trecut la imprimante rapide (pentru acea
perioadă) cu sute de linii pe minut. Programarea acestor calculatoare se putea
face si în limbaje de nivel înalt (Fortran,
Cobol) prin existenta unor programe care le traduc în limbaj masină
(compilatoare). Apare un paralelism între activitatea unitătii de comandă si
operatiile de intrare-iesire (după ce unitatea de comandă initiază o operatie
de intrare-iesire, controlul acesteia va fi preluat de un procesor specializat,
ceea ce creste eficienta unitătii de comandă). În memoria calculatorului se pot
afla mai multe programe - multiprogramare - desi la un moment dat se execută o
singură instructiune.
Dintre
calculatoarele românești ale generației a doua, amintim DACICC-200, CIFA 101 și
102.
Generația 3 (1964-1971). Principala
tehnologie hard era reprezentată de circuitele integrate (circuite
miniaturizate cu functii complexe), memoriile interne ale calculatoarelor fiind
alcătuite din semiconductoare. Apar discurile magnetice ca suporturi de memorie
externă iar viteza de lucru creste la 5 milioane de operatii pe secundă. Cel
mai cunoscut reprezentant al generatiei este IBM 360 iar dintre calculatoarele
românesti - familia FELIX, calculatoare universale realizate sub licentă
franceză.
Generația 3.5(1971-1981). Cresc
performantele circuitelor integrate și se standardizează. Apar circuitele cu
integrare slabă (SSI – Simple Scale of Integration) si medie (MSI – Medium
Scale of Integration), echivalentul a 100 de tranzistoare pe chip. Viteza de
lucru este de 15.000.000 de operatii pe secundă iar memoria internă ajunge la
2MO. Se folosesc limbaje de nivel înalt (Pascal, Lisp).
Generația 4 (1982-1989). Se folosesc
circuite integrate pe scară largă (LSI – Large Scale of Integration) și foarte
largă (VLSI – Very Large scale of Integration) (echivalentul a 50.000 de
tranzistoare pe chip), memoria internă creste la 8MO iar viteza de lucru - la
30.000.000 de operatii pe secundă. Apar discurile optice și o nouă directie în
programare: programarea orientată pe obiecte.
Calculatoarele
generatiilor I-IV respectă principiile arhitecturii clasice (von Neumann) și au
fost construite pentru a realiza în general operatii numerice. Calculele
matematice complicate, după algoritmi complecsi care să furnizeze rezultate
exacte (de exemplu integrare, limite, descompuneri de polinoame, serii), numite
calcule simbolice, au apărut doar în ultimele decenii si nu au fost favorizate
de constructia calculatoarelor, ci de un soft puternic, bazat pe algoritmi
performanti.
Până
în jurul anilor '80, evoluția calculatoarelor a fost preponderent bazată pe
salturi tehnologice. Constatându-se însă că majoritatea programelor nu folosesc
în întregime posibilitătile calculatoarelor dintr-o generatie, s-a încercat
cresterea performantelor activitătii de creare a soft-ului, urmărind principiul
evident că activitatea umană nu se bazează pe prelucrări de date, ci de cunostinte
între care apar operatii logice de deductie. Ulterior, se va pune chiar
problema găsirii unor arhitecturi performante care să sustină noile concepte si
cerinte de prelucrare a cunostintelor. Arhitectura următoarei generatii de
calculatoare nu va mai respecta în mod necesar principiile von Neumann.
Generația 5 (1990-prezent) este generatia
inteligentei artificiale, fiind în mare parte rezultatul proiectului japonez de
cercetare pentru noua generatie de calculatoare. Principalele preocupări ale
cercetătorilor din domeniul inteligentei artificiale se suprapun în cea mai
mare parte cu functiile noii generatii de calculatoare, care sunt prezentate
mai jos. Aceste calculatoare sunt bazate pe prelucrarea cunostintelor
(Knowledge Information Processing System - KIPS), în conditiile în care aceste
prelucrări devin preponderente în majoritatea domeniilor stiintifice. Din punct
de vedere tehnic, se folosesc circuite VLSI (echivalentul a peste 1 milion de
tranzistoare pe chip), atingându-se o viteză de lucru foarte mare, pentru care
apare o nouă unitate de măsură: 1LIPS (Logical Inferences Per Second) = 1000 de
operatii pe secundă). Astfel, viteza noilor calculatoare se estimează la 100 M
LIPS până la 1 G LIPS. Apare programarea logică, bazată pe implementarea unor mecanisme
de deductie pornind de la anumite "axiome" cunoscute, al cărei
reprezentant este limbajul Prolog.
Funcțiile de
bază ale noii generații de calculatoare sunt:
·
interfata
inteligentă între om si calculator: Se urmăreste implementarea unor functii
similare celor umane (auz, văz, folosirea limbajului) prin mecanisme de
recunoasterea formelor, exprimare prin imagini si studiul limbajului natural
(directie importantă a inteligentei artificiale). Astfel, utilizatorii
calculatoarelor, mai ales nespecialisti, vor avea la dispozitie un instrument
de lucru mult mai agreabil.
·
gestiunea
cunostintelor: Cunostintele trebuie să poată fi memorate sub forme care să
permită un acces optim la bazele de cunostinte (asociativ) si întretinerea
bazei de cunostinte prin introducerea de cunostinte noi, eliminarea
inconsistentelor, chiar învătare de cunostinte (caracteristică inteligentei
artificiale).
·
realizarea
de inferente (deductii) si predictii: Acestor actiuni, similare gândirii umane,
li se poate asocia în mod cert atributul de «inteligent». Problemele de
inteligentă artificială se vor rezolva uzual folosind bazele de cunostinte
asupra cărora se aplică regulile de deductie. Se folosesc metode si tehnici
care permit generarea automată a unor programe si testarea corectitudinii
programelor. Omul va fi asistat în obtinerea de cunostinte noi prin simularea
unor situatii concrete, necunoscute încă. Aceste tipuri de probleme sunt foarte
complexe si necesită instrumente de abordare adecvate: programare logică,
metode de programare euristice care să furnizeze solutii bune (chiar dacă nu
optime) într-un timp scurt; tehnicile enumerate, care permit găsirea solutiei
într-un spatiu de căutare de dimensiuni foarte mari, sunt dezvoltate tot în
cadrul inteligentei artificiale. Un caz special de deductie este predictia
(prevederea unor evolutii pe baza anumitor cunostinte date), care se
implementează folosind mecanisme ce încearcă să simuleze functionarea
creierului uman prin intermediul retelelor neuronale. O altă tehnică inspirată
din lumea biologicului în inteligenta artificială o constituie algoritmii
genetici, care au caracteristici de adaptabilitate la context, similar cu
adaptarea la mediu a populatiilor biologice.
Generația 6 apare
deocamdată doar în literatură, sub forma conceptulelor ipotetice despre care se
filozofează. Astfel de calculatoare ar putea fi:calculatoare pe baza de adn,
calculatoare cuantice, calculatoare cu tranzistori din grafen
4. Tehnologii noi
4.1. Calculatoarele Cuantice
Privind
in trecutul nu foarte indepartat, suntem martorii unui eveniment crucial in
istoria omenirii: inventarea primului calculator programabil. Acesta are loc in
anul 1936, cand Konrad Zuse creaza Z1 Computer, un obiect ce va avea o evolutie
uluitoare in anii ce urmeaza. Desi analiza trecutului poate fi impresionanta,
cu adevarat naucitoare este o privire in viitorul acestei tehnologii.
Desi
in momentul de fata, lumina reflectoarelor este furata de lupta dintre Legea
lui Moore si diferite arhitecturi sofisticate ca Sandy Bridge sau Fermi, in
umbra se dezvolta noi combatanti, care in ciuda starii primitive in care se
afla, promit sa ne schimbe vietile in moduri intalnite doar in cele mai
nebunesti fictiuni.
In
aceasta serie de articole, doresc sa va ofer o privire de ansamblu asupra
acestor tehnologii experimentale, incepand cu calculatoarele cuantice si urmand
ca luna viitoare sa va prezint calculatoarele biologice.
4.1.1. Atomul - Ultima Frontieră?
In
1965, co-fondatorul Intel, Gordon E. Moore prezicea dublarea numarului de
tranzistori ce pot fi pusi intr-un circuit integrat, odata la doi ani.
Surprinzator, prezicerea sa a devenit aproape o “lege”, ea ramanand valabila
pana in ziua de azi. Totusi, problema care apare este urmatoarea: ce se va
intampla cand tranzistorul va ajunge de marimea unui atom? Vom atinge un platou
tehnologic de nedepasit? Ceea ce este si mai infricosator este momentul in care
ne vom lovi de acest zid: 2020, daca Legea continua sa fie respectata.
Dincolo
de aceasta linie ne asteapta un viitor invaluit in intunericul
incertitudinii,dar totodata luminat de posibilitati naucitoare.
Abonați-vă la:
Postări (Atom)