Sunteți pe pagina 1din 9

Platform de e-learning i curricul e-content

pentru nvmntul superior tehnic


Programare n limbaj de asamblare

2. Scurt istoric al calculatoarelor
i procesoarelor (evoluie).
2

Calculatoare

Momentul iniial al istoriei calculatoarelor este, de obicei, legat de numele
matematicianului englez Charles Babbage. El a propus n anul 1839 o Main analitic, o
fascinant anticipaie a structurii calculatoarelor actuale. Ideile sale au devansat cu peste 100 de
ani posibilitile tehnologice ale vremii sale. naintea sa, n acest domeniu, au mai fost ncercrile
lui Leibnitz i Pascal (sec. XVII). Astfel, n 1642, Blaise Pascal inventeaz o main de calcul
destinat gestiunii (adunri, scderi, conversii ntre monedele europene), denumit Pascalina, ale
crei tehnologii erau asemntoare cu acelea ale ceasurilor mecanice din acel timp. n 1694,
Wilhelm Leibnitz a realizat o main de calcul, care realiza cele patru operaii aritmetice n mod
automat.
La nceputul secolului XIX (1801) Joseph Jaquard a proiectat o main de esut
(gherghef) care putea ese automat un anumit tipar. Informaia care controla ghergheful era
stocat sub forma unor guri date n cartele, astfel nct prezena sau absena gurii ntr-un
anumit loc controla comportarea gherghefului. ntr-un fel, acea cartel perforat coninea unul
din primele programe scrise vreodat.
Urmtorul moment de referin este anul 1937, cnd Howard Aiken, de la Universitatea
Harvard, a propus Calculatorul cu secven de comand automat, bazat pe o combinaie ntre
ideile lui Babbage i calculatoarele electromecanice produse de firma IBM. Construcia acestuia
a nceput n 1939 i s-a terminat n anul 1944, fiind denumit Mark I. El a fost n principal un
calculator electromecanic, fiind alctuit din comutatoare i relee. Tot n acea perioad (1943) a
fost construit i n Marea Britanie un calculator, Colossus, cu scopul de a sparge faimosul sistem
de coduri german Enigma. Ambele calculatoare au fost proiectate la universitatea Harvard, cu
sprijinul IBM.
nlocuirea releelor cu tuburi electronice a constituit un important pas nainte. n anul 1942
a fost proiectat un calculator pentru calcule numerice generale. Rezultatul a fost calculatorul
ENIAC (Electronic Numerical Integrator And Computer), primul calculator electronic digital,
proiectat la universitatea statului Pennsylvania, i construit n anii 1945-1946. El coninea circa
18.000 de tuburi electronice i executa 5.000 de adunri/s, avnd o memorie de 20 de numere
reprezentate n zecimal. Programarea sa se realiza prin poziionarea a circa 6.000 de
comutatoare, cu mai multe poziii. Pentru a introduce date i a obine rezultatele se foloseau
cititoare/inscriptoare de cartele perforate. La nceput, primele aplicaii au fost cele de calcul
balistic, apoi cele de criptologie, studiul razelor cosmice, meteorologie, ca n final s fie folosit i
la proiectarea primei bombe cu hidrogen.
O semnificaie aparte o are faptul c n arhitectura calculatoarelor Mark I i ENIAC intrau mai
multe elemente de calcul, ce lucrau n paralel la o problem comun, fiind dirijate de o singur
unitate de comand. Aceast soluie a fost aleas datorit vitezei reduse a fiecrei uniti de
calcul n parte. La versiunea urmtoare s-a renunat la aceast structur paralel de calcul,
deoarece s-a considerat c viteza unei uniti de calcul realizat cu ajutorul circuitelor electronice
este suficient. Soluia prelucrrii paralele a fost reluat ulterior, dup anii 80, pentru mrirea
performanelor unui sistem de calcul; astfel, n 1996 a fost realizat, de ctre firma INTEL, un
supercomputer ce utilizeaz peste 7000 de procesoare PENTIUM, utiliznd tehnica de calcul
paralel masiv (utilizat pentru simularea de teste nucleare, n cercetri genetice, spaiale,
meteorologice).
Primul calculator comercializat a fost UNIVAC (UNIVersal Automatic Computer), realizat pe
structura calculatorului ENIAC, n anul 1951. Acesta se baza tot pe tuburi catodice, iar
3

