Sunteți pe pagina 1din 28

Microprocesorul

Descriere generala

Microprocesorul: este o componentă electronică ce poate procesa


două tipuri de informaţie: date şi comenzi; el primeşte şi trimite aceste
informaţii, codate în limbaj binar, prin impulsuri electrice.
     În ciuda complexităţii sale, microprocesorul este alcătuit în principal dintr-
un singur element de bază: tranzistorul (inventat în 1947). Asamblând
milioane de tranzistori, se pot crea comenzi ce analizează starea unor curenţi
electrici, rezultând în execuţia pe plan logic a unei adunări, a unei comparaţii
între două date etc. Mărimea unui astfel de tranzistor este foarte redusă, de
ordinul miilor de atomi. Toate componentele calculatorului, inclusiv procesorul
si memoria, sunt sincronizate de impulsurile unui generator de tact.
     Când vorbim despre procesoare, ne gândim automat la CPU (Central
Processing Unit), însă majoritatea componentelor dintr-un PC sunt dotate cu
microprocesoare, acestea controlând placa de sunet, de reţea sau placa
grafică (unde este folosită denumirea de GPU - Graphic Processing Unit,
procesor ce rivalizează în număr de tranzistori cu un CPU). Circuitele
procesoare ale componentelor şi perifericelor sunt atât de specializate încât
nu pot comunica direct între ele; în schimb, ele depun informaţiile utile în
zone specifice ale memoriei, de unde procesorul le poate extrage, prelucrând
şi coordonând activitatea acestora. Deoarece toate informaţiile tranzitează
obligatoriu CPU-ul, puterea globală de calcul a calculatorului va depinde de

1
acesta. În contrast, CPU-ul este un procesor cu un grad mai redus de
specializare şi, prin urmare, cu o arie foarte largă de utilizare.
     Emularea sarcinilor celorlalte componente din sistem este o practică des
întâlnită atunci când acestea din urmă nu dispun de resursele necesare; de
exemplu, dacă placa grafică nu deţine funcţii capabile pentru afişarea de
imagini tridimensionale în jocuri, CPU-ul va prelua această sarcină.
Rezultatele sunt, însă, foarte slabe, fiind realizate compromisuri imense de
viteză şi calitate, procesorul central nefiind specializat pe astfel de calcule.

Arhitectura internă
      Arhitectura internă se împarte schematic în trei mari blocuri de
tranzistori, numite şi unităţi:
1) Unităţile de calcul:
- unitatea aritmetică (ALU - Aritmetic Logical Unit), este cea mai
importantă, fiind utilizată de toate programele; se ocupă numai de calculele
simple, cu numere întregi;
     - unitatea de calcul în virgulă mobilă (FPU - Floating Point Unit), era la
origine un procesor independent (seria 8087, 80287, 80387) dar a fost
integrată în procesorul principal în 1989, odată cu apariţia lui 80486; aceasta
este capabilă de operaţii matematice cu virgulă mobilă, precum şi de altele
mai avansate, cum ar fi funcţiile trigonometrice;
     - unitatea multimedia, nestandardizată; prima astfel de unitate a fost
MMX, în 1997, urmată apoi de 3DNow, SSE, 3DNow+, SSE2 şi SSE3;
funcţia lor este aceea de a optimiza programele multimedia (sunet, grafică
3D, efecte audio-video).
     2) Unităţile de control, care se ocupă cu decodarea instrucţiunilor,
accesul la memoria RAM, stabilirea priorităţilor de calcul etc.

2
     3) Unitatea de memorie cache, împărţită în două subunităţi: una pentru
comenzi, cealaltă pentru date; memoria cache stochează comenzile şi datele
cele mai des utilizate.

Caracteristicile procesorului

a) Frecvenţa

     Cea mai comună proprietate a unui procesor este frecvenţa de tact, aflată
în relaţie directă cu puterea sa de calcul. Unitatea de măsură a frecvenţei
este ciclul pe secundă sau Hertz-ul. O viteză de 400 MHz face ca
microprocesorul să poată prelucra 400 de milioane de semnale binare (0, 1)
pe secundă. Creşterea frecvenţei microprocesorului este o metodă
importantă de a creşte performanţele.
     În ultimii ani, din cauza creşterii masive a consumului de putere (fapt care
ducea atât la supraîncălzirea componentelor, cât şi la creşterea facturilor la
energia electrică), s-a pus accentul pe crearea altor metode de creştere a
vitezei, astfel încât bariera de 4 GHz nu a fost atinsă.
     Datorită diferenţei de arhitectură dintre diferitele generaţii de procesoare,
puterea de calcul poate varia în cazul a două procesoare cu aceeaşi
frecvenţă dar aparţinând unor generaţii diferite. De aceea, capacitatea de
calcul a unui Pentium 100 MHz ar fi apropiată de cea a unui ipotetic 486 la
200 MHz. Un exemplu recent îl constituie procesoarele bazate pe arhitectura
Intel Core, ce rulează la frecvenţe de ordinul a 2 GHz, dar depăşesc în
performanţă vechile Pentium 4 ce aveau un tact de peste 3 GHz.
     Frecvenţa unui procesor este direct legată de mărimea circuitelor interne.
Fabricantul trebuie să găsească un echilibru în reducerea dimensiunii
circuitelor; scăderea acestora provoacă reducerea căldurii disipate şi, dacă
tehnologia este bine stăpânită, permite creşterea frecvenţei de lucru; pe de
altă parte, frecvenţa mare determină automat şi o temperatură ridicată.

3
b) Memoria cache

  Memoria cache este o memorie de mare viteză, inclusă în totalitate în


procesor (la modelele actuale) sau pe placa de bază (la cele mai vechi), care
păstrează informaţiile şi datele cele mai recent utilizate. Aceasta este
împărţită pe mai multe nivele (levels), în funcţie de „distanţa” faţă de unitatea
de calcul. Astfel, memoria cache level 1 poate fi accesată imediat, cu stadii
minime de aşteptare, deoarece lucrează la viteza procesorului, fiind strâns
legată de nucleul acestuia. Memoria cache level 2 este de obicei mai mare şi
a cunoscut o evoluţie marcantă; iniţial, ea a fost încorporată pe placa de bază
şi oferea o viteză mică; apoi a fost alăturată procesorului, funcţionând la o
viteză fracţionată dar comparabilă cu acesta; în final, ea a fost integrată în
pastila de siliciu a acestuia, având astfel o viteză egală cu cea a CPU-ului.
Avantajul memoriei cache constă în reducerea timpilor de aşteptare, deci în
creşterea vitezei de lucru, deoarece memoria RAM a sistemului este mult mai
lentă decât procesorul.
     Avantajul memoriei cache (level 1 sau level 2) se poate observa uşor,
