Você está na página 1de 10

1.

INTRODUCERE
Lucrarea de fat trateaz aspecte functionale, constructive si relationale ale
blocurilor unui sistem de calcul numeric. Aplicatiile derulate pe calculatoare sunt:
prelucrrile de date;
prelucrrile de informatii;
prelucrrile de cunostinte;
prelucrrile inteligente (inteligenta artificial).
Fig. 1.1. Structura piramidal a tipurilor de prelucrri.
Spaiul datelor. Materialul prelucrat la baza piramidei este considerat un spatiu
de date din care fac parte numere reprezentate n diverse formate. Datele prelucrate
sunt considerate mutual independente n spatiul lor. Spatiul datelor este cel mai mare
spatiu al obiectelor prelucrate cu sistemul de calcul, incluznd caractere, simboluri
si/sau reprezentri multidimensionale ale acestora, numere n diverse formate.
Spaiul informaiilor. Termenul de informaie reprezint o colectie de date
legate ntre ele printr-o anumit relatie sau structur sintactic. El se prezint ca un
subspatiu al spatiului de date. Prin sintax se ntelege un set de reguli care
guverneaz alctuirea propozitiilor dintr-un limbaj.
Spaiul cunotinelor. Formeaz un subspatiu n cadrul spatiului informatiilor.
Informatiile sunt legate ntre ele printr-o structur semantic. Semantica reprezint
un set de reguli care extrag ntelesul propozitiilor dintr-un limbaj.
Spaiul prelucrrilor de tip inteligen artificial. Lucreaz cu baze de
cunostinte, reguli de inferent (rationament) sau cu alte mijloace specifice
domeniului de inteligent artificial. Calculatoarele de astzi au devenit suficient
de rapide. Cu toate acestea, nici un calculator actual nu este un sistem inteligent
care gndeste independent.
ARHITECTURA SISTEMELOR DE CALCUL
10
Un calculator este o masin capabil de a rezolva probleme aplicnd
instructiuni definite n prealabil. Circuitele electronice ale fiecrui calculator nu pot
recunoaste si executa direct dect un numr limitat de instructiuni. Ansamblul de
instructiuni executate direct de un calculator formeaz un limbaj care permite
oamenilor s comunice cu calculatorul. Este ceea ce se numeste limbajul main.
Problema care se pune n acest caz este c limbajele masin sunt att de primitive
nct este extrem de greoi a le utiliza. Sunt dou lucruri de rezolvat n privinta
acestei probleme, ambele viznd construirea unui nou set de instructiuni mai
practic de utilizat dect limbajul masin. n ansamblu, aceste noi instructiuni
formeaz un nou limbaj care va fi numit L2, n timp ce ansamblul instructiunilor
corespunztoare limbajului masin formeaz nivelul L1.
Prima sarcin de executat a unui program scris n limbajul L2 este de a
nlocui fiecare instructiune a programului cu instructiunile corespunztoare
limbajului L1 care i sunt echivalente. Calculatorul va executa deci noul program n
limbajul L1 si nu vechiul program care a fost scris n limbajul L2. Se poate spune
c are loc o conversie de limbaj, aceast tehnic numindu-se traducere.
Al doilea lucru este de a scrie un program n limbajul L1 capabil, dup
examinarea fiecrei instructiuni a programului din L2, s execute direct secventa de
instructiuni n limbajul L1 echivalent. Aceast tehnic, cu ajutorul creia nu mai
este nevoie s se genereze un program echivalent n L1 care va examina si executa
fiecare instructiune din L2, poart denumirea de interpretare.
Traducerea si interpretarea se aseamn mult. n fiecare caz, toate
instructiunile n L2 sunt convertite n final ntr-o suit echivalent de instructiuni
corespunztoare lui L1. Dar trebuie notat c n fiecare caz al traducerii, programul
scris n L2 este mai nti convertit ntr-un program scris n L1; apoi programul n
L2 dispare si programul n L1 va fi cel executat. n replic, interpretarea const n
analizarea si apoi executarea imediat a fiecrei instructiuni din limbajul L2.
Aceste dou metode sunt foarte utilizate n proportii aproximativ identice.
Pentru a simplifica lucrurile, este mai usor de imaginat existenta unui
calculator virtual, al crui limbaj masin este L2. Dac se poate construi aceast
masin la un pret rezonabil nu va mai fi nevoie de limbajul L1 si nici de o masin
capabil s execute acest limbaj. Utilizatorii vor scrie tot mai simplu programele
lor n limbajul L2 si calculatorul va executa direct aceste programe.
1.1. Limbaje i maini virtuale
Limbajul si masina virtual sunt ntr-o relatie foarte limitat. Orice masin prin
limbajul su formeaz un ansamblu de instructiuni de baz pe care le poate executa. Se
poate spune deci c o masin defineste un limbaj. Reciproc, un limbaj defineste o
masin si, mai precis, un limbaj defineste o masin care poate executa toate programele
scrise n acel limbaj. Binenteles, masina definit printr-un limbaj oarecare poate fi
extraordinar de complex si cu un cost prohibitiv. Dar, cu toate acestea, ea poate exista.
Introducere
11
Un calculator alctuit din n nivele poate fi vzut ca n masini virtuale distincte,
fiecare masin virtual avnd propriul su limbaj. Programele scrise n limbajele L2,
L3, , Ln trebuie s fie interpretate de un interpretor avnd un nivel mai mic sau s
fie traduse ntr-un limbaj inferior. Programatorul care are programele scrise pentru o
masin virtual de nivelul n nu este interesat de compilatoare si nici de
interpretoarele aflate la un nivel inferior. Pentru acesta nu este interesant de stiut n
acest caz dac programele sunt traduse ntr-un limbaj cunoscut de calculator sau dac
ele sunt executate direct de ctre circuitele aflate la nivelul fizic. n ambele cazuri se
va ajunge la acelasi rezultat: programele sunt executate, indiferent de metod.
1.2. Calculatoarele actuale calculatoare multinivel
Cea mai mare parte a calculatoarelor actuale au mai mult de dou nivele.
Predomin foarte mult calculatoarele care au curent 6 nivele. La primul nivel
nivelul 0 se afl logica cablat.
Fig. 1.2. Prezentarea nivelelor unui calculator.
ARHITECTURA SISTEMELOR DE CALCUL
12
Nivelul 0, primul nivel care intr n alctuirea unui calculator, poart
denumirea de nivel fizic. Obiectele utilizate la acest nivel sunt porti, care prin
definitie pot fi privite ca niste componente logice interconectate ntre ele. Fiecare
poart dispune de una sau mai multe intrri logice si ntoarce ca rezultat o functie
simpl obtinut conform semnificatiei de la intrare (de exemplu SI, SAU, NU). O
poart este realizat cu ajutorul tranzistorilor. Acest nivel execut instructiunile
limbajului microprogramat (urmtorul nivel ierarhic), care actioneaz asupra
nivelului 0 ca niste comenzi. De retinut este faptul c nivelul 0 poate s nu fie
nivelul cel mai sczut, sub el putnd exista un alt nivel care poart denumirea de
nivel component, si care de regul nu apare n schema nivelurilor unui calculator.
Nivelul urmtor este nivelul 1 sau nivelul microprogramat. El este nivelul
limbajului intern al masinii. Aici exist un microprogram care interpreteaz
instructiunile de nivel 2 si care este realizat cu un set restrns de instructiuni simple
(n medie cam 20 de instructiuni), de transfer si teste simple ale unor conditii. Este
scris ntr-o memorie ROM intern, la ea avnd acces numai productorul.
Deasupra nivelului 1 se afl nivelul 2 sau nivelul mainii tradiionale.
Fiecare procesor defineste n mod implicit un limbaj de nivel 2 si o masin virtual
al crei limbaj masin este interpretat de un microprogram. Denumirea de nivel al
masinii traditionale este dat deoarece componentele au caracteristici comune.
Aceeasi structur fizic poate corespunde la dou sau mai multe masini dac
microprogramul de pe nivelul 1 este scris n mod adecvat si aceeasi masin
traditional se poate implementa prin diverse structuri fizice. Exist si exceptii:
unele calculatoare nu dispun de nivelul microprogramat (nivelul 1), n acest caz
instructiunile de pe nivelul 2 fiind tratate direct de nivelul 0.
Al treilea nivel este un nivel hibrid, n sensul c cea mai mare parte a
instructiunilor care definesc limbajul 3 sunt de tip masin. Se gsesc aici sarcini
specifice privind gestionarea memoriei si capacitatea de executare a mai multor
programe n paralel. Acest nivel poart denumirea de nivelul sistemului de operare.
De remarcat c nivelele 1 si 2 nu sunt accesibile programatorului mediu. Ele
sunt necesare pentru interpretarea nivelului inferior si sunt scrise de ctre specialisti.
Limbajele de nivel 1, 2 si 3 sunt orientate ctre modul numeric, iar ncepnd cu
nivelul 4 apar limbaje formate din simboluri si cuvinte, care au o sintax.
Nivelul 4 este nivelul limbajului de asamblare. Este un nivel care nu poate s
lipseasc. Aici compilatorul genereaz cod direct pentru nivelul 3. Exist o
caracteristic specific acestui nivel: nivelurile inferioare (nivelul 2, nivelul 3) sunt
ntotdeauna interpretate, iar nivelurile superioare au asociate programe traductoare.
Programele realizate n limbaj de asamblare sunt mai nti traduse n limbaje pentru
nivelurile 1, 2 si 3 si apoi interpretate de masinile reale sau virtuale corespondente.
Urmtorul nivel ierarhic este nivelul 5, numit nivelul limbajului de aplicaie.
Aici se afl limbaje concepute pentru a fi utilizate de ctre programatorii de
aplicatii. Ele mai sunt adesea denumite si limbaje de nivel nalt si sunt extrem de
numeroase. Printre cele mai cunoscute pot fi amintite: Basic, C, Cobol, Pascal,
Fortran etc. Programele scrise n unul din aceste limbaje sunt adesea traduse pentru
nivelele 3 sau 4 de ctre programe traductoare specializate numite compilatoare.
Introducere
13
Nivelul 6, care este si cel mai de sus nivel, este reprezentat de un ansamblu
de programe. Ele contin numeroase date pentru aplicatii care pot tine de domenii
diferite de lucru.
n concluzie, se poate spune c un calculator poate fi vzut ca o suit de
nivele, fiecare nivel nglobnd toate nivelele precedente. Un nivel reprezint un
grad oarecare de abstractizare si contine diverse obiecte si operatii cu aceste
obiecte. n sens ascendent creste complexitatea prelucrrii, iar n sens descendent
creste volumul materialului prelucrat.
Ansamblul tipurilor de date, operatiilor si caracteristicilor fiecrui nivel
poart denumirea de arhitectura nivelului. n particular, arhitectura calculatoarelor
si structura lor semnific aproape acelasi lucru.
1.3. Etapele evoluiei arhitecturii calculatoarelor
Cea mai mare parte a vechilor calculatoare utilizate au iesit astzi din uz,
ajungnd piese de muzeu. Cu toate acestea, au existat cteva masini care au avut un
rol important n evolutia calculatoarelor. Pentru acestea se vor analiza n continuare
cteva din principalele caracteristici.
1.3.1. Generaia 0: calculatoarele mecanice (1642-1945)
Meritul de a fi realizat prima masin de calcul i revine lui Blaise Pascal. n
onoarea sa a fost denumit si primul limbaj de programare care a fost inventat.
Acest prim calculator a fost n ntregime un calculator mecanic, bazat pe angrenajul
unor roti dintate actionate manual, principalele operatii care puteau fi efectuate
fiind adunri si scderi. Treizeci de ani mai trziu acestei masini de calcul i-au fost
adugate de ctre Leibnitz alte dou noi operatii: nmultirea si mprtirea.
Au urmat apoi alte asemenea masini, dintre care poate fi amintit prima
main analitic. Aceasta cuprindea patru prti: memoria (magazia), unitatea de
calcul, intrarea (cititorul de cartele perforate) si iesirea. Memoria dispunea de 1000
de cuvinte de 50 de cifre zecimale care puteau fi utilizate pentru stocarea
variabilelor si rezultatelor. Unitatea de calcul prelua operanzii proveniti din
memorie, fcea diverse operatii asupra lor (adunare, scdere, nmultire, mprtire)
si ntorcea rezultatul tot n memorie. Toate aceste blocuri erau n ntregime
mecanice. Marea noutate a acestei masini consta n faptul c putea citi instructiuni
de pe cartelele perforate si apoi le putea trata. Unele instructiuni puteau comanda
masinii s preia doi operanzi din memorie, s efectueze o operatie asupra lor si s
trimit rezultatul n memorie. Procesul continu pn n anul 1944 cnd a fost
construit prima masin, Mark I, care avea 72 cuvinte a 23 cifre si un ciclu masin
de 6 secunde. A urmat ndeaproape succesoarea sa Mark II. Se poate afirma c,
practic, era electronicii ncepuse.
ARHITECTURA SISTEMELOR DE CALCUL
14
1.3.2. Prima generaie: tuburile cu vid (1945-1955)
Se poate spune c al doilea rzboi mondial a grbit aparitia aparitiei primelor
calculatoare echipate cu componente electronice, chiar dac acestea aveau s fie
tuburile cu vid. Primul calculator construit si folosit a fost ENIGMA, folosit pentru
criptarea mesajelor care urmau a fi trimise de ctre armata german prin radio
submarinelor. Nici armata britanic nu a stat cu minile n sn, ea reusind s pun
la punct un calculator numit COLOSSUS, folosit pentru decodarea mesajelor,
deoarece erau foarte multe calcule de fcut. Printele lui COLOSSUS a fost omul
de stiint englez Alan Turing. Urmeaz apoi un nou model numit ENIAC. Acest
asa zis calculator cuprindea 18000 tuburi cu vid si 1500 de relee; cntrea peste 30
de tone si consuma 150 kW. Din punct de vedere al unittii de calcul dispunea de
20 registre a 10 cifre zecimale. La foarte putin timp dup aceasta si face aparitia
un nou calculator, al crui realizator, John von Neumann, va intra n istorie, putnd
fi considerat pe drept cuvnt printele calculatoarelor actuale. Schema unei masini
von Neumann este redat n figura 1.3.
Fig. 1.3. Schema unei masini von Neumann.
Masina von Neumann era alctuit din 5 prti: memoria, unitatea aritmetic
si logic, unitatea de control, dispozitivele de intrare si cele de iesire. Memoria
dispunea de 4096 cuvinte, fiecare cuvnt avnd 40 de biti (0 sau1). Instructiunile
cuprindeau dou cmpuri: 8 biti pentru tipul instructiunii si 12 biti pentru adres.
Unitatea aritmetic si logic continea un registru intern special numit acumulator.
Masina nu dispunea de capacitate de calcul n virgul mobil.
Fcnd un salt peste timp se ajunge la modelul IBM 704 care avea aceeasi
structur cu 4 K de memorie, instructiuni de 36 de biti si dispozitive speciale de
calcul n virgul mobil.
1.3.3. A doua generaie: tranzistorii (1955-1965)
Primul calculator echipat cu tranzistori a fost realizat n laboratoarele
Lincoln, fiind denumit TX 0 (Transistorized eXperimental Computer 0). n 1961
apare PDP-1, o masin de 4 K cuvinte de 18 biti, avnd ciclul masin de 5 ms. n
comparatie cu IBM 7090, care avea un pret exorbitant, calculatorul PDP-1 costa
Introducere
15
120.000 de dolari, fapt care a determinat vnzarea sa de ctre firma DEC si deci
participarea la nasterea unei industrii mini-informatice.
n 1964 apare pe piat modelul 6600 al firmei CDC, o masin aproape de 10
ori mai rapid dect btrnul IBM 7094. Impactul asupra publicului a fost unul
foarte puternic, numeroase firme exprimndu-si dorinta de a cumpra un astfel de
calculator. Diferenta fat de modelul IBM: o arhitectur paralel. n concluzie,
dispunea de mai multe unitti functionale capabile s execute simultan diverse
operatii. Acest model putea executa 10 instructiuni n acelasi timp.
1.3.4. A treia generaie: circuitele integrate (1965-1980)
Inventarea circuitului integrat a permis plasarea de numeroase tranzistoare
ntr-o singur capsul de siliciu, cea ce a condus la calculatoare mai mici, mai
rapide si mai ieftine.
n anul 1965, firma IBM, numrul unu n domeniul informaticii, scoate pe
piat modelul IBM 360, acesta fiind primul calculator capabil de a simula un alt
calculator. Aparitia circuitelor integrate a dus la dezvoltarea industriei
microinformaticii, prin aparitia unor noi modele, dintre care pot fi amintite
calculatorul PDP-11 realizat de firma DEC. El este asemntor cu modelul 360 al
firmei IBM, dar cu un raport performant/cost mult mai bun.
1.3.5. A patra generaie: circuitele VLSI (1980-1990)
Aceast etap este cea n care ncep s apar primele calculatoare personale,
acest lucru fiind posibil datorit unor factori decisivi:
perfectionarea tehnologiei de fabricatie;
dezvoltarea retelelor de calculatoare;
diversitatea mare de modele de arhitecturi;
aparitia conceptelor de multimedia si de programare orientat pe obiecte.
Un pas important n aceast etap a fost reprezentat de aparitia primelor
calculatoare personale realizate de firma IBM n colaborare cu Intel. Au rezultat
cteva modele care au avut o mare priz la public, dintre care IBM PS1, PS2. Un
alt mare consortiu format din Apple si Motorola scoate pe piat modelele
MacIntosh 68000, 68040. Trebuie remarcat faptul c toate aceste modele erau
calculatoare personale, deci accesibile ca pret persoanelor fizice.
1.3.6. A cincia generaie: prelucrarea masiv paralel (dup 1990)
nceputul generatiei a cincia este marcat de dezvoltarea calculatoarelor cu
prelucrare masiv paralel, de exemplu CM 2 si CM 5 de la Thinking Machines Co.
ARHITECTURA SISTEMELOR DE CALCUL
16
Un alt element esential este aparitia si dezvoltarea serviciului www (World
Wide Web) initiat de Laboratorul CERN din Geneva n colaborare cu mai multe
universitti americane.
n 1993, firma Intel construieste microprocesorul cu structur superscalar
Pentium. Apar sistemele masiv paralele cu memorie partajat si distribuit
(Cray/MPP). Interactivitatea serviciului www este asigurat prin introducerea
tehnologiei Java.
Evolutia procesoarelor a luat apoi un avnt puternic, frecventele de lucru
crescnd n numai opt ani de la 100 MHz la peste 3 GHz, nregistrndu-se n
acelasi timp si o mbunttire a arhitecturii microprocesoarelor prin specializare,
memorie cache, paralelism (pipe-line), optimizarea algoritmilor
Este prezentat n continuare un scurt istoric al dezvoltrii domeniului.
AN NUME SUBIECT
1642 Blaise Pascal Prima masin de calculat mecanic
1834 C. Babbage Masina analitic de la Cambridge cu instructiuni
pe cartel perforat
1904 J.A. Flemming Dioda
1906 L. De Forest Trioda
1936 K. Zuse Primul calculator cu relee Berlin
1943 Guvernul britanic,
cu concursul lui A. Turing
Primul calculator electronic cu tuburi cu vid
Colossus
1944 H. Aiken Primul calculator american Mark 1 (72 cuvinte a
23 cifre, ciclu masin de 6 sec.); nceputul erei
electronicii
1946 J. Mauchly si J.P. Eckert Debutul generatiei I de calculatoare Eniac, Univ.
Pennsylvania (18.000 tuburi electronice, 1.500
relee, 600 comutatoare, 30 tone, 150 KW)
1948 J. Bardeen, W. Shockley,
W. Brattain
Tranzistorul
1948 N. Wiener Cibernetica
1949 M. Wilkes, cu arhitectur
propus de J. von Neumann
Primul calculator cu program nregistrat, EDSAC
1951 MIT Primul calculator n timp real, Whirlwind
1951 J. Mauchly si J.P. Eckert Primul calculator comercializat Univac 1
1952 J. von Neumann Calculatorul IAS (Princeton) rspndeste
arhitectura de baz von Neumann
1955 Laboratoarele Lincoln Primul calculator echipat cu tranzistoare TX 0
1956 Firma IBM Calculatorul IBM 704
1960 Circuite integrate
1960-61 Firma DEC Primul minicalculator, PDP-1, practic nceputul
generatiei a doua de calculatoare (tranzistorizate)
si a miniinformaticii
1961 Firma IBM Masina de gestiune 1401
1962 Firma IBM Primul calculator stiintific puternic
(pe 36 de biti) IBM 7094
Introducere
17
1963 Firma Borroughs Calculatorul B 5000 primul calculator dedicat
unui limbaj de programare: Algol 60
1964 Firma IBM Prima familie de calculatoare, IBM 360; firma
IBM preia suprematia n informatic;
multiprogramare; nceputul generatiei a treia
(cu circuite integrate)
1964 Firma CDC Primul calculator paralel 6600
1965 Firma DEC Primul calculator cu productie de mas
(pe 12 biti), PDP-8
1970 Firma DEC Minicalculatorul PDP-11, firma DEC
preia suprematia n miniinformatic
1970 Circuite integrate pe scar larg
1971 Firma Intel Primul microprocesor de 4 biti 4004
1972 Firma Intel Primul microprocesor de 8 biti 8008
1974 Firma Cray Primul supercalculator: Cray-1
1974 Firma Intel Microprocesorul 8080:
prima unitate central pe un cip
1978 Firma Intel Primul microprocesor de 16 biti 8086
1978 Firma DEC Primul superminicalculator de 32 biti VAX
1979 Firma Motorola Primul procesor al familiei 680x0 68000
1980 Firma IBM nceputul generatiei a patra de calculatoare (cu
circuite VLSI); era calculatoarelor personale, PC
1982 Firma Intel Microprocesorul de 16 biti 80286
1983 S.U.A. Tehnologia LAN (Local Area Network) este
folosit pe scar larg
1984 Firma Motorola Primul microprocesor de 32 biti 68020
1985 Firma Intel Microprocesorul de 32 biti 80386
1987 Firma Motorola Microprocesorul de 32 biti cu unitate de gestiune a
memoriei 68030
1989 Firma Intel Microprocesorul de 32 biti cu coprocesor si
memorie cache 80486
1990 -
1991
Thinking Machines Co.
CM 2 si CM 5
nceputul generatiei a cincia de calculatoare
(prelucrare masiv paralel)
1992 Laboratorul CERN, Geneva Serviciul de informatii www
(World Wide Web) oferit pe Internet
1993 Firma Intel Microprocesorul cu structur superscalar
Pentium
1993 Firma Cray Research Cray/MPP Sistem masiv paralel
Cu memorie partajat distribuit
1995 Firma Sun Microsystems Tehnologia JAVA asigur interactivitatea
serviciului www
1996 Firma Cyrix Microprocesorul n arhitectur superpipe-line
686 P200+
1997 Firma AMD Microprocesoarele RISC K5, K6
1998 Firma AMD Microprocesorul K6-2 3D
1998 Firma Intel Microprocesorul Mendocino/333 MHz
1999 Firma Intel Microprocesorul Pentium III/600 MHz
1999 Firma AMD Microprocesorul Athlon/K7
2000 Firma AMD Microprocesorul Sharptooth /K6-3
ARHITECTURA SISTEMELOR DE CALCUL
18
2002 Firma Intel Microprocesorul Pentium 4 (> 3 GHz)
2002 Firma AMD Microprocesorul AMD Athlon XP 2600+
2003 Firma AMD Microprocesorul AMD Opteron (64 biti)
2005 Firma AMD Microprocesorul AMD Opteron (2)
2005 Firma Intel Microprocesorul Intel Pentium D
2006 Firma Intel Microprocesorul Intel Core (1, 2)
2007 Firma AMD Microprocesorul AMD Phenom (2, 3, 4)
2007 Firma Intel Microprocesorul Intel Dual Core
2007 Firma Intel Microprocesorul Intel Core 2 (1, 2, 4)
2008 ... ... ... ... ... ...

Você também pode gostar