Sunteți pe pagina 1din 10

1.

INTRODUCERE

Lucrarea de faţă tratează aspecte funcţionale, constructive şi relaţionale ale


blocurilor unui sistem de calcul numeric. Aplicaţiile derulate pe calculatoare sunt
(vezi figura 1.1):
 prelucrările de date;
 prelucrările de informaţii;
 prelucrările de cunoştinţe;
 prelucrările inteligente (inteligenţa artificială).

Fig. 1.1. Structura piramidală a tipurilor de prelucrări.

Spaţiul datelor. Materialul prelucrat la baza piramidei este considerat un spaţiu


de date din care fac parte numere reprezentate în diverse formate. Datele prelucrate
sunt considerate mutual independente în spaţiul lor. Spaţiul datelor este cel mai mare
spaţiu al obiectelor prelucrate cu sistemul de calcul, incluzând caractere, simboluri
şi/sau reprezentări multidimensionale ale acestora, numere în diverse formate.
Spaţiul informaţiilor. Termenul de informaţie reprezintă o colecţie de date
legate între ele printr-o anumită relaţie sau structură sintactică. El se prezintă ca un
subspaţiu al spaţiului de date. Prin sintaxă se înţelege un set de reguli care
guvernează alcătuirea propoziţiilor dintr-un limbaj.
Spaţiul cunoştinţelor. Formează un subspaţiu în cadrul spaţiului informaţiilor.
Informaţiile sunt legate între ele printr-o structură semantică. Semantica reprezintă
un set de reguli care extrag înţelesul propoziţiilor dintr-un limbaj.
Spaţiul prelucrărilor de tip inteligenţă artificială. Lucrează cu baze de
cunoştinţe, reguli de inferenţă (raţionament) sau cu alte mijloace specifice
domeniului de inteligenţă artificială. Calculatoarele de astăzi au devenit suficient
de rapide. Cu toate acestea, nici un calculator actual nu este un sistem inteligent
care gândeşte independent.
12 ARHITECTURA SISTEMELOR DE CALCUL

Un calculator este o maşină capabilă de a rezolva probleme aplicând


instrucţiuni definite în prealabil. Circuitele electronice ale fiecărui calculator nu pot
recunoaşte şi executa direct decât un număr limitat de instrucţiuni. Ansamblul de
instrucţiuni executate direct de un calculator formează un limbaj care permite
oamenilor să comunice cu calculatorul. Este ceea ce se numeşte limbajul maşină.
Problema care se pune în acest caz este că limbajele maşină sunt atât de primitive
încât este extrem de greoi a le utiliza. Sunt două lucruri de rezolvat în privinţa
acestei probleme, ambele vizând construirea unui nou set de instrucţiuni mai
practic de utilizat decât limbajul maşină. În ansamblu, aceste noi instrucţiuni
formează un nou limbaj care va fi numit L2, în timp ce ansamblul instrucţiunilor
corespunzătoare limbajului maşină formează nivelul L1.
Prima sarcină de executat a unui program scris în limbajul L2 este de a
înlocui fiecare instrucţiune a programului cu instrucţiunile corespunzătoare
limbajului L1 care îi sunt echivalente. Calculatorul va executa deci noul program în
limbajul L1 şi 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 să execute
direct secvenţa de instrucţiuni în limbajul L1 echivalent, după examinarea fiecărei
instrucţiuni a programului din L2. Această tehnică, cu ajutorul căreia nu mai este
nevoie să se genereze un program echivalent în L1 care va examina şi executa
fiecare instrucţiune din L2, poartă denumirea de interpretare.
Traducerea şi interpretarea se aseamănă mult. În fiecare caz, toate
instrucţiunile în L2 sunt convertite în final într-o suită echivalentă de instrucţiuni
corespunzătoare lui L1. Dar trebuie notat că în fiecare caz al traducerii, programul
scris în L2 este mai întâi convertit într-un program scris în L1; apoi programul în
L2 dispare şi programul în L1 va fi cel executat. În replică, interpretarea constă în
analizarea şi apoi executarea imediată a fiecărei instrucţiuni din limbajul L2.
Aceste două metode sunt foarte utilizate în proporţii aproximativ identice.
Pentru a simplifica lucrurile, este mai uşor de imaginat existenţa unui
calculator virtual, al cărui limbaj maşină este L2. Dacă se poate construi această
maşină la un preţ rezonabil nu va mai fi nevoie de limbajul L1 şi nici de o maşină
capabilă să execute acest limbaj. Utilizatorii vor scrie tot mai simplu programele
lor în limbajul L2 şi calculatorul va executa direct aceste programe.

