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