48
4 Microarhitectura procesoarelor
Arhitectura de baz a microprocesorului Pentium (fig. 4.1) include urmtoarele structuri
componente:
a) Dou uniti de execuie pentru operaii cu numere ntregi (U si V) asimilate unor benzi de
asamblare.
Pentru cele dou uniti de execuie se decodific simultan dou instruciuni, iar execuia lor se
realizeaz tot simultan (cu condiia c rezultatul celei de-a doua instruciuni s nu depind de rezultatul
primei instruciuni). Aceasta conduce la o cretere a performantei cu circa 30%, Intel numind-o
tehnologie superscalara, baza noii microarhitecturi (microarhitectur este metoda de realizare a
arhitecturii setului de instruciuni (ASI) prin hard-ul microprocesorului).
Pentium folosete dou memorii cache (de cte 8 kB), pentru coduri i date, care sunt folosite
pentru a stoca cele mai frecvent folosite coduri i date. n acest fel se elimin, de cte ori este posibil,
accesul la memoria microcalculatorului, acces care necesit un timp mai mare.
b) Buffer de decodificare anticipat a instruciunilor.
Codul din memoria cache este testat pentru a sesiza din timp eventualele instruciuni de salt anterior
ncrcrii acestora n pipeline; decodificarea instruciunilor se realizeaz deci anticipat i ulterior sunt
transmise unitilor de execuie. Transmiterea din memoria cache se realizeaz pe o magistrala de 256 de
bii, dimensiunea mare a acesteia permind aducerea secvenelor de instrutiuni cu o vitez mai mare
chiar dect a capacitii de procesare.
Memoria cache 8k
Instruciuni
Unitate de predicie
a salturilor
BTB
Buffer de
decodificare
anticipat
Prefetch buffer
Unitate de
interfa cu
magistrala
UAL
UAL
Unitate de
virgul mobil
FPU
Regitri
Memoria cache 8k
date
Figura 4.1
c) Procesorul Pentium utilizeaz predicia salturilor pentru a crete performanele construciilor
care utilizeaz bucle de program. Procesorul Pentium folosete mecanismul prediciei adreselor
salturilor (BTB-Branch Target Buffer). Conform statisticii, un program tipic la fiecare 6-8 instruciuni
conine o instruciune de salt. Deci, la fiecare 6-8 instruciuni va fi necesar reactualizarea benzii de
asamblare (BA) conform adresei de salt, i avantajele folosirii BA se pierd. Pentium folosete o memorie
BTB n care se stocheaz informaia ultimelor 256 de salturi. Majoritatea programelor conin bucle de
program, n decursul crora se decide, ieirea din bucl sau salt la nceputul ei. n acest caz se memoreaz
instruciunea ce controleaz ramificarea, adresa saltului i presupunerea ce subprogram va fi executat.
Unitatea BTB presupune, c ramificarea va fi repetat i furnizeaz instruciunea de salt benzii de
asamblare. Statistica prediciilor corecte este de 80% (conform Intel).
Regitrii generali sunt tot de 32 de bii, dar s-au adugat ci interne de date de 128 i 256 de bii
pentru a crete viteza transferurilor interne, iar magistrala extern de date a fost extins la 64 de bii.
Arhitectura Calculatoarelor
49
Arhitectura Calculatoarelor
50
instruciunilor ntr-o ordine diferit de cea specificat n program. Unitatea de expediere i execuie a
instruciunilor poate monitoriza simultan mai multe instruciuni i poate executa aceste instruciuni ntr-o
ordine n care se optimizeaz utilizarea unitilor multiple de execuie ale microarhitecturii, meninnd n
acelai timp integritatea datelor asupra crora se opereaz. Aceast ordine de execuie asigur ocuparea
unitilor de execuie chiar i atunci cnd apar dependene ntre datele instruciunilor.
Execuia speculativ se refer la posibilitatea procesorului de a executa instruciuni aflate naintea
instruciunii adresate de contorul de program, i de a furniza rezultatele n ordinea irului iniial de
instruciuni. Pentru ca execuia speculativ s fie posibil, microarhitectura familiei P6 separ expedierea
i execuia instruciunilor de producerea rezultatelor. Unitatea de expediere i execuie a instruciunilor
utilizeaz analiza fluxului de date pentru a executa toate instruciunile din rezervorul de instruciuni i a
memora rezultatele n regitri temporari. Unitatea de retragere a instruciunilor caut apoi instruciunile
care au fost executate i pentru care nu mai exist dependene de date cu alte instruciuni sau predicii
nerezolvate ale salturilor. Atunci cnd se gsesc instruciuni care au fost executate, unitatea de retragere a
instruciunilor depune rezultatele acestor instruciuni n memorie sau n regitrii microarhitecturii (cele
opt regitri ai procesorului i opt regitri ai unitii de calcul n virgul mobil), n ordinea specificat n
program, i retrage aceste instruciuni din rezervorul de instruciuni.
Aceste 3 concepte i sunt diferenele fa de structura benzii de asamblare (fig.3.10), menionate
anterior.
Schemele structurale ale microprocesoarelor, din urmtoarele generaii, la nivel de
microarhitectur devin tot mai complexe. Ne vom limita la descrierea noilor tehnologii implementate n
microprocesoare.
Urmtorul reprezentant al microprocesoarelor, din generaia Intel, este Pentium 4 cu
microarhitectura NetBurst.
Arhitectura Calculatoarelor
51
Dificulti. Funcionarea procesorului la frecvene nalte este asociat cu temperaturi ridicate ale
nucleului su. Microprocesoarele Pentium 4 (nucleul Cedar Mill) au fost capabile s funcioneze la
frecvene mai mari de 7 GHz folosind rcire extrem (utiliznd azot lichid). Din cauza dificultilor
aprute la rcirea procesoarelor, frecvena maxim la Pentium 4, produs n serie, a fost limitat la 3800
MHz. Intel a fost nevoit s treac de la o structur de mononucleu (single-core) la multinuclee (multicore).
Compania Intel, n 2006, a prezentat noua microarhitectura Intel Core, care este o arhitectur multicore. Ea ncorporeaz mai multe nuclee, suport tehnologia de virtualizare (Intel VT) i modul Intel 64
(64-bit mode), un set suplimentar de instruciuni SSE3.
Procesoarele pentru servere i staii de lucru au fost fabricate sub numele de brand Xeon, iar pentru
utilizatorii de calculatoare variantele desktop i mobile - Core 2.
Microarhitectura Intel Core incorporeaz o band de asamblare cu 14 segmente
(
Pentuim 4 "Prescott" - 31 segmente). Fiecare nucleu poate procesa, executa simultan
pn la patru instruciuni (microarhitectura NetBurst doar trei instruciuni).
Arhitectura Calculatoarelor
52
n microarhitectura Intel Core a fost introdus un set de tehnologii care au primit numele Intel Wide
Dynamic Execution. Cele mai importante sunt:
Advanced Smart Cache noua arhitectur este optimizat pentru procesoare cu 2 nuclee (dualcore). Memoria cache de nivelul L2 este partajat de ambele nuclee. Datele din memoria cache de
nivelul L1 obligatoriu se afl i n memoria cache de nivelul L2. Memoria cache de nivelul L2
este dinamic alocat ambelor nuclee pentru performan maxim. Rata maximal de transfer
ntre memorii - 96 GB/s (cu frecvena nucleului de 3 GHz).
Tehnologia Macro Fusion const n fuziunea dintre
dou instruciuni x86 (i cteva
microinstruciuni - micro-ops Fusion), ntr-o una singur instruciune (macroinstruciune) . Unele
perechi de instruciuni (de exemplu, instruciunea de comparare i de salt condiionat) la
decodificare pot fi fuzionate i utilizate ulterior ca o singur microinstruciune. Ignornd
tehnologia Macro Fusion procesorul (cu 4 uniti de execuie) poate decodifica doar patru
instruciuni. Utiliznd tehnologia MacroFusion, procesorul poate decodifica cinci instruciuni
(prin fuziunea a dou din ele).
n luna iunie 2009 compania a anunat c schimb varietate de nume de brand, cum ar fi Core, Core
2 Duo, Core 2 Quad, Core 2 Extreme, n favoarea a trei nume: Core i3, Core i5 si Core i7. Dezvoltarea
acestor microprocesoare, bazate pe microarhitecturi noi, a dus la divizarea lor pe generaii:
Prima generaie microprocesoarele Core i3, Core i5 i Core i7 bazate pe microarhitectura
Nehalem;
A doua generaie microprocesoarele Core i3, Core i5 i Core i7 bazate pe microarhitectura
Sandy Bridge;
A treia generaie microprocesoarele Core i3, Core i5 i Core i7 bazate pe microarhitectura Ivy
Bridge.
Prezentm succint inovaiile microarhitecturii Nehalem:
2, 4 sau 8 nuclee;
Tehnologia SMT (Simultaneous Multi-Threading), permite execuia simultan a dou fluxuri de
instruciuni de un singur nucleu (2 nuclee logice din unul fizic);
Memoria cache pe 3 nivele: cache L1 volum de 64 KB pe nucleu, Cache L2 volum de 256 KB pe
nucleu, memoria Cache L3 partajat de toate nuclee, volum pn la 24 MB;
Controlerul de memorie ncorporat, ce suport cteva canale de memorie DDR3 SDRAM;
Proces tehnologic de 45nm;
Posibilitatea de ncorporare n microprocesor a nucleului grafic;
Magistral de mare vitez QPI (Quick Path Interconnect) (nlocuind FSB) cu topologia punct-lapunct, destinat interconectrii procesorului cu chipset-ul i a procesoarelor n sistem
multiprocesor;
Tehnologia Turbo Boost - permite automat, ca nucleele procesorului s poat funciona cu o
Arhitectura Calculatoarelor
53
frecvent mai mare dect frecventa de baz (nominal), doar dac procesorul funcioneaz n
cadrul limitelor de putere, curent si temperatur, conform TDP (TDP - thermal design power).
Structura pe module;
Set suplimentar de instruciuni SSE4.2.
Urmtoarea microarhitectur Sandy Bridge.
Principalele mbuntiri.
Circuitul microprocesorului Sandy Bridge ncorporeaz
principalele componente:
Nucleele microprocesorului;
Nucleul grafic (HD Graphics 3000, cu 12 uniti de
execuie);
Memoria cache L3;
Puntea de nord (System Agent).
Toate aceste componente sunt interconectate prin intermediul noii versiuni a tehnologiei QPI, o
magistral inelar pe 256-bii. Proces tehnologic de 32nm.
Urmtoarea microarhitectur Ivy Bridge. Ivy Bridge este o versiune a microarhitecturii Sandy
Bridge cu proces tehnologic de 22nm. n aprilie 2012 au fost prezentate procesoarele cu microarhitectura
menionat.
Arhitectura Calculatoarelor
54
Arhitectura Calculatoarelor
55