1.1. Limbaje şi maşini virtuale

Limbajul şi maşina virtuală sunt într-o relaţie foarte limitată. Orice maşină prin
limbajul său formează un ansamblu de instrucţiuni de bază pe care le poate executa. Se
poate spune deci că o maşină defineşte un limbaj. Reciproc, un limbaj defineşte o
maşină şi, mai precis, un limbaj defineşte o maşină care poate executa toate programele
scrise în acel limbaj. Bineînţeles, maşina definită printr-un limbaj oarecare poate fi
extraordinar de complexă şi cu un cost prohibitiv. Dar, cu toate acestea, ea poate exista.
Introducere 13

Un calculator alcătuit din n nivele poate fi văzut ca n maşini virtuale distincte,


fiecare maşină virtuală având propriul său limbaj. Programele scrise în limbajele L2,
L3, …, Ln trebuie să fie interpretate de un interpretor având un nivel mai mic sau să
fie traduse într-un limbaj inferior. Programatorul care are programele scrise pentru o
maşină virtuală de nivelul n nu este interesat de compilatoare şi nici de
interpretoarele aflate la un nivel inferior. Nu este interesant de ştiut, în acest caz, dacă
programele sunt traduse într-un limbaj cunoscut de calculator sau dacă ele sunt
executate direct de către circuitele aflate la nivelul fizic. În ambele cazuri, se va
ajunge la acelaşi 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 (vezi figura 1.2). La
primul nivel (nivelul „subteran” –1), se află logica cablată (nereprezentat în figură).

Fig. 1.2. Prezentarea nivelelor unui calculator.


14 ARHITECTURA SISTEMELOR DE CALCUL

Nivelul 0, primul nivel care intră în alcătuirea unui calculator, poartă


denumirea de nivel fizic. Obiectele utilizate la acest nivel sunt porţi, care prin
definiţie pot fi privite ca nişte componente logice interconectate între ele. Fiecare
poartă dispune de una sau mai multe intrări logice şi întoarce ca rezultat o funcţie
simplă obţinută conform semnificaţiei de la intrare (de exemplu ŞI, SAU, NU). O
poartă este realizată cu ajutorul tranzistoarelor. Acest nivel execută instrucţiunile
limbajului microprogramat (următorul nivel ierarhic), care acţionează asupra
nivelului 0 ca nişte comenzi. De reţinut este faptul că nivelul 0 poate să nu fie
nivelul cel mai scăzut, sub el putând exista un alt nivel care poartă denumirea de
nivel componentă şi care de regulă nu apare în schema nivelurilor unui calculator.
Nivelul următor este nivelul 1 sau nivelul microprogramat. El este nivelul
limbajului intern al maşinii. Aici există un microprogram care interpretează
instrucţiunile de nivel 2 şi care este realizat cu un set restrâns de instrucţiuni simple
(în medie cam 20 de instrucţiuni), de transfer şi teste simple ale unor condiţii. Este
scris într-o memorie ROM internă, la ea având acces numai producătorul.
Deasupra nivelului 1 se află nivelul 2 sau nivelul maşinii tradiţionale.
Fiecare procesor defineşte în mod implicit un limbaj de nivel 2 şi o maşină virtuală
al cărei limbaj maşină este interpretat de un microprogram. Denumirea de nivel al
maşinii tradiţionale este dată deoarece componentele au caracteristici comune.
Aceeaşi structură fizică poate corespunde la două sau mai multe maşini dacă
microprogramul de pe nivelul 1 este scris în mod adecvat şi aceeaşi maşină
tradiţională se poate implementa prin diverse structuri fizice. Există şi excepţii:
unele calculatoare nu dispun de nivelul microprogramat (nivelul 1), în acest caz
instrucţiunile 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
instrucţiunilor care definesc limbajul 3 sunt de tip maşină. Se găsesc aici sarcini
specifice privind gestionarea memoriei şi capacitatea de executare a mai multor
programe în paralel. Acest nivel poartă denumirea de nivelul sistemului de operare.
De remarcat că nivelele 1 şi 2 nu sunt accesibile programatorului mediu. Ele
sunt necesare pentru interpretarea nivelului inferior şi sunt scrise de către specialişti.
Limbajele de nivel 1, 2 şi 3 sunt orientate către modul numeric, iar începând cu
nivelul 4 apar limbaje formate din simboluri şi 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 traducătoare.
Programele realizate în limbaj de asamblare sunt mai întâi traduse în limbaje pentru
nivelurile 1, 2 şi 3 şi apoi interpretate de maşinile reale sau virtuale corespondente.
Următorul nivel ierarhic este nivelul 5, numit nivelul limbajului de aplicaţie.
Aici se află limbaje concepute pentru a fi utilizate de către programatorii de
aplicaţii. Ele mai sunt adesea denumite şi limbaje de nivel înalt şi 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 către programe traducătoare specializate, numite compilatoare.
Introducere 15