informaiile se introduceau pe band magnetic, la o vitez de 40.000 bii/s. n anii urmtori,
dezvoltarea calculatoarelor a cptat un ritm exploziv, la mai puin de zece ani intervenind cte o
schimbare, care a fost interpretat drept apariia unei noi generaii de calculatoare.
Procesoare
Istoria microprocesoarelor ncepe n anul 1970, prin producerea primului microprocesor
INTEL 4004, un procesor de 4 bii, care realiza calcule n BCD, cu o vitez de lucru de 60.000
operaii/s. Firma INTEL (INTegrated Ellectronics) a fost fondat spre sfritul anilor 60 de Robert
Noyce i Gordon Moore, care au plecat de la Fairchild Semiconductor; firma i-a nceput activitatea
cu fabricarea de circuite de memorie (RAM static de 64 bii 3101, primul produs). Primul
microprocesor pe 4 bii 4004, cu o putere de calcul echivalent cu aceea a calculatorului ENIAC,
avea 2.300 tranzistori, avea acces la o memorie de 4 Ko, efectua 60.000 operaii/s., la o frecven de
baz de 108 KHz.
n anul 1972, firma INTEL produce primul procesor pe 8 bii, 8008, cu un set de 48 de
instruciuni, un spaiu de adrese de 16 Koctei i o vitez de operare de 30.000 instr./s.
n anul 1974, INTEL produce microprocesorul 8080, cu un set de 72 instruciuni, un
spaiu de adrese de 64 Koctei i o vitez de lucru de 300.000 operaii/s. (de zece ori mai mare
dect 8008); o parte din circuitele auxiliare utilizate la procesorul 8008 sunt acum incluse n
structura intern a versiunii 8080. ncepnd din 1975 se produc i primele calculatoare avnd la
baz astfel de procesoare. Odat cu apariia primelor uniti de discuri flexibile (floppy disk),
produse de firma Digital Microsystems, este inventat i sistemul de operare pe disc CP/M
(Control Program for Microcomputer). Tot n aceast perioad ncep i alte firme s produc
diferite microprocesoare, cum ar fi:

Motorola, familia 6800;
MOS Technology, procesoarele 6501, 6502, utilizate n calculatoarele Apple II;
Zilog, Z80, realizat de aceeai echip care a realizat i 8080 (care a plecat de la INTEL i a
constituit noua companie).

Procesorul Z80 este o variant mbuntit a procesorului 8080, mai rapid i care, spre
deosebire de acesta, utiliza o singur tensiune de alimentare (8080 era un procesor bipolar). De
asemenea, el genera singur semnalele pentru remprosptarea memoriei dinamice. Ulterior i
firma INTEL a realizat o variant mbuntit a procesorului 8080, i anume 8085, n anul 1976.
De remarcat c, n acea perioad, o a doua surs de procesoare Intel era . . . AMD
(Advanced Micro Devices, fondat n 1969).
Proiectanii de la INTEL au urmrit dou mari obiective n proiectarea oricrui procesor:

meninerea compatibilitii totale cu procesoarele precedente;
folosirea unor noi tehnologii de fabricaie, pentru a produce procesoarele cele mai rapide i
cele mai puternice.