dezactivând-o din BIOS (dacă el permite acest lucru). Ca fapt divers,
eliminarea L1 cache-ului din orice procesor, oricât de modern ar fi, chiar dacă
rulează la 1 sau 2 GHz, chiar dacă deţine memorie L2 cache integrată şi de
dimensiune mare, va produce scăderea performanţelor până aproape de
nivelul unui 486.
     Există mai multe tipuri de memorie cache, diferind în funcţie de arhitectura
procesorului.

c) Arhitecturile RISC şi CISC

 Aceste arhitecturi definesc felul în care comenzile sunt executate în


microprocesor. Arhitectura CISC (Complex Instruction Set Computer) a stat la
baza primelor modele. Cu timpul, cercetătorii au constatat faptul că o suită de
instrucţiuni simple se poate executa mai rapid decât o singură instrucţiune

4
complexă, iar diminuarea numărului de comenzi şi a complexităţii lor permite
reducerea spaţiului utilizat de acestea în procesor, având ca şi consecinţă
creşterea vitezei de lucru, astfel apărând arhitectura RISC (Reduced
Instruction Set Computer). Procesoarele uzuale din ziua de azi au la bază o
combinaţie a celor două arhitecturi.

d) Execuţia super-scalară, procesoare multi-core

     Super-scalar înseamnă posibilitatea de a executa mai multe instrucţiuni


simultan prin integrarea mai multor unităţi de calcul. Primul procesor super-
scalar din lumea PC-urilor a fost Pentium; acesta integra două ALU
(Arithmetical Logic Unit).
     O extensie a acestui concept o reprezintă includerea mai multor nuclee
într-un singur procesor; practic, avem două procesoare ce prelucrează
instrucţiunile şi datele în paralel (aproape dublând performanţa în aplicaţiile
optimizate pentru acest mod de lucru) dar care sunt încapsulate într-un singur
element pe care îl numim generic „procesor”.

     e) Unelte de dezvoltare (software)

Puterea unui procesor este inutilă dacă nu există programe care să-l
exploateze la maxim. Programele sunt scrise cu ajutorul limbajelor de
programare, dar progresul lor este relativ lent faţă de evoluţia procesoarelor,
ceea ce atrage un decalaj cvasi-permanent între hardware şi software. De
exemplu, primul compilator care exploata eficient procesoarele Pentium şi
Pentium II, o versiune a lui Visual C++, a apărut în 1999, abia după doi ani de
la lansarea lui Pentium II şi la şase ani după apariţia lui Pentium.
     Chiar dacă puterea de calcul a procesoarelor a crescut de mii de ori în
ultimii 20 de ani, nu înseamnă că un program de editare de text este de mii
de ori mai rapid. O mare parte din această putere de calcul a fost transmisă
către funcţii din ce în ce mai numeroase şi mai complexe, utile de exemplu în
aplicaţii multimedia.

5
PROCESORUL - FUNCTIONARE
Componenta ce are rolul de a dirija celelalte dispozitive , de a împarti
sarcini fiecareia , de a coordona si verifica executia sarcinilor primite . Un
calculator nu poate functiona fara procesor . Deloc . Procesoarele au avut
evolutie rapida de la 8088,8086…80486 , productia fiind asigrata în principal
de firma Intel , printre primii producatori de procesoare destinate utilizatorilor
privati . Alte firme producatoare sunt AMD , Cyrix , ITD . Procesoarele
produse de AMD si Cyrix sunt mai ieftine decât cele produse de Intel si au o
arhitectura compatibila cu cele produse de Intel , însa se dezvolta separat .
Procesorul i386 a fost primul processor care a inclus 6 faze de executie
paralela , la procesorul 80486 s-a dezvoltat mai mult paralelismul executiei
prin expandarea unitatilor de decodificare a instructiunii si de executie într-o
banda de asmblare (pieline) cu cinci nivele , astfel ajungându-se la 11 faze
paralele . În plus , procesorul 486 are un cache intern de date si instructiuni
de nivel L1 de 8Ko pentru a mari procentul instructiunilor ce pot fi executate
la viteza de o instructiune pe impuls de tact . La acest processor a fost pentru
prima data integrata unitatea de calcul în virgula flotanta (coprocesorul) în
acelasi cip cu CPU-ul .
Amd a lansat în aceeasi perioada procesorul 486 DX5 cu frecvente
pîna la 133 , fara prea mult success. Surprinzator , dupa 486 nu a urmat 586 ,
decât pentru Cyrix si AMD . Intel a decis sa schimbe formatul numelui trecând
la Pentium .
Procesorul Pentium a adaugat o a doua banda de asamblare pentru a
obtine performante superioare (cele doua benzi de asmblare (U,V) pot
executa doua instructiuni pe un impuls de tact); memoria cache s-a dublat ,
existând un cache de 8 Ko pentru cod si unul similar pentru date . Pentru
îmbunatatirea executiei ramificatiilor din programe s-a implementat conceptul
de predictie a salturilor, introducându-se un tabel pentru memorarea
adreselor cele mai probabile la care se fac salturile . Registrele principale au