Nivelul 6, care este şi cel mai specializat, este reprezentat de un ansamblu de


programe şi este denumit nivelul sistemelor expert. Aceste programe conţin
numeroase date pentru aplicaţii care pot aparţine de domenii diferite de lucru.
În concluzie, se poate spune că un calculator poate fi văzut ca o suită de
nivele, fiecare nivel înglobând toate nivelele precedente. Un nivel reprezintă un
grad oarecare de abstractizare şi conţine diverse obiecte şi operaţii cu aceste
obiecte. În sens ascendent creşte complexitatea prelucrării, iar în sens descendent
creşte volumul materialului prelucrat.
Ansamblul tipurilor de date, operaţiilor şi caracteristicilor fiecărui nivel
poartă denumirea de arhitectura nivelului. În particular, arhitectura calculatoarelor
şi structura lor semnifică aproape acelaşi lucru.

1.3. Etapele evoluţiei arhitecturii calculatoarelor

Cea mai mare parte a vechilor calculatoare utilizate au ieşit astăzi din uz,
ajungând piese de muzeu. Cu toate acestea, au existat câteva maşini care au avut un
rol important în evoluţia calculatoarelor. Pentru acestea se vor analiza în continuare
câteva din principalele caracteristici.

1.3.1. Generaţia 0: calculatoarele mecanice (1642-1945)

Meritul de a fi realizat prima maşină de calcul îi revine lui Blaise Pascal. În


onoarea sa a fost denumit şi primul limbaj de programare care a fost inventat.
Acest prim calculator a fost în întregime un calculator mecanic, bazat pe angrenajul
unor roţi dinţate acţionate manual, principalele operaţii care puteau fi efectuate
fiind adunări şi scăderi. Treizeci de ani mai târziu acestei maşini de calcul i-au fost
adăugate de către Leibnitz alte două noi operaţii: înmulţirea şi împărţirea.
Au urmat apoi alte asemenea maşini, dintre care poate fi amintită prima
maşină analitică. Aceasta cuprindea patru părţi: memoria (magazia), unitatea de
calcul, intrarea (cititorul de cartele perforate) şi ieşirea. Memoria dispunea de 1000
de cuvinte de 50 de cifre zecimale care puteau fi utilizate pentru stocarea variabilelor
şi rezultatelor. Unitatea de calcul prelua operanzii proveniţi din memorie, făcea
diverse operaţii asupra lor (adunare, scădere, înmulţire, împărţire) şi întorcea
rezultatul tot în memorie. Toate aceste blocuri erau în întregime mecanice.
Marea noutate a acestei maşini consta în faptul că putea citi instrucţiuni de
pe cartelele perforate şi apoi le putea trata. Unele instrucţiuni puteau comanda
maşinii să preia doi operanzi din memorie, să efectueze o operaţie asupra lor şi să
trimită rezultatul în memorie. Procesul continuă până în anul 1944, când a fost
construită prima maşină, Mark I, care avea 72 cuvinte a 23 cifre şi un ciclu maşină
de 6 secunde. A urmat îndeaproape succesoarea sa Mark II. Se poate afirma că,
practic, era electronicii începuse.
16 ARHITECTURA SISTEMELOR DE CALCUL

1.3.2. Prima generaţie: tuburile cu vid (1945-1955)

Se poate spune că al doilea război mondial a grăbit apariţia apariţiei primelor


calculatoare echipate cu componente electronice, chiar dacă acestea aveau să fie
tuburile cu vid. Primul calculator construit şi folosit a fost Enigma, folosit pentru
criptarea mesajelor care urmau a fi trimise de către armata germană prin radio
submarinelor. Nici armata britanică nu a stat cu mâinile în sân, ea reuşind să pună
la punct un calculator numit Colossus, folosit pentru decodarea mesajelor, deoarece
erau foarte multe calcule de făcut. Părintele lui Colossus a fost omul de ştiinţă
englez Alan Turing. Urmează apoi un nou model numit ENIAC. Acest aşa zis
calculator cuprindea 18000 tuburi cu vid şi 1500 de relee; cântărea peste 30 de tone
şi consuma 150 KW. Din punct de vedere al unităţii de calcul dispunea de 20
registre a 10 cifre zecimale. La foarte puţin timp după aceasta, îşi face apariţia un
nou calculator, al cărui realizator, John von Neumann, va intra în istorie, putând fi
considerat pe drept cuvânt părintele calculatoarelor actuale. Schema unei maşini
von Neumann este redată în figura 1.3.

