Anda di halaman 1dari 8

Arhitectura Calculatoarelor

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

TLB (Translation Lookaside Buffer) translateaz adresa liniara n adresa fizica.


Procesorului i s-a adugat un controler avansat de ntreruperi (Advanced Programmable Interrupt
Controller APIC) pentru a permite realizarea sistemelor cu mai multe procesoare.
Urmtoarea generaie de procesoare este Intel P6. Microarhitectura procesoarelor din familia P6 este
una superscalar cu trei benzi de asamblare. Aceasta nseamn c, prin utilizarea tehnicilor de prelucrare
paralel, procesorul poate decodifica i executa n medie trei instruciuni n fiecare ciclu de ceas. Pentru a
obine aceast rat de execuie a instruciunilor, procesoarele din familia P6 utilizeaz o cale de date de tip
pipeline cu 12 segmente, care permite execuia instruciunilor ntr-o ordine diferit de cea specificat n
program.
Figura 4.2 prezint structura acestei ci de date, care este mprit n patru uniti de prelucrare:
unitatea de extragere i decodificare,
unitatea de expediere i execuie,
unitatea de retragere i rezervorul de instruciuni.
Instruciunile i datele sunt transmise acestor uniti prin unitatea de interfa cu magistrala.

Figura 4.2 Unitile de prelucrare din microarhitectura procesoarelor din familia P6 i


interfaa acestora cu subsistemul de memorie
Pentru a asigura furnizarea constant a instruciunilor i datelor la unitile de execuie din calea
de date, microarhitectura utilizeaz dou nivele de memorie cache.
Memoria cache L1 este mprit ntr-o memorie cache de 8 KB pentru instruciuni i o memorie
cache de 8 KB pentru date, ambele integrate n calea de date. Memoria cache L2 este o memorie RAM
static de 256 KB, 512 KB sau 1 MB, care este conectat la calea de date printr-o magistral de 64 de bii,
funcionnd la frecvena de ceas a procesorului.
Microarhitectura procesoarelor din familia P6 utilizeaz execuia dinamic a instruciunilor.
Mecanismul de execuie dinamic cuprinde trei concepte:
Predicia salturilor;
Analiza dinamic a fluxului de date;
Execuia speculativ.
Predicia salturilor este un concept ntlnit la majoritatea arhitecturilor performante de calculatoare i
a microprocesoarelor de vitez ridicat. Acest concept permite procesorului decodificarea instruciunilor
de dup cele de salt pentru a nu goli calea de date pipeline la execuia instruciunilor de salt. Unitatea de
extragere i decodificare a instruciunilor utilizeaz un algoritm de predicie optimizat pentru anticiparea
direciei fluxului de instruciuni prin nivele multiple de salturi, apeluri de proceduri i reveniri din
proceduri.
Analiza dinamic a fluxului de date implic analiza n timp real a fluxului datelor prin procesor
pentru a determina dependena datelor i a regitrilor, i pentru a detecta posibilitatea execuiei

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.

n microprocesor a fost implementat tehnologia Hyper-threading,


ce permite execuia a dou fluxuri de instruciuni de un singur nucleu
fizic. Sistemul de operare, ce susine tehnologia Hyper-threading,
determin existena a dou procesoare logice (Logical procesor). Fizic,
fiecrui procesor logic i sunt alocate setul su de regitri i un controler
de ntreruperi (APIC), iar restul componentelor ale procesorului sunt
utilizate n comun. Potrivit Intel, utilizarea acestei tehnologii, majoreaz
viteza de execuie cu 15-30%.
Urmtoarele elemente structurale implementate:
adoptarea unei arhitecturi Hyper Pipeline cu 20 de segmente de
procesare a instruciunilor (dublu fa de varianta P6), fapt ce a majorat frecvena procesorului
de la 1,4 Ghz (3,2 Ghz n Pentium 4 Extreme Edition);
a fost extins memoria cache L2 - 512 KB i L3 pn la 2B ( Pentium 4 Extreme Edition), iar
transferurile ntre memoriile cache au ajuns la o rat de transfer de 48 GB/s;
a fost introdus o memorie cache pentru microinstruciuni, volum 12000 microinstruciuni;
setul de instruciuni SSE2 a fost extins prin adugarea a 144 instruciuni SIMD noi i extinderea
limii datelor prelucrate la 128 bii (16 octei prelucrai n paralel);
a fost majorat rata de transfer ntre microprocesor i controlerul memoriei la 3,2 GB/s (La P6
maximum 1,06 GB/s).
proces tehnologic utilizat de 130 nm.

Pe urmtoarele figuri sunt prezentate nucleele procesorului Pentium 4.

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.

Ivy Bridge include urmtoarele mbuntiri fa de platforma precedent (Sandy Bridge):


Tehnologia Tri-gate transistor (3D sau pe 3 ci) care la acelai nivel de performan ca
tranzistorii 2-D au un consum de energie mai redus cu pn la 50%;
Suport PCI Express 3.0;
Intel HD Graphics 2500/4000 cu suport a 3 monitoare independente;
GPU (procesorul grafic integrat) are 16 uniti de execuie (EUs) n comparaie cu Sandy
Bridge -12;
DDR3L (L desemneaz low-voltage = tensiune sczut) i TDP configurabil pentru
procesoarele mobile.
Este sugestiv urmtoarea comparaie de performan cu generaia Sandy Bridge:
5% pn la 15% cretere n performana general a procesorului,
20% pn la 50% cretere n performana procesorului grafic integrat (GPU).

Arhitectura Calculatoarelor

54

Pe urmtoarea figur sunt prezentate unele tehnologii susinute de microarhitectura Broadwell.


Proces tehnologic de 14 nm.

Pe urmtoarea figur sunt prezentate dimensiunile comparative ale microprocesoarelor Broadwell


i Haswell.

Arhitectura Calculatoarelor

55

Anda mungkin juga menyukai