n anul 1979 este realizat, de ctre firma INTEL, primul microprocesor de 16 bii (8086).
Acesta a pstrat resursele procesorului 8080, pentru a pstra compatibilitatea cu softul deja scris
pentru el, dar arhitectura sa intern conine dou uniti, ce lucreaz n paralel: unitatea de
execuie EU (Execution Unit), care realizeaz prelucrarea efectiv a datelor, i unitatea de
interfa cu magistrala BIU (Bus Interface Unit), care realizeaz comunicaia cu lumea extern.
Odat cu acest procesor este produs i procesorul 8088, cu aceeai structur cu 8086, dar care
comunic n exterior printr-o magistral de 8 bii, i nu de 16 bii ca la 8086. Aparent 8088, ar
4

trebui s lucreze cu o vitez de dou ori mai mic dect 8086, deoarece magistrala sa fiind de 8 i
nu de 16 bii, trebuie s execute dou accese la memorie, fa de 8086, care va executa un singur
acces.
Lucrurile nu se ntmpl astfel deoarece unitatea BIU gestioneaz o memorie de tip
coad n care se gsesc, aproape n permanen, urmtorii 6 octei ai instruciunilor ce urmeaz
s se execute. Singurele momente n care coada trebuie reiniializat, i deci EU trebuie s
atepte efectiv citirea unei instruciuni, sunt cele care urmeaz dup execuia unei instruciuni
de salt. n acest mod diferena de vitez ntre 8086 i 8088 este doar de circa 20%.
Aceste procesoare au introdus noiunea de segmentare a memoriei (doar n modul real):
registrele de 16 bii sunt folosite ca indici de adres ntr-un segment fizic de memorie de 64 Ko;
registrele segment conin adresa de baz efectiv pentru segmentele active. Procesorul care avea
29.000 tranzistori realiza 330.000 operaii/s., la o frecven de 4,77 MHz, i putea avea acces la o
memorie fizic de 1 Mo, mprit n 640 Ko disponibili sistemului de operare i programelor
(memoria convenional) i 384 Ko pentru ROM-BIOS (memoria superioar). Arhitectura
respectiv a fost pstrat mult timp, sistemul MS-DOS fiind special conceput pentru aceasta. Pn
la sistemul de operare Windows Millenium (2000), inclusiv, pentru a putea avea acces la ntreaga
memorie a fost necesar ncrcarea driver-ului HIMEM.SYS, datorit necesitii de compatibilitate a
softului cu programele mai vechi.
O dat cu aceste procesoare apare i conceptul de coprocesor, care este un procesor dedicat,
legat direct pe magistrala microprocesorului i care extinde domeniul funciilor realizate de
microprocesor. Cel mai important coprocesor realizat de firma INTEL pentru 8086/8088 este 8087,
care este un coprocesor matematic ce realizeaz calcule n virgul mobil. Primul coprocesor
matematic a fost realizat, n 1979, de firma AMD (AMD 9511).
Tot n anul 1979, firma MOTOROLA ncepe s produc microprocesorul 68000, primul
ce lucreaz intern pe 32 bii, iar n exterior pe 16 bii, i care va echipa calculatoarele Macintosh
ncepnd din 1984 (ce vor da natere unui segment aparte de pia). Arhitectura sa difer mult de
cea a procesoarelor produse anterior, deoarece a fost proiectat fr nici un fel de restricii
referitoare la compatibilitatea cu alte procesoare din aceeai familie; obiectivul principal a fost
obinerea unui procesor puternic, care s permit executarea tuturor instruciunilor cu oricare
dintre registre, asupra oricror tipuri de date i utiliznd orice mod de adresare. Deoarece efortul
de programare a acestui procesor, n limbaj de asamblare, a fost mai mare dect la familia
INTEL, cel puin la nceput procesorul 68000 nu a fost prea rspndit. De asemenea, unitatea de
comand a procesorului, spre deosebire de cea convenional a lui 8086, este microprogramat,
fiind astfel mai uor de testat, dar are dezavantajul c este ceva mai lent. Spre deosebire de
firma Motorola, firma Intel a pstrat compatibilitatea cu versiunile anterioare a fiecrui nou
procesor realizat, tocmai pentru a utiliza softul deja existent n vederea exploatrii imediate a
noului procesor. Din acest motiv, ns, unele neajunsuri de proiectare, iniial au continuat s fie
prezente i la modelele urmtoare.
n anul 1980, firma Sinclair a realizat calculatorul Zx80, bazat pe microprocesorul Z80,
care coninea i un interpretor de BASIC. Acesta a cunoscut o foarte larg rspndire, datorit
preului sczut fa de cel al celorlalte microcalculatoare. n anul 1981, firma IBM produce
primul calculator IBM PC (Personal Computer), bazat pe procesorul 8088/8086, dotat i cu un
disc flexibil de 5 1/4". Impactul mare al acestui calculator s-a datorat i faptului c firma a
publicat schemele acestui calculator i un listing al BIOS-ului (singurul protejat de firm). n
acest mod, multe firme au realizat echipamente compatibile IBM, fcnd n acest fel reclam,
indirect, firmei IBM. Deoarece IBM a devenit un standard n domeniu, i sistemul de operare
5