Fig. 1.3. Schema unei maşini von Neumann.

Maşina von Neumann era alcătuită din 5 părţi: memoria, unitatea aritmetică
şi logică, unitatea de control, dispozitivele de intrare şi cele de ieşire. Memoria
dispunea de 4096 cuvinte, fiecare cuvânt având 40 de biţi (0 sau1). Instrucţiunile
cuprindeau două câmpuri: 8 biţi pentru tipul instrucţiunii şi 12 biţi pentru adresă.
Unitatea aritmetică şi logică conţinea un registru intern special numit acumulator.
Maşina nu dispunea de capacitate de calcul în virgulă mobilă. Făcând un salt peste
timp, se ajunge la modelul IBM 704 care avea aceeaşi structură cu 4 K de memorie,
instrucţiuni de 36 de biţi şi dispozitive speciale de calcul în virgulă mobilă.

1.3.3. A doua generaţie: tranzistoarele (1955-1965)

Primul calculator echipat cu tranzistoare a fost realizat în laboratoarele


Lincoln, fiind denumit TX 0 (Transistorized eXperimental Computer 0). În 1961,
apare PDP-1, o maşină de 4 K cuvinte de 18 biţi, având ciclul maşină de 5 ms. În
comparaţie cu IBM 7090, care avea un preţ exorbitant, calculatorul PDP-1 costa
Introducere 17

120.000 de dolari, fapt care a determinat vânzarea sa de către firma DEC şi deci
participarea la naşterea unei industrii mini-informatice.
În 1964, apare pe piaţă modelul 6600 al firmei CDC, o maşină aproape de 10
ori mai rapidă decât bătrânul IBM 7094. Impactul asupra publicului a fost unul
foarte puternic, numeroase firme exprimându-şi dorinţa de a cumpăra un astfel de
calculator. Diferenţa faţă de modelul IBM: o arhitectură paralelă. În concluzie,
dispunea de mai multe unităţi funcţionale capabile să execute simultan diverse
operaţii. Acest model putea executa 10 instrucţiuni în acelaşi timp.

1.3.4. A treia generaţie: 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 şi mai ieftine. În anul 1965, firma IBM, numărul unu în domeniul
informaticii, scoate pe piaţă modelul IBM 360, acesta fiind primul calculator
capabil de a simula un alt calculator. Apariţia circuitelor integrate a dus la
dezvoltarea industriei microinformaticii, prin apariţia unor noi modele, dintre care
pot fi amintite calculatorul PDP-11 realizat de firma DEC. El este asemănător cu
modelul 360 al firmei IBM, dar cu un raport performanţă/cost mult mai bun.

1.3.5. A patra generaţie: circuitele VLSI (1980-1990)

Această etapă este cea în care încep să apară primele calculatoare personale,
acest lucru fiind posibil datorită unor factori decisivi:
 perfecţionarea tehnologiei de integrare VLSI (Very Large Scale Integration);
 dezvoltarea reţelelor de calculatoare;
 diversitatea mare de modele de arhitecturi;
 apariţia conceptelor de multimedia şi de programare orientată pe obiecte.
Un pas important în această etapă a fost reprezentat de apariţia primelor
calculatoare personale realizate de firma IBM în colaborare cu Intel. Au rezultat
câteva modele care au avut o mare priză la public, dintre care IBM PS1, PS2. Un
alt mare consorţiu format din Apple şi Motorola scoate pe piaţă modelele
MacIntosh 68000, 68040. Trebuie remarcat faptul că toate aceste modele erau
calculatoare personale, deci accesibile ca preţ persoanelor fizice.

1.3.6. A cincea generaţie: prelucrarea masiv paralelă (după 1990)

Începutul generaţiei a cincea este marcată de dezvoltarea calculatoarelor cu


prelucrare masiv paralelă, de exemplu CM 2 şi CM 5 de la Thinking Machines Co.
Un element esenţial este apariţia şi dezvoltarea serviciului World Wide Web, iniţiat
de Laboratorul CERN din Geneva în colaborare cu mai multe universităţi americane.
18 ARHITECTURA SISTEMELOR DE CALCUL

În 1993, firma Intel construieşte microprocesorul cu structură superscalară –