6
ramas pe 32 de biti , caile interne fiind pe 128 sau 256 de biti , magistrala de
date externa – 64 biti . Procesorul Pentium are integrat un controller de
întreruperi avansat (APIC) folosit în sistemele multiprocessor .
Amd a lansat într-o perioada intermediara procesorul 586 , apoi K5 .
dupa 586 pentru Cyrix urmând 6x86 .
Amd si Cyrix au ramas multa vreme într-un con de umbra al lui Intel ,
mai ales ca procesoarele intel Pentium (lansate la frecvente de 75Mhz) s-au
dezvoltat rapid , de la frecventa de 166 Mhz fiind adaugate instructiunile MMX
(-un set de 57 noi instructiuni , patru tipuri noi de date si un nou dst de
registrii pentru a accelera performantele aplicatiilor multimedia si de
comunicatii ; MMX se bazeaza pe o arhitectura SIMD (Single
Instruction,Multiple Data) , permitând imbunatatirea performantelor aplicatiilor
ce folosesc algoritmi de calcul intensivi asupra unor mari siruri de date simple
(procesoare de imagini 2D/3D) . Dupa Pentium urmeaza Pentium Pro care
are o arhitectura superscalara pe trei cai- poate executa trei instructiuni într-
un impuls de tact având un cache L2 de 256 Kb strâns legat de CPU printr-o
magistrala dedicata pe 64 de biti. Procesoarele Pentium si Pentium Pro au
fost dezvoltate pâna la frecvente de 233 Mhz , urmatorul pas fiind Pentium II
(este un PentiumPro cu MMX) si Pentium III.
Revenind la AMD , a lansat procesorul Amd K6 ce avea în plus 32kb
cache level 1 fata de K5 . Urmatorul pas a fost AMD K6-2 , care a dat o
replica MMX-ului de la Intel cu un set de instructiuni numite !3D NOW ;
trebuie amintit ca si procesoarele K6 au înglobat instructiuni MMX frecventa
maxima atinsa fiind de 500Mhz . AMD K6-3 înglobeaza 256kb level 1 cache
ceea cea aduce un spor de viteza substantial
Cyrix a ramas în urma , unui 6x86 la 200Mhz corespunzându-i un
Pentium la 150Mhz , pe când la AMD seria K6 –K62 a fost extrem de reusita ,
depasind pe alocuri procesoarele Intel la frecvente echivalente .
Fiecare processor din seria x86 este compatibil fizic cu placa de baza ,
astfel procesoarele se introduc într-un soclu de pe placa de baza , ce are un

7
numar standard de pini (321) . Pentru a descuraja concurenta , Intel a
schimbat modul de conectare a procesoarelor Pentium II-III , conectarea la
mainboard facându-se printr-un nou tip de soclu – Sec – Slot 1 ; Intel nu a dat
drept de productie (licenta) a acestui soclu firmelor AMD si Cyrix. Ca replica ,
AMD a conceput procesorul AMD K7 , ce concureaza direct Pentium II prin
frecvente de pana la 900Mhz si cache level 2 –512Ko,pentru un nou tip de
soclu – Slot A .
Succesul pe piata al procesoarelor Intel a fost datorat faptului ca fiecare
nou procesor îngloba functiile precedentului (astfel un Pentium II este capabil
de executa cod scris pentr 386) , caracteristicî intalnitî rar la început (1980) .
Procesoarele Sparc , Alpha , Dec , Risc sunt extrem de scumpe , incompatile
cu codul x86 , ele fiind în proiectate pentru aplicatii paralele , volum mare de
calcul, sisteme multiprocessor . Firma SPARC a lansat de curînd procesorul
pe 64 biti UltraSparc la 1,5 Ghz .
Trebuie amintit ca un calculator poate avea unul sau mai multe
procesoare . Placile de baza ‘normale’ permit prezenta unui singur procesor ,
însa sunt producatori ce ofera optiunea de ‘dual processor’ . Astfel în
sistemele produse de Digital , HP se pot întâlni între 2-8 procesoare .
Problema este ca numai anumite sisteme de operare stiu sa foloseasca
multiprocesarea (Linux , SunOs , Unix , WindowsNT) . Astfel în Windows 9x
prezenta unui processor suplimentar nu va influenta cu nimic performanta
sistemului . Sistemele multiprocessor sunt folosite în servere sau în statii de
lucru cu flux mare de date (CAD , GIS , etc) . Un alt motiv de a folosi un
sistem multiprocessor este securitatea oferita . Astfel în cazul unei defectiuni
produse la unul din procesoare conducerea va fi luata de celalalt .

8
FAMILII DE PROCESOARE

IV. 1. Familia de procesoare Intel

Familia Intel x86 cuprinde mai multe tipuri de procesoare lansate de


firma Intel incepind din 1978 si pina in prezent (1999). In tabelul de mai jos
sunt prezentate procesoarele familiei impreuna cu principalele caracteristici
de performanta.

Tip Anul Latim Latime Spatiu Alte caracteristici


lansar e mag. de de
ii regist date/adr adresa
re ese re
(biti) fizic/vir
t.
8086 1978 16 16/20 1Mo primul procesor pe 16 biti

8088 1980 16 8/20 1Mo procesorul folosit pentru


primul IBM –PC
80186 1982 16 16/20 1Mo 8086 cu suport I/O pe cip
80286 1982 16 16/24 16Mo procesor pentru IBM-
PC,varianta AT
80386 1985 32 32/32 4Go/6 primul procesor pe 32 de
4To biti

9
80486 1989 32 32/32 4Go/6 incorporeaza coprocesorul
4To matematic si unitatea de
management a memoriei
Pentium 1992 32 64/32 4Go/6 arhitectura pipeline
4T superscalara
Pentium 1995 32 64/32 4Go/6 primul reprezentant al
Pro 4T familiei P6 – realizeaza
executia dinamica a
instructiunilor
Pentium 1997, 32 64/32 4Go/6 facilitati suplimentare de
II, si III 1999 4T control al consumului

Ceea ce face din aceste procesoare o familie este compatibilitatea


arhitecturala de jos in sus, adica un program scris pentru o versiune mai
veche de procesor se poate executa pe orice versiune ulterioara fara
modificari. Aceasta compatibilitate este necesara din mai multe considerente:
- programele scrise pentru o anumita versiune de procesor pot fi
reutilizate pentru versiunile mai noi; firmele de software pot sa investeasca
mai mult pentru dezvoltarea unui program, bazindu-se pe pastrarea
compatibilitatii
- programatorii sunt familiarizati cu o structura hardware relativ stabila;
modificarile hardware se mentin pe cit posibil transparente pentru
programatori si vizeaza mai ales aspecte de performanta (ex: executia mai
rapida a instructiunilor)
Mentinerea compatibilitatii, insa, impune anumite restrictii care uneori
pot sa limiteze performantele noilor versiuni (ex: numarul de registre interne,
spatiul de adresare maxim, dimensiunea registrelor, etc.). In aceasta lucrare
se prezinta cu precadere acele aspecte arhitecturale care s-au pastrat in
decursul timpului la versiunile familiei Intel x86.

Componentele de baza

10
Procesorul I8086 (primul lansat din familie) contine doua unitati
functionale autonome: unitatea de executie (EU – Execution Unit) si unitatea
de interfatare a magistralei (BIU – Bus Interface Unit); ulterior functionalitatea
acestor unitati a fost divizata pe mai multe unitati si s-au adaugat altele ca de
exemplu: unitatea de decodificare a instructiunilor, unitatea de segmentare si
de paginare, unitatea de management a memoriei cache si procesorul de
virgula flotanta. In figura urmatoare s-au reprezentat aceste componente in
structura procesorului I8086.

Registrele generale, notate cu AX, BX,CX, DX, SP, BP, DI si SI sunt utilizate
pentru pastrarea temporara a datelor in vederea efectuarii de operatii
aritmetico-logice; registrele SP, BP, DI si SI pot fi utilizate si pentru adresarea
memoriei, iar DX pentru adresarea porturilor de intrare/iesire. Lungimea lor
este de 16 biti. Incepind de la versiunea ‘386 aceste registre au fost extinse la
32 de biti (denumirea noua: EAX, EBX, ..). Primele 4 registre pot fi adresate

11
la nivel de octet (ex: AL, AH), cuvint (ex:AX, BX) sau dublu-cuvint(EAX,
EBX).Celelalte se adreseaza pe cuvint sau dublu-cuvint. Pentru anumite tipuri
de operatii se utilizeaza in mod implicit anumite registre.
Registrul de stare program PSW: - contine indicatori de conditie (bistabile)
a caror stare se modifica in urma executiei unor instructiuni. Acesti indicatori
se pot utiliza pentru instructiunile de salt conditionat sau pentru a determina
un anumit regim de executie a unui program.
Registrele segment, notate cu CS,DS,ES si SS sunt folosite pentru
generarea adresei de memorie pentru instructiuni si date, prin procedeul de
segmentare. Incepind de la versiunea ‘386 s-au mai adaugat inca 2 registre
segment: FS si GS.
Registrele speciale IP, RI sunt registre folosite pentru executia
instructiunilor, dar la care programatorul nu are acces direct.
Registrele de control: - sunt registre pentru controlul regimului de lucru al
procesorului sau pentru controlul unor functii speciale (ex: segmentare,
paginare, memorie cache). Aceste registre pot fi accesate numai in anumite
conditii , de catre programe privilegiate.
Unitatea aritmetico-logica: efectueaza operatiile matematice si logice
specificate prin instructiuni. Operanzii pot fi continuti in registre interne si
locatii de memorie. Continutul porturilor de intrare/iesire nu se poate utiliza in
mod direct la operatii aritmetico-logice. Operatiile se pot efectua pe octet , pe
cuvint (16 biti) sau pe dublu-cuvint (32 biti), in reprezentare intreaga fara
semn sau in compement fata de 2 (C2). Pentru operatii in virgula flotanta se
utilizeaza
Coprocesorul matematic. Initial aceasta unitate era un circuit separat de
procesor, dar ulterior ( incepind cu ‘486) ea a fost inclusa in structura
procesorului.
Unitatea de adresare: asigura calculul adresei operanzilor pe baza modului
de adresare specificat in instructiune. Pentru adresare se utilizeaza registrele
segment si anumite registre generale (ex: SI, DI, SP, BP, BX). La variantele

12
mai noi exista unitati specializate pentru segmentare si paginare, care
impreuna ofera suportul necesar pentru implementarea memoriei virtuale.
Unitatea de interfatare a magistralei: asigura legatura intre componentele
interne ale procesorului si modulele sistemului de calcul, externe procesorului
( module de memorie si interfete de intrare/iesire); contine amplificatoare de
magisrala pentru liniile de date, adrese si comenzi, si circuite de control al
transferului de date pe magistrala.

Executia instructiunilor

Un program executabil contine coduri de instructiuni in limbaj masina si


date. Pentru a putea fi executat programul ( sau cel putin secventa in curs de
executie) trebuie sa se afle in memoria calculatorului. Executia unei
instructiuni presupune mai multe faze: extragerea instructiunii, decodificarea,
extragerea operanzilor, executia operatiei si salvarea rezultatului. In timpul
executiei instructiunii microprocesorul comunica cu celelalte componente ale
sistemului ( memorie, interfete de intrare/iesire) prin intermediul magistralei.
Pe magistrala se transfera instructiuni si date, care se pastreaza in locatii de
memorie si porturi de intrare/iesire. Pentru regasirea informatiilor se utilizeaza
semnale de adresa si semnale de comanda. Aceste semnale determina
spatiile de adresare ale procesorului: spatiul de memorie si spatiul de
intrare/iesire.
Transferul de informatii intre procesor si celelalte componente de pe
magistrala se realizeaza prin cicluri masina. Un ciclu masina poate sa dureze
un numar variabil de perioade de ceas. Pe durata unui ciclu masina se
transfera o singura data (octet, cuvint sau dublu-cuvint) a carei sursa sau
destinatie se aflata la adresa specificata prin semnalele de adresa si de
comanda.
Incepind cu procesorul Pentium mecanismul de transfer pe baza de
cicluri masina a fost inlocuit cu cel bazat pe tranzactii. Avantajul utilizarii

13
tranzactiilor consta in posibilitatea efectuarii simultane a mai multor transferuri
de date.
Moduri de adresare
Citirea sau scrierea unei locatii de memorie necesita specificarea
adresei acesteia. Modul de determinare a acestei adrese depinde de modul
de adresare utilizat. Procesoarele din familia Intel x86 dispun de o gama
variata de moduri de adresare, ceea ce ofera flexibilitate si eficienta in
programare. Diversele moduri de adresare ofera suportul necesar pentru
implemenatrea accesului la diferite structuri de date specifice limbajelor de
nivel inalt (ex: variabile simple, tablouri, inregistrari, etc.).
Moduri pentru adresarea datelor:
a. Adresarea imediata
b. Adresarea de tip registru
c. Adresarea directa
d. Adresarea indexata

e. Adresarea bazata
f. Adresarea bazat indexata
g. Adresarea de tip stiva

h. Adresarea pe siruri
Modurile de adresare enumerate mai sus determina adresa unui
operand in cadrul unui segment (adresa offset). Pentru a determina adresa
fizica a unei date trebuie sa se utilizeze informatia continuta in registrul
segment folosit in mod implicit (CS – cod, DS - date, SS- stiva), sau specificat
in mod explicit. In regimul de lucru “real” adresa fizica se calculeaza in felul
urmator: adresa de segment (continuta intr-un registru segment) se
deplaseaza la stinga cu 4 pozitii binare (o pozitie hexazecimala) dupa care se
aduna la adresa de offset.
In regimul de lucru protejat informatia continuta in registrele segment
reprezinta “descriptori” de segment iar calculul adresei fizice este diferit.

14
Evolutia familiei INTEL

Inventarea microprocesorului în 1971 de


către Ted Hoff în laboratoarele Fairchild a
avut o importanţă mult mai mare decît s-a
prevăzut iniţial, căci dincolo de aplicaţiile
imediate, de control, el a făcut posibilă
apariţia microcalculatorului, un dispozitiv
electronic folosit pentru prelucrarea informaţiei
cu ajutorul unor semnale electrice produse de
circuite plasate pe o pastilă de siliciu. Complexitatea microprocesorului a
crescut de la cîteva circuite pînă la circuitul integrat pe scară foarte largă
(VLSI), care adună peste 100.000 de circuite pe aceeaşi pastilă.
Constructorul de microcalculatoare are de ales dintr-o gamă largă de
microprocesoare, circuite de memorie, de interfaţă în variante constructive
nMOS, CMOS, I2L, factorul primordial de alegere fiind raportul preţ /
performanţă.

Microprocesorul este, după cum am amintit, cea mai importantă


componentă a sistemului. El prelucrează aproape toate informaţiile din
interiorul unui microcalculator, citeşte instrucţiuni şi date din memorie,
execută prelucrări asupra lor, le trimite sau le primeşte către/dinspre
periferice prin instrucţiuni de intrare ieşire. Cunoscut şi sub numele de unitate
centrală, microprocesorul este un circuit integrat digital care prelucrează
informaţia în mod secvenţial

Microprocesoarele se clasează după numărul de biţi din cîmpul de


adrese şi lărgimea cuvântului. Modul în care datele sînt manevrate în
interiorul microprocesorului depind de organizarea internă, de arhitectura
căilor de date şi de adrese. Viteza de prelucrare a microprocesorului este în
mod direct legată de arhitectura acestuia şi de calităţile tehnologice ale

15
circuitelor componente.Dimensiunea cîmpului de adrese determină mărimea
spaţiului fizic de memorie care poate fi adresat de microprocesor.
De exemplu, un microprocesor pe 8 biţi are un cîmp de adrese cu
lărgimea de 16 biţi. Spaţiul de memorie care poate fi adresat este de 2 16
locaţii, adică 64 000 de locaţii de memorie. Procesorul 8086 dispune de un
cîmp de adrese de lăţime de 20 de biţi. Ca atare acesta poate accesa 2 20
locaţii, adică pînă la l milion de locaţii de memorie. Magistrala de adrese de
24 de biţi a lui 80286 permite adresarea a 16.000.000 de locaţii; cea de 32 de
biţi a lui 80386 adresează un spaţiu liniar de memorie de 4 miliarde de octeţi.
Lărgimea căilor de date influenţează în mod direct performanţele de
viteză ale microprocesorului. Dimensiunea mai mare a căilor de date
înseamnă prelucrarea şi manipularea unei cantităţi mai mari de informaţie pe
unitatea de timp.
Lărgimea bus-ului de date determină şi rata de transfer din şi către
unitatea centrală în lucrul cu perifericele. Un bus de date mai larg înseamnă
transferuri mai eficiente, deci o performanţă de viteză mare. Spre exemplu,
microprocesoarele 8086 şi 8088 sunt funcţional identice. Diferă însă sub
raportul lărgimii bus-ului de date pentru operaţiile de intrare/ieşire. 8086
dispune de 16 biţi de date pentru lucrul cu intrarea/ieşirea, în timp ce 8088,
de numai 8 biţi. Ca o consecinţă, 8086 este cu 20% mai rapid decît 8088.
Frecvenţa ceasului de bază este parametrul cel mai important legat de
tehnologia de realizare a microprocesorului. Viteza microprocesorului
depinde în mod invers proporţional de perioada de timp în care
microprocesorul execută o operaţie elementară. Cu cît aceasta este mai
mică, cu atît numărul de operaţii elementare executate într-o unitate de timp
este mai mare. Cum instrucţiunile microprocesorului sînt constituite din
succesiunea unor operaţii elementare, rezultă de aici implicaţia directă
asupra vitezei de lucru a microprocesorului. După cum am mai spus,
creşterea vitezei este limitată de caracteristicile tehnologice ale realizării
microprocesorului.

16
O privire asupra evoluţiei microprocesoarelor INTEL în timp, relevă
evoluţia acestor factori menţionaţi anterior.
INTEL 4004 - primul microprocesor; apărut în 1971, realizat în
tehnologie PMOS, înglobează 2.250 de tranzistoare pe pastila de siliciu.
Prelucrare pe 4 biţi, ceas de 740 KHz, viteza 60.000 de operaţii/secundă,
memorie adresabilă 4 Koct, set de 45 instrucţiuni orientate pe operaţiuni
aritmetice.
INTEL 8008 - apărut în 1972, microprocesor pe 8 biţi, tehnologie
PMOS, grad de integrare 3.300 tranzistoare pe pastila de siliciu, ceas 800
KHz, viteza 30.000 operaţii/secundă, memorie adresabilă 16 Koct, set de 48
de instrucţiuni.
INTEL 8080-tehnologie NMOS, grad de integrare 4.500 de tran
zistoare pe capsulă, capacitate de adresare 64 Koct, frecvenţa ceasului 2,083
MHz, 200.000 de operaţii/secundă, set de 72 de instrucţiuni.Succesul
deosebit al lui 8008, a determinat INTEL să proiecteze şi să lanseze pe piaţă,
în aprilie 1974, microprocesorul 8080. Prin versatilitate, acest microprocesor
a determinat apariţia a nenumărate aplicaţii care au înglobat circuitul.
INTEL 8086/8088. În 1978, INTEL a deschis seria microprocesoarelor
pe 16 biţi prin 8086, care înglobează cca 29.000 de tranzistoare pe capsulă,
lucrează cu un ceas de 4 sau 8 MHz şi execută 330.000 de operaţii/secundă.
Putînd adresa fizic şi virtual l Moct de memorie cu o mărime a segmentului de
64 Koct, 8086 era un microprocesor cu adevărat puternic la momentul
respectiv. Şi totuşi, piaţa 1-a acceptat cu greu -reticentă la 16 biţi -
nedispunînd de circuite suport pe 16 biţi. Iată de ce în 1979, INTEL
corectează eroarea de apreciere a pieţei lansînd microprocesorul 8088,
identic cu 8086 sub aspectul arhitecturii interne, dar mai bine adaptat la
mediul foarte răspîndit de 8 biţi, comunicînd cu exteriorul pe 8 biţi, un hibrid
perfect între 8 şi 16 biţi.Opţiunea gigantului IBM pentru acest microprocesor,
pentru realizarea primului calculator personal IBM (IBM PC) a reprezentat un
factor hotărîtor în susţinerea pe mai departe a firmei INTEL.

17
Prin IBM PC cele două microprocesoare 8086/8088 au constituit baza
calculatoarelor personale acceptată ca standard industrial. Tot pe baza
structurii IBM s-au dezvoltat programe devenite standard şi produse standard
disponibile astăzi pe piaţa de calculatoare personale. Tactica de "urmărire a
leaderului" a făcut, de asemenea, să apară mii de calculatoare IBM PC. Prin
aceasta şi prin tactica sistemului deschis prin care utilizatorii aveau
posibilitate să dezvolte aplicaţii (plăci adiţionale) care să poată fi introduse în
calculatorul personal IBM s-a multiplicat şansa proliferării standardului IBM în
domeniul calculatoarelor personale. Este exemplul unei strălucite reuşite în
domeniul marketingului.
Evoluţia lui IBM a fost legată pentru multă vreme de 8086/8088, în fapt
o întreagă generaţie de PC, IBM PC original, IBM PC XT, IBM 3270 PC, PC
Jr, PC Portable (Hurricane) şi PC Convertible.În scurt timp alternativa
compatibilităţii IBM se deplasează din domeniul opţiunii în domeniul
necesităţii.Doar APPLE, credincioşi propriului mit şi vocaţiei originalităţii,
continuă să supravieţuiască în mod miraculos, ca o strălucită excepţie care
confirmă regula, într-o lume de compatibili IBM.
INTEL 80286. În 1982, INTEL lansează 80286, un microprocesor
realizat într-o tehnologie superioară faţă de predecesorul său 8086. Însumînd
peste 135.000 de tranzistori pe capsulă, lucrînd cu frecvenţe de ceas de 6, 8,
10, 12 MHz, sau chiar 16 MHz, putînd să atingă pînă la 2,1 milioane de
instrucţiuni pe secundă, accesînd un spaţiu de memorie real de pînă la 16
Moct şi un spaţiu de memorie virtual de pînă la l Goctet, 80286 reprezintă în
domeniul celor 16 biţi un salt deosebit.
Păstrînd compatibilitatea totală la nivel de cod obiect cu 8086,
realizează performanţe de 2,5 ori mai bune decît 8086, chiar dacă se
foloseşte aceeaşi frecvenţă de ceas şi nici una din instrucţiunile sale
suplimentare. IBM a fost primul producător mare care a utilizat 80286 atunci
cînd a introdus PC AT în 1984. De atunci au urmat multe calculatoare
compatibile AT. IBM a continuat să utilizeze acest microprocesor în noua sa

18
generaţie de calculatoare personale IBM PS2, modelul 30 286, 50 şi 60.
Principalul atu al lui 286 a fost, desigur viteza. Arhitectura sa are în vedere un
grad înalt de paralelism în execuţia instrucţiunilor, ceea ce îi conferă
caracteristici superioare predecesorului său.
Mecanismele intrinseci implementate în logica sa internă sînt mai bine
adaptate lucrului sub controlul unui sistem de operare multitasking. Pentru
prima oară, programe sofisticate, cum ar fi gestiunea bazelor mari de date,
programe de proiectare automată (CAD), sau programe sofisticate de editare
pot fi rulate independent de calculatoare mini sau medii, pe calculatoare
personale. Dar, pe măsură ce aplicaţiile pe calculatoarele personale au
depăşit etapa procesării de texte şi a programelor de tip "spreadsheet" şi au
intrat în domeniul sofisticat al produselor bazate pe grafica de tip WINDOWS,
arhitectura pe 16 biţi a lui 80286 a început să-şi eviden ţieze limitările.
În anii 80, 8086/8088 păreau puternice. Limita adresării a l Moctet de
memorie părea o ştachetă îndepărtată pentru programe ce solicitau 256K,
512K şi în fine 640 Kocteţi de memorie. În momentul în care programe
sofisticate au împins limita cerinţelor peste l Moctet de memorie, au trebuit să
se imagineze tehnici complexe, aşa cum sînt comutarea bankurilor de lucru
(EMS), sau programe de supra punere (overlay), sau terminate and stay
resident (TSR). Aceste programe au prelungit viaţa lui 286, dar au impus
limitări de performanţă şi de funcţionare asupra aplicaţiilor.Compatibilitatea cu
8086 este asigurată la 80286 prin existenţa a două moduri de lucru: mod real
(8086/8088) şi mod protejat (80286). în mod real, 80286 se prezintă din
exterior ca un 8086, putînd accesa l Moctet de memorie.
În mod protejat poziţionarea prin program a unui bit de stare permite
adresarea unui spaţiu de 16 Mocteţi. Dezvoltînd sistemul de operare OS/2,
MICROSOFT a întîlnit o problemă majoră generată de inexistenţa unui
mecanism hardware de întoarcere din mod protejat în mod real, fapt care
conducea la oprirea procesorului în aceste situaţii. Microsoft a rezolvat
problema printr-o comutare de moduri echivalentă cu un reset al

19
sistemului.Dar cea mai mare constrîngere impusă software-ului este modul
de programare segmentat al familiei INTEL.
Pentru a depăşi bariera celor 64 Kocteţi proprie microprocesoarelor pe
8 biţi, şi pentru a păstra compatibilitatea pe mai departe cu acestea, INTEL a
introdus arhitectura segmentată odată cu 8086/8088. Prin extinderea bus-ului
de adrese de la 16 la 24 de biţi, utilizînd o tehnică de suprapunere,
microprocesorul poate adresa l Moctet de memorie. Totuşi, aplicaţii utilizînd
structuri de date şi programe lungi trebuie încă să segmen teze memoria în
felii de 64 K. Acest lucru incomodează şi forţează programatorii să
partiţioneze o aplicaţie în segmente multiple de cod şi de date.
Programele şi structurile de date care depăşesc graniţa celor 64 Kocteţi
solicită tehnici foarte complicate şi nu pot elibera aplicaţia, sau limbajul sursă
de dificultatea de a manevra segmente de cod şi date. În sfîrşit, 80286 este
lipsit de mecanisme hardware pentru implementarea efectivă a conceptului
de memorie virtuală, o tehnică prin care capacitatea mare a discurilor de
masă este văzută ca şi cum ar fi propria memorie RAM a calculatorului. El
realizează aceasta prin programe sofisticate care, ele însele consumă timp şi
spaţiu de memorie. Dar punctul slab al lui 80286 este că încearcă să rezolve
probleme de anvergură rămînînd în domeniul celor 16 biţi.
INTEL 80386. În 1985, INTEL a introdus microprocesorul 80386. Dacă
celelalte microprocesoare aduceau inovaţii, mai mult sau mai puţin
importante, 80386 a reprezentat un salt calitativ revoluţionar faţă de
predecesori, în condiţiile păstrării compatibilităţii cu programele dezvoltate
pentru 8086/80286.Principala inovaţie este faptul că arhitectura procesorului
este pe 32 de biţi, atît internă cît şi externă. 80386 este produs utilizînd
tehnologia CHMOS II, un proces care combină calităţile de înaltă frecvenţă
ale tehnologiei HMOS, cu cele de consum mic de putere proprii tehnologiei
CMOS. Utilizînd geometria de 1,5 u şi 2 straturi metalice, produsul
compactează pe plăcuţa de 1/4" de siliciu mai mult de 275.000 de
tranzistoare şi un milion de componente electronice.

20
INTEL 80486. Beneficiind de o tehnologie superioară, 486 este mai
rapid şi înglobează în structura sa circuite care în mod tradiţional erau circuite
suport exterioare, cum ar fi: controllerul pentru memoria cache, coprocesorul
matematic şi de periferie: porturile de comunicaţie şi suportul pentru grafica
de mare viteză. In plus, circuitul poate susţine lucrul cu procesoare multiple.

Era Pentium (1993-1998)

 Intel Pentium (22 martie 1993)


La 19 octombrie 1992, Intel a anunţat că cea de a cincea generaţie a
liniei sale de microprocesoare compatibile (codificată P5), se va numi
procesor Pentium şi nu 586 aşa cum a crezut toată lumea. Ar fi fost normal
să se numească 586, dar Intel a descoperit că nu îl poate breveta cu un
nume de formă numerică, iar compania vroia să-i împiedice pe ceilalţi
producători să denumească la fel cipurile copii pe care le-ar putea proiecta.
Cipul Pentium este integral compatibil cu procesoarele Intel anterioare,
dar se şi deosebeşte de acestea in multe privinţe. Cel puţin una dintre aceste
deosebiri este majoră: cipul Pentium are două canale identice de procesare a
datelor, ceea ce ii permite să execute două instrucţiuni in acelaşi timp. Intel
numeşte această capacitate de a executa simultan două instrucţiuni,
tehnologie superscalară (procesare paralelă).
Această tehnologie asigură performanţe suplimentare faţă de cea a
procesorului 486.Cipul standard 486 executa o instrucţiune, în medie, în două
perioade de tact, ajungând până la o singură perioadă pe instrucţiune prin
introducerea multiplicării interne a tactului, la procesoarele DX2 şi DX4.
Datorită tehnologiei de procesare paralelă, cipul Pentium poa te executa mai
multe instrucţiuni cu viteza de două instrucţiuni pe ciclu de ceas. Arhitectura

21
superscalară este de obicei asociată cu cipurile evoluate RISC (Reduced
Instruction Set Computer procesoare cu set redus de instrucţiuni).
Procesorul lucra cu o magistrala de date de 64 de biti (cu toate ca a fost
un procesor pe 32 de biti) si a fost lansat initial la viteze de 60 si 66 de MHz.
Au urmat insa foarte rapid versiuni de 75, 90, 100, 120, 133, 150, 166, 200,
233 MHZ. De fapt au existat trei versiuni de Pentium: prima versiune care nu
cuprindea decat doua modele: Pentium la 60 si la 66MHz, a doua versiune
care a adaugat instructiunile MMX si o ultima versiune care a micsorat
distanta dintre tranzistoare permitand astfel viteze mai mari care au ajuns
pana la 233MHz. Intel Pentium a fost primul microprocesor pentru PC-uri
care putea sa calculeze mai mult de 100MIPS (milioane de instructiuni pe
secunda). Tot pentru prima oara era posibila construirea unor sisteme care
sa lucreze cu 2 procesoare in paralel (sisteme multiprocesor).
Microprocesorul de la Intel venea cu 16Kb de cache incorporati in pastila de
siliciu.

 Intel Pentium Pro (1 noiembrie 1995)


Acest procesor a fost una dintre cele mai mari inovatii tehnice produse
de Intel pana acum. Procesorul ingloba pentru prima oara in istorie pe langa
cache-ul Level1 de 8k pentru date si 8k pentru instructiuni, si un cache Level2
de 256Kb sau 512Kb. Folosea un sistem complex de predictie a ramurii de
executie (branch prediction) si executie speculativa (speculative execution) -
in momentul in care executia programului ajungea la o bifurcatie ramura
corecta nu era stiuta pana in momentul in care se executa instructiunea
conditionala; pentru ca procesorul sa nu astepte pana in acea clipa, se
alegea una din cele doua ramuri si se incepea executia instructiunilor
respective; daca se dovedea ca ramura aleasa a fost cea corecta aceasta
insemna un castig important de viteza.
Acest microprocesor transforma instructiunile x86 in microoperatii care
erau mult mai mici si mai rapide. Acest lucru, cu toate ca avea ca rezultat o

22
viteza mult mai mare a instructiunilor de 32 de biti, a dus la performante mult
mai slabe in sistemele de operare care mai contineau cod pe 16 biti. Acesta a
fost unul din motivele performantei mai mici comparabil cu Intel Pentium in
Windows 95 de exemplu.

 Intel Pentium MMX (Ianuarie 1997)

MMX s-a crezut initial ca inseamna MultiMedia eXtension, dar Intel a


declarat ca inseamna Matrix Math eXtension. Acesta reprezinta un standard
introdus de Intel care aduce cateva noi instructiuni care usurau in principal
calculele matematice cu vectori.

IV.II. Procesoarele Cyrix

 Arhitectura x86

Corporaţia Cyrix este unul dintre furnizorii de bază ai soluţiilor bazate


pe microprocesoare, care a introdus noi standarde pe piaţa calculatoarelor
personale. În ultimii zece ani Cyrix a dezvoltat aproape o duzină de
procesoare originale folosite în milioane de calculatoare din întreaga lume.
În luna noiembrie a anului 1997, Cyrix a fost cumpărată de National
Semiconductor. Această fuziune a adus două componente importante pentru
Cyrix: capacitatea de producţie la nivel mondial a National Semiconductor şi
infrastructura necesară acestei producţii.
Primul produs Cyrix a fost un coprocesor matematic destinat creşterii
vitezei de realizare a calculelor matematice. Succesul acestui coprocesor
matematic a permis celor de la Cyrix să distribuie începând cu 1992, primul
procesor din familia x86. Compania a dezvoltat rapid o linie de producţie
pentru procesoarele 486, şi apoi pentru procesoarele din generaţia a cincea,
5x86, un CPU pentru sistemele PC (mobile şi desktop). În 1995, Cyrix a

23
introdus procesorul din generaţia a şasea, 6x86, un procesor superscalar,
bazat pe o superbandă de asamblare; în iunie 1997, a introdus procesorul
MMX 6x86MX, iar în 1998 a apărut procesorul MII.

 Procesorul Cyrix 5x86

Familia de procesoare 5x86 reprezintă o nouă generaţie pe 64 de biţi


compatibilă x86. Unitatea centrală se bazează pe o bandă de asamblare cu
şase nivele, putând executa o instrucţiune într-un impuls de tact.
Unitatea centrală 5x86 este divizată în următoarele blocuri funcţionale
-unitatea pentru numere întregi (Integer Unit - IU)
-unitatea în virgulă flotantă (Floating Point Unit – FPU)
-unitatea cache (Write-Back Cache)
-unitatea pentru gestiunea memoriei (Memory Management Unit - MMU)
-unitatea de interfaţă cu magistrala (Bus Interface Unit - BIU).
Unitatea pentru numere întregi conţine:
-tamponul pentru instrucţiuni (Instruction Buffer - IB)
-unitatea de aducere a instrucţiunii (Instruction Fetch Unit - IF)
-unitatea de decodificare a instrucţiunii (Instruction Decoder Unit - ID).
Instrucţiunile sunt executate în unitatea pentru numere întregi sau în
unitatea de calcul în virgulă flotantă. Cache-ul conţine cele mai recent
utilizate date şi instrucţiuni şi asigură accesul rapid la aceste date din partea
IU şi FPU.

24
 Unitatea cache
Procesorul Cyrix 5x86 conţine un cache unificat pentru date şi
instrucţiuni de 16Ko, set-asociativ pe patru căi, organizat pe 1024 de linii.
Scrierile în cache se fac prin metoda write-back. Memoria cache este
organizată în patru bancuri a câte 256 linii fiecare, cu 16 octeţi pe linie.
Fiecare linie cache are asociat câte un tag pe 21 de biţi şi un bit de valid
(arată dacă linia conţine informaţii valide sau nu). Pe lângă aceşti biţi, fiecare
linie mai conţine încă patru biţi care indică dacă conţinutul liniei a fost
modificat (dirty bits), câte unul pentru fiecare dublu-cuvânt din linie. Aceşti
ultimi patru biţi permit marcarea independentă a fiecărui dublu-cuvânt ca fiind
modificat, în loc de a marca întreaga linie ca fiind modificată.

 Procesorul Cyrix 6x86


Procesorul Cyrix 6x86 este cel mai performant dintre procesoarele de
generaţia a şasea compatibile x86. Îmbunătăţirea performanţelor este
realizată prin utilizarea unei arhitecturi superscalare, bazate pe o superbandă
de asamblare.
Cyrix 6x86 este un procesor superscalar, deoarece conţine două benzi
de asamblare separate ce permit procesarea mai multor instrucţiuni în acelaşi
timp. Folosirea unei tehnologii de procesare avansate şi creşterea numărului
de nivele în benzile de asamblare (superpipelining) permit procesorului 6x86
să atingă frecvenţe de lucru mai mari de 100MHz.
Prin folosirea caracteristicilor arhitecturale unice, procesorul 6x86
elimină multe dintre dependenţele între date şi conflictele la accesarea
resurselor, rezultând o performanţă optimă atât pentru programele pe 16 biţi
cât şi pentru cele pe 32 de biţi.
Procesorul Cyrix 6x86 conţine două cache-uri: -un cache unificat
(pentru date şi pentru instrucţiuni) de 16Ko dual port, şi -un cache de
instrucţiuni de 256 octeţi.

25
Deoarece cache-ul unificat poate conţine instrucţiuni şi date în orice
raport, acesta oferă o rată a hit-urilor (numărul de accese în cache, raportat la
numărul total de accese) mai mare comparativ cu două cache-uri separate
pentru date şi pentru instrucţiuni, având dimensiuni egale. O creştere a lăţimii
de bandă a transferurilor cache-unitatea întreagă este realizată prin
suplimentarea cache-ului unificat cu un mic cache de instrucţiuni foarte rapid,
complet asociativ. Prin includerea acestui cache de instrucţiuni, se evită
conflictele excesive între accesele pentru date şi pentru cod în cache-ul
unificat.
Unitatea în virgulă flotantă din procesor permite executarea
instrucţiunilor în virgulă flotantă în paralel cu instrucţiunile întregi
Procesorul 6x86 este alimentat la 3.3V ducând la un consum redus
pentru toate frecvenţele de lucru. În plus, 6x86 mai posedă un mod de
suspendare pe nivel scăzut, posibilitatea de a întrerupe tactul şi modul de
management al sistemului (SMM) pentru aplicaţiile sensibile la alimentare.

 Procesoarele Cyrix 6x86MX şi MII


Aceste procesoare au la bază nucleul procesorului 6x86, îmbunătăţit cu cele
57 instrucţiuni multimedia noi, compatibile cu tehnologia MMX. În plus,
6x86MX şi MII lucrează la frecvenţe mai mari, conţin un cache de dimensiune
mai mare, un tampon destinat translatării adreselor liniare în adrese fizice
(TLB) pe două nivele şi un cache destinat adreselor de salt îmbunătăţit.
Pentru a oferi suportul pentru operaţiile multimedia, cache-ul poate fi
transformat într-o memorie RAM scratchpad. Această memorie funcţionează
ca o memorie privată pentru CPUşi nu participă în operaţiile cache.

 Cyrix MediaGX (1998)


MediaGX a reprezentat încercarea lui Cyrix de a produce un chip care
să integreze atât funcţiile de sunet şi video, cât şi controller-ul de memorie şi
CPU-ul în sine. Scopul acestui chip a fost acela de a putea produce

26
computere foarte ieftine şi la vremea aceea deja se vorbea de calculatoare
sub 500$ (ceea ce era foarte puţin la acea dată) construite în jurul lui
MediaGX. Cu toate acestea, nici unul din marii producatori de computere nu
a adoptat aceasta soluţie, astfel încât procesorul acesta, deşi revoluţionar, nu
a avut deloc succesul scontat.

IV. III. FAMILIA AMD

 AMD K5 / Nexgen Nx586 (1995)


AMD a reactionat destul de tarziu in a lansa
un procesor comparabil ca viteza cu Intel
Pentium. In 1995 a produs totusi primul sau
procesor care era conceput integral de catre ei,
nemaifiind o simpla clona a procesoarelor Intel.
Acest procesor s-a numit K5 si avea viteze de la
75 la 166MHz. Cu toate acestea nu era un
procesor mai rapid decat cele de la Intel, in plus avand o unitate de calcul in
virgula mobila destul de slaba (ca si Cyrix de altfel). Una din inovatiile aduse
de K5 era faptul ca instructiunile x86 erau transformate intern in ROP (Risc
OPerations). Aceste operatii RISC se puteau executa in nucleul RISC al
procesorului care era mult mai rapud. In acelasi timp o companie de care
putina lume auzise pana atunci, Nexgen, lansa primul sau procesor: Nx586.

27
Complexitatea procesorului K5 a dus la frecvente destul de mici, ceea ce i-a
facut pe cei de la AMD sa cumpere compania Nexgen care tocmai terminase
design-ul noului lor procesor, NX686. Acest design a fost ulterior folosit de
AMD in urmatoarea sa familie de procesoare pe care avea sa o lanseze in
1997.

 AMD K6 (Aprilie 1997)


Ca urmare a cumpararii firmei Nexgen, AMD a reusit sa lanseze un nou
procesor, K6 care avea viteze de la 166 la 266MHz. Bineinteles ca politica
AMD a fost ca procesoarele sale sa se vanda la aproape jumatate din pretul
la care se vindeau procesoarele Intel. K6 incorpora instructiuni MMX (a caror
licenta a cumparat-o de la Intel) devenind astfel un rival de temut pentru
procesoarele Intel Pentium MMX.

28

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