MS-DOS (MicroSoft Disk Operating System) a devenit un standard pentru microprocesoarele de
16/32 bii, cum era sistemul de operare CP/M, strmoul su, pentru microprocesoarele de 8 bii.
n anul urmtor, 1982, sunt realizate microprocesoarele 80186 i 80286. Primul este de
fapt un 8086 mai rapid, prevzut cu o serie de circuite auxiliare, care a fost utilizat pentru a
realiza calculatoare compatibile cu IBM PC/XT (eXtended Technology). Al doilea a deschis
epoca calculatoarelor AT (Advanced Technology). ncepnd din anii 80, termenul de
microprocesor a fost substituit (prescurtat) cu cel de procesor, i datorit complexitii din ce n
ce mai mari a acestor chip-uri.
n schimb, procesorul 80286 reprezint o etap nou n arhitectura microprocesoarelor,
ntruct o serie de concepte clasice din domeniul calculatoarelor mari au fost transferate la
acesta: multiprelucrare i multiacces, care utilizeaz mecanisme pentru gestiunea memoriei
virtuale i pentru protecia memoriei atribuite unui proces. Spaiul de memorie fizic este i el
mrit de la 1 Moctet, la 8086, la 16 Moctei, la 286. Pe baza acestui procesor s-a realizat
calculatorul IBM PC AT.
Odat cu acest procesor, 80286, a aprut termenul de mod protejat. Acest nou mod de lucru
utilizeaz coninutul registrului segment (nu ca adres de baz a segmentului, ca n modul real) ci
ca un selector (index) ntr-o tabel a descriptorilor de segmente. Un descriptor de segment
conine adresa fizic de baz a segmentului (pe 24 de bii, oferind deci un spaiu de memorie de
16 Mo). Mecanismele de protecie a memoriei cuprind:

verificarea depirii limitei adresabile a unui segment;
segmente ce pot fi doar citite;
segmente ce pot fi doar executate;
opiuni (drepturi) de acces ntr-un segment;
patru niveluri de protecie a codului sistemului de operare de programele de aplicaie i cele
utilizator;
mecanismele de comutare de task-uri i tabelele descriptorilor locali, care permit sistemului de
operare s protejeze aplicaiile sau programele utilizator unele de altele.

n anul 1983 este realizat i primul mediu de programare, constituit dintr-un editor i
compilator aflate n interaciune, adic Turbo Pascal, de ctre firma BORLAND.
Primul procesor de 32 bii al firmei INTEL apare n anul 1986, i este numit 80386, pe
scurt 386, avnd 275.000 tranzistori i 132 pini. Acesta poate adresa un spaiu de adrese de 4
Goctei, pentru un singur segment, ajungnd pn la 64 Toctei de memorie virtual. Procesorul
posed aceleai faciliti ca i 286, dar dispune, suplimentar, de memorii interne rapide, fiind
compatibil, la nivel de cod main, cu predecesorii si. Toi urmaii si, de la 486 pn la
Pentium 4, se bazeaz pe aceeai arhitectur, numit IA-32. Procesorul a avut dou variante:
386DX i 386SX, diferena fiind c al doilea comunica cu memoria doar pe 16 bii, n rest fiind
identic cu primul. Ca i 286, el adreseaz memoria pe 24 bii, spre deosebire de cei 32 ai lui
386DX, deci poate adresa doar 16 Mo, fa de cei 4 Go ai lui 386DX.
Procesorul 80386 a introdus registre de 32 de bii pentru folosirea lor att la operanzi, ct i
pentru adrese. De fapt ultimii 16 bii din registrele de 32 de bii reprezint registrele de 16 bii,
corespunztoare procesoarelor precedente, pentru a asigura o compatibilitate total cu acestea.
Setul de instruciuni de baz a fost mbogit cu noile moduri de adresare pe 32 de bii i cu un
numr de noi instruciuni. La acest procesor apare implementat conceptul de paginare, pentru
adresarea memoriei, cu pagini de dimensiune fix de 4 Ko, care ofer o metod de implementare a
memoriei virtuale, mai bun dect segmentarea.
n plus, posibilitatea de a defini segmente de lungime egal cu spaiul de adresare, mpreun cu
6

mecanismul de paginare, permit crearea unui sistem de adresare liniar protejat, mod folosit de
sistemul de operare UNIX.
Pe lng acestea s-au dezvoltat, n arhitectura procesoarelor, tehnici de procesare (prelucrare)
paralel. Astfel dac la 8086 erau doar dou uniti funcionale care lucrau n paralel, structura
procesorului 286 conine 4 uniti funcionale ce lucreaz n paralel, n timp ce procesorul 386
conine 6 uniti funcionale ce lucreaz n paralel. Cele 6 uniti funcionale sunt:

Unitatea de interfa cu magistrala (BIU-Bus Interface Unit), care realizeaz accesul la
memorie i la porturile de intrare/ieire, pentru celelalte uniti;
Unitatea de citire n avans a instruciunilor (Code Prefetch Unit), care ia codul obiect (codul
instruciunii) din memorie, i l depune ntr-o coad de 16 octei;
Unitatea de decodificare a instruciunii (Instruction Decode Unit), care decodific codul obiect
din coada de instruciuni n microcod;
Unitatea de execuie (Execution Unit), care execut microcodul furnizat de unitatea de
decodificare;
Unitatea de translatare a adreselor (Segment Unit), care translateaz adresele logice n adrese
liniare i realizeaz verificrile de protecie;
Unitatea de paginare (Paging Unit), care translateaz adresele liniare n adrese fizice i
realizeaz verificrile de protecie legate de pagini. Aceast unitate mai conine un cache cu
informaii de lucru pentru cel mult 32 de pagini, cele mai recent accesate.