Pentium. Apar sistemele masiv paralele cu memorie partajată şi distribuită
(Cray/MPP). Interactivitatea serviciului WWW este asigurată prin introducerea
tehnologiei Java.
Evoluţia procesoarelor a luat apoi un avânt puternic, frecvenţele de lucru
crescând în numai opt ani de la 100 MHz la peste 3 GHz, înregistrându-se în
acelaşi timp şi o îmbunătăţire a arhitecturii microprocesoarelor prin specializare,
memorie cache, paralelism (pipe-line), optimizarea algoritmilor
Este prezentat în continuare un scurt istoric al dezvoltării domeniului, cu
punctarea reperelor importante din evoluţia sa cronologică.

AN NUME SUBIECT

1642 Blaise Pascal Prima maşină de calculat mecanică


1834 C. Babbage Maşina analitică de la Cambridge cu instrucţiuni
pe cartelă perforată
1904 J.A. Flemming Dioda
1906 L. De Forest Trioda
1936 K. Zuse Primul calculator cu relee – Berlin
1943 Guvernul britanic, Primul calculator electronic cu tuburi cu vid –
cu concursul lui A. Turing Colossus
1944 H. Aiken Primul calculator american – Mark 1 (72 cuvinte a
23 cifre, ciclu maşină de 6 sec.); începutul erei
electronicii
1946 J. Mauchly şi J.P. Eckert Debutul generaţiei I de calculatoare – Eniac, Univ.
Pennsylvania (18.000 tuburi electronice, 1.500
relee, 600 comutatoare, 30 tone, 150 KW)
1948 J. Bardeen, W. Shockley, Tranzistorul
W. Brattain
1948 N. Wiener Cibernetica
1949 M. Wilkes, cu arhitectură Primul calculator cu program înregistrat, EDSAC
propusă de J. von Neumann
1951 MIT Primul calculator în timp real, Whirlwind
1951 J. Mauchly şi J.P. Eckert Primul calculator comercializat – Univac 1
1952 J. von Neumann Calculatorul IAS (Princeton) răspândeşte
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
generaţiei a doua de calculatoare (tranzistorizate)
şi a miniinformaticii
1961 Firma IBM Maşina de gestiune 1401
1962 Firma IBM Primul calculator ştiinţific puternic
(pe 36 de biţi) – IBM 7094
1963 Firma Borroughs Calculatorul B 5000 – primul calculator dedicat
unui limbaj de programare: Algol 60
Introducere 19

1964 Firma IBM Prima familie de calculatoare, IBM 360; firma


IBM preia supremaţia în informatică;
multiprogramare; începutul generaţiei a treia
(cu circuite integrate)
1964 Firma CDC Primul calculator paralel – 6600
1965 Firma DEC Primul calculator cu producţie de masă
(pe 12 biţi), PDP-8
1970 Firma DEC Minicalculatorul PDP-11, firma DEC
preia supremaţia în miniinformatică
1970 Circuite integrate pe scară largă
1971 Firma Intel Primul microprocesor de 4 biţi – 4004
1972 Firma Intel Primul microprocesor de 8 biţi – 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 biţi – 8086
1978 Firma DEC Primul superminicalculator de 32 biţi – VAX
1979 Firma Motorola Primul procesor al familiei 680x0 – 68000
1980 Firma IBM Începutul generaţiei a patra de calculatoare (cu
circuite VLSI); era calculatoarelor personale, PC
1982 Firma Intel Microprocesorul de 16 biţi – 80286
1983 S.U.A. Tehnologia LAN (Local Area Network) este
folosită pe scară largă
1984 Firma Motorola Primul microprocesor de 32 biţi – 68020
1985 Firma Intel Microprocesorul de 32 biţi – 80386
1987 Firma Motorola Microprocesorul de 32 biţi cu unitate de gestiune a
memoriei – 68030
1989 Firma Intel Microprocesorul de 32 biţi cu coprocesor şi
memorie cache – 80486
1990- Thinking Machines Co. Începutul generaţiei a cincea de calculatoare
1991 CM 2 şi CM 5 (prelucrare masiv paralelă)
1992 Laboratorul CERN, Geneva Serviciul de informaţii 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ă superpipeline –
686 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
2002 Firma Intel Microprocesorul Pentium 4 (> 3 GHz)
2002 Firma AMD Microprocesorul AMD Athlon XP 2600+
20 ARHITECTURA SISTEMELOR DE CALCUL

2003 Firma AMD Microprocesorul AMD Opteron (64 biţi)


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 Intel/AMD to be continued...

S-ar putea să vă placă și