Coprocesorul lui 386 (387) este i el mbuntit, adugndu-i noi operaii, cum ar fi funciile
trigonometrice.
O variant mbuntit a acestui procesor este 80486, produs n anul 1989, care este la fel cu 386
dar include n aceeai capsul (chip) i coprocesorul matematic, fiind de cel puin dou ori mai rapid
dect un 386, la aceeai frecven. La acest procesor s-a dezvoltat paralelismul execuiei prin
expandarea unitilor de decodificare a instruciunii i de execuie ntr-o band de asamblare
(pipeline) cu cinci nivele, n care unitatea fiecrui nivel opereaz n paralel fa de celelalte, putndu-
se executa, n acest mod, cinci operaii n paralel. Fiecare nivel din banda de asamblare i realizeaz
sarcina corespunztoare pentru execuia unei instruciuni pe durata unui impuls de tact (ceas). n
plus, fa de 386, procesorul Intel 486 are un cache intern de date i de instruciuni, de nivel L1 (L1
cache) de 8 Ko, pentru a mri procentul instruciunilor care se pot executa la viteza maxim (de o
instruciune pe impuls de ceas, incluznd i instruciunile cu acces la memorie, care au operanzii n
cache-ul de date).
Procesorul 486 a cunoscut i el dou variante: 486DX i 486SX, cea de-a doua mai ieftin, dar
fr coprocesor inclus (de fapt, coprocesorul era doar dezactivat sau defect; acest procesor a fost
mai degrab un produs de pia dect o nou tehnologie). Procesorul 486DX avea 1.2 milioane
tranzistori, cu frecvene ntre 25 i 50 MHz, funcionnd la 5V, 168 de pini. Unele procesoare
ncorporeaz caracteristici pentru reducerea consumului sau pentru controlul sistemului, cum ar
fi procesoarele Intel 386SL sau 486SL, care sunt specializate pentru sistemele portabile,
alimentate de la baterii.
Dac la primele procesoare din familia Intel x86 s-a utilizat o arhitectur complex,
denumit arhitectur CISC (Complex Instruction Set Computer), ulterior, ncepnd cu procesorul
486, prin utilizarea conceptului de band de asamblare (pipeline), arhitectura acestor
procesoare se apropie de o structur RISC. Cercetrile au artat c o suit de instruciuni simple
se poate executa mai rapid dect o singur instruciune complex, iar diminuarea numrului de
comenzi i a complexitii lor permite reducerea spaiului utilizat de acestea n procesor, avnd
ca i consecin creterea vitezei de lucru.
7

Arhitectura RISC (Reduced Instruction Set Computer) a fost dezvoltat ncepnd din anii
70. Setul de instruciuni ntr-o main RISC, dup cum o spune i numele, const doar din
instruciuni simple, cu moduri de adresare limitate. Ideea de baz a fost ca, n locul unei
sumedenii de operaii, procesorul s ofere un set restrns de operaiuni, pe care le poate executa
foarte rapid. Cele mai multe instruciuni se execut ntr-un singur ciclu. Arhitectura unui
procesor Pentium este de tip RISC. Compilatoarele genereaz secvene de instruciuni complexe
corespunztoare. Pe lng setul redus de instruciuni, procesoarele RISC mai ofer urmtoarele
avantaje:

operaii cu registre, minimiznd astfel necesarul de operaii de acces la memorie;
memorie cache integrat pe chip, evitndu-se lucrul lent cu memoria;
un model pipeline, pentru a permite procesarea mai multor instruciuni ntr-un ciclu.

Dezavantajul procesoarelor RISC este c, posednd un set mai mare de registre, operaiile
de multitasking (multiprelucrare) necesit comutri de multe registre.

Ulterior firma INTEL a produs, n anul 1994, i un procesor pe 64 bii, denumit PENTIUM,
tocmai pentru a-l deosebi de procesoare cu aceeai structur produse de alte firme, i denumite
586, Intel realiznd c nu va putea niciodat transforma un numr (586) n marc de comer.
Acest procesor, care marcheaz nceputurile generaiei P6, a adugat o a doua band de
asamblare de execuie pentru a se obine performane superioare (cele dou benzi de asamblare,
denumite U i V, pot lucra n paralel, executnd dou instruciuni pe un impuls de tact). De
asemenea, a fost dublat i memoria cache intern, avnd acum cte un cache pentru date i unul
pentru cod, fiecare de cte 8 Ko.

1994, Pentium, 2 benzi (u,v), cache L1 separat 8Ko date + 8Ko instr., BTB(Branch Target
Buffer), mag int 128 bii, APIC (Advanced Programmable Interrupt Controller); P6.
1996, Pentium Pro, superscalar pe 3 ci, execuie dinamic (analiz flux, execuie n orice
ordine, predicie salt, execuie speculativ), 5 unit exec, L1 + L2 (256 Ko)
1997, Pentium MMX (8 reg 64 bii, 3 tipuri de date noi mpachetate de 8-16-32 bii), 57 instr.
noi, SIMD (Single Instruction Multiple Data), L1 dublat, alg. predicie mb.
1998, Pentium II = Pro + MMX, SECC (Single Edge Contact Cartridge);
1999, Pentium III = II + arh. SSE (Streaming SIMD Extension), 70 instr., 4*32 bii (virgul
mobil, simpl precizie)= 128 bii.
2001, Pentium 4, extinde SIMD, SSE 2, pt. real dubl precizie, NetBurst (MP, Hyper-
Threading, superband-20 nivele/ fa de 12 la PII/ PIII), L1: 8Ko date + 12 K micro-operaii
trace cache.
2001, arhitectura Itanium, extindere a execuiei paralele, predictive i speculative; L3 (2 sau
4 Mo), L2 (96 Ko, linie 64 oct., 6 ci).
2002, Itanium 2 mrete performana de 1.5-2 ori.
Procesoare INTEL:
familia P6 (1995-1999): Pro, II, III
band de asamblare superscalar (2-3 instr/ciclu);
extensia SSE, set 8 registre, XMM, pe 128 biti (real-sp) + reg. control/stare de 32
bii;
familia Pentium 4 (2000-2006)
8

micro-arh NetBurst (viteza dubla UAL/intregi, executie dinamica avansata, imb
alg predictie, expandare reg cu redenumire, dim cache 64 octeti;
SSE2, set registre pe 128 biti (real-dp, intregi), instruciunile utiliz. reg. XMM,
MMX i reg. gen;
procesoarele Xeon i Pentium Extr Ed (2001-2007)
micro-arh NetBurst, tehnologia Hyper-Threading, 64 bii;
instruciuni SSE3 (virg. mobil, sincronizare multi-thread), SSSE3-Supplemental
Streaming SIMD Extensions (instr. accelereaz prel. semnal i MM), SSE4 cu 2
componente: SSE4.1-media, imagine, 3D i SSE4.2-prel text/string, 128 bii.
Microarhitectura Intel Core :
Execuie dinamic larg
fiecare nucleu (core) fetch, decod, execut 4 instr/ciclu;
Band asamblare 14 niveluri, 3 UAL, 4 decod, predict av;
Cache inteligent avansat
rat mare pentru nivel 2 cache: < 4M i asociativitate pe 16 ci;
mag intern 256 bii pentru transferul L1-L2;
Acces la memorie inteligent
reduce cache-miss pentru execuia n orice ordine;
hard prefetch ce reduce latena pt cache-miss la L2;
hard prefetch ce reduce latena pt cache-miss la L1;
mb. prelucrrii de date media digitale
execuie pe singur ciclu pt. maj. instr. SIMD pe 128 bii;
execuia pn la 8 operaii n virgul mobil/ciclu


Procesoarele iniial dezvoltate ca uni-core
Procesor multi- core (Intel Core Duo, cu 2 core-uri, Intel 2010 core, cu 4 core, Intel Core
i7 Ultimate, cu 6 core):
implementeaz multiprocesarea
pot fi puternic sau slab cuplate:
partajeaz memorie cache
comunicaie prin mesaje sau memorie partajat inter-core
Performana limitat de procentul de soft ce poate fi paralelizat s ruleze simultan pe
coruri multiple
9

Unele metode de paralelism la nivel instruciune (ILP) precum asamblarea superscalara
sunt adecvate
Consum mai mic dect dou procesoare single-core cuplate, nemaifiind necesar
transmitere semnale n afara procesorului
Procesoarele multi- core partajeaz aceleai circuite: cache L2, interfaa cu FSB(Front
Side Bus);
Necesit ajustri att ale SO ct i ale softului aplicaiilor curente;
Softul multi-thread mai greu de depanat, dar tehnicile de programare paralel pot
beneficia direct de multiple core-uri.
Administrarea concurenei:
partiionare/ descompunere problem n taskuri,
Comunicare ntre taskuri,
Aglomerare versus combinare taskuri pentru a furniza un numr mai mic de
taskuri, fiecare de o dimensiune mai mare (replicare date sau calcule, pentru
eficien),
Maparea specific unde se execut fiecare task