0% au considerat acest document util (0 voturi)
3 vizualizări12 pagini

Procesorul

Acest document descrie funcționarea procesoarelor. Explică diferitele componente ale unui procesor, cum ar fi unitatea de control, registrele și ceasul. De asemenea, detaliază evoluția procesoarelor de-a lungul timpului, de la dimensiunea lor la complexitatea în creștere.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
3 vizualizări12 pagini

Procesorul

Acest document descrie funcționarea procesoarelor. Explică diferitele componente ale unui procesor, cum ar fi unitatea de control, registrele și ceasul. De asemenea, detaliază evoluția procesoarelor de-a lungul timpului, de la dimensiunea lor la complexitatea în creștere.

Tradus de

ScribdTranslations
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

CAPITOLUL 3 - PROCESORUL

1. INTRODUCERE

Un microprocesor este unprocesornu toate componentele au fost


suficient de miniaturizate pentru a fi grupate într-un uniccarcasa.
Funcțional, procesorul este partea unui computer care execută
instrucțiuni și tratează datele programelor.
Un procesor (sau unitate centrală de procesare, UCP, în engleză central)
unitate de procesare, CPU) este un component prezent în numeroase dispozitive
electronice care executăinstrucțiuni mașină desprograme
informatice.
Invențiatransistor În 1948 a deschis calea miniaturizării
componente electronice.
Lescircuite integrate a permis miniaturizarea procesorilor. La
miniaturizarea și standardizarea procesoarelor au dus la ele
difuzare în viața modernă mult dincolo de utilizările mașinilor
programabile dedicate.

UnIntel 4004în carcasa sa cu 16 pini.

Crearea lor își are originea în lucrările deJohn von Neumann


a funcționa un nou program.
În această arhitectură, o unitate de control se ocupă de coordonarea unui
procesor (având acces la intrări/ieșiri) și memoria.
Introducereamicroprocesoranilor 1970 a marcat de
în mod semnificativ concepția și implementarea unităților centrale
de tratament.
introducerea primului microprocesor(Intel 4004) în 1971 și din primul
microprocesor utilizat frecvent(Intel 8080) în 1974,

1
Intel 80486DX2microprocesorîn carcasă din ceramicăPGA.
Microprocesoarele sunt construite cu un număr foarte mic de circuite
foarte puternic integrate(ULSIIntegrarea la scară ultra mare) este o scară
de integrare definind numărul (de 100.000 și mai mult) de porți logice
într-un circuit integrat.), de obicei un singur.
Microprocesoarele sunt implementate pe un singurpuce electronică
deci de dimensiuni reduse, ceea ce înseamnă timpi de comutare mai
curți legate de factori fizici, cum ar fi diminuarea
lacapacité cantitate de încărcare electrică transportată de un conductor pentru un
potențial electric dat, definit ca fiind suma sarcinilor
capacitatea conductorului este dată de încărcările electrice ale conductorului împărțite la potențialul conducătorului: C = Q/U

parazit de uși.
Pe măsură ce capacitatea de a fabrica tranzistori extrem de mici pe
un circuit integrat a crescut, complexitatea și numărul de tranzistori în
un singur procesor a crescut considerabil.
Această tendință larg observată este descrisă delegea lui Moorecine s-a
s-a dovedit a fi până acum un factor predictiv destul de precis al creșterii
complexitatea procesoarelor (și a oricărui alt circuit integrat).
Leprocese multi-core (multicores) recente au acum
mai multe nuclee într-un singur circuit integrat.
Eficacitatea lor depinde în mare măsură de topologia de interconectare între
inimi.
Abordări noi, cum ar fi suprapunerea memoriei și a inimii
procesor (stivuirea memoriei), sunt în studiu și ar trebui să conducă la un
nouvel accroissement des performances.
Bazându-ne pe tendințele din ultimii zece ani, performanțele
procesoarele ar trebui să atingăpétaFLOPSla orizontul anului 2030 în PC.
En juin 2008, le supercomputermilitar IBMCuculeste primul care
a depăși această bară simbolică apétaFLOPS.
oRoadrunner este primul supercalculator american care a
oficial a depășit puterea de 1 pétaFLOPS (adică 1015
operații flotante pe secundă). Aparține Departamentului de
Energia Statelor Unite (DOE) și este construit în laboratoarele de
Los Alamos, New Mexico.

2
oIBM a fost însărcinată cu construirea sa ș i Roadrunner a devenit
cel mai puternic computer din lume în iunie 2008, dar a fost detronat
în noiembrie 2009 de Jaguar - Cray XT5-HE2.
Apoi, înnoiembrie 2008e randul supercalculatoruluiJaguardeCray.
oLe Cray-1, inventat de Seymour Cray, este lansat în 1976. Este vorba despre un
supercomputer cu arhitectură vectorială. Este construit în jurul unei
procesor de 64 de biți cu frecvența de 83 MHz, echipat cu 8 Mo de memorie RAM și
refroidit cu freon.
a atins o putere de calcul de 166 MFLOPS (sau mega-FLOPS),
deci puterea medie a unui calculator de birou cu douăzeci de ani în urmă
târziu.
Una dintre inova ț iile acestei ma ș ini este forma sa în arc de cerc care
permite reducerea lungimilor diferitelor fire. Acest supercomputator
un pesant de aproape 5 tone costa aproape 9 milioane de dolari pe atunci.
Primul Cray-1 a fost livrat la „Laboratorul Na ț ional Los Alamos” ș i în total
16 mașini au fost produse.

Placă de bază a unui procesor Cray T3E-136/ac (ac= răcire cu aer, răcire prin
aer); mașina conținea 136 de procesoare DEC Alpha EV5
În aprilie 2009, acestea sunt cele două singure supercalculatoare care au depășit
pétaFLOPS.
În noiembrie 2015, pentru a șasea oară consecutiv, supercomputerul
chinois Tianhe-2 "milky way-2", dezvoltat de universitatea națională chineză
pentru tehnologiile de apărare, a ajuns pe primul loc în clasament
semestrul mondial TOP500 al supercalculatoarelor cu 33,86 pétaFLOPS.
În ceea ce privește recordul de performanță, tendința pare să fie către
răcirea din anul 2008.

3
În timp ce complexitatea, dimensiunea, construcția și forma generală a
procesoarele au evoluat considerabil în ultimele șase decenii,
concepția și funcția de bază nu s-au schimbat foarte mult.
Practic toți procesorii comuni de astăzi pot fi descriși
très précisément comme mașini cu program înregistratde von Neumann.
În timp ce legea lui Moore, menționată mai sus, continuă să se verifice, des
întrebări au apărut cu privire la limitele tehnologiei circuitelor integrate
la tranzistori.
Miniaturizarea porților electronice este atât de importantă încât efectele de
fenomene precumelectromigrarea(degradare progresivă a
interconexiuni metalice care duc la o diminuare a fiabilității
circuite integrate) și curenții de scurgere (importanța lor crește odată cu
reducerea dimensiunilor circuitelor integrate; ele sunt la originea unei
consum de energie electrică penalizantă), anterior neglijabilă,
devin din ce în ce mai semnificative.
Aceste noi probleme se numără printre numeroasele factori care conduc la
cercetători pentru a studia, pe de o parte, noi tehnologii de procesare
așa cum l'calculator cuantic sau utilizarea calculului paralel și, altceva
parte, alte metode de utilizare a modelului clasic von Neumann.
Un calculator cuantic sau un computer cuantic utilizează
proprietăți cuantice ale materiei, cum ar fi suprapunerea și
intricarea pentru a efectua operațiuni asupra datelor.
Spre deosebire de un calculator clasic bazat pe tranzistori care
lucrează cu date binare (codificate pe biți, având valoarea 0 sau 1),
calculatoarele cuantice lucrează cu qubiți ale căror stări cuantice
poate avea mai multe valori.

Unitate de performanță a procesorilor


Nom FLOPS

yottaFLOPS 1024

zettaFLOPS 1021

exaFLOPS 1018

pétaFLOPS 1015

téraFLOPS 1012

gigaFLOPS 109

mégaFLOPS 106

kilogramLOPS 103

4
2. Func ț ionare
Compoziț ia unui procesor

Schema de principiul unui procesor de 32 de biți.

Un procesor nu este o unitate de calcul.


Aceasta din urmă este inclusă în procesorul care apelează, de asemenea, la (1) o unitate de
control, (2) o unitate de intrare-ieșire, (3) registre și (4) un ceas.
Registrele sunt mici memorii interne foarte rapide, care pot fi
accesibilă cu ușurință.
Un număr mai mare de registre va permite procesorului să fie mai
independent de memorie.
Există mai multe registre, printre care acumulatoare și contor ordinal.
ol'accumulateurserveste la stocare a datelor procesate de către UAL (unitatea de
calcul aritmetic ș i logic), ș i
olecompteur ordinal oferă adresa de memorie a instruc ț iunii curente
de execuție sau a următoarei (în funcție de arhitectură).
Alte registre au fost adăugate de-a lungul timpului: (1) pointerul de stivă, (2)
registrul de instrucțiune, (3) registrul de stare și (4) registrele generale, care
servind la stocarea datelor care urmează să fie utilizate (ceea ce permite
de a economisi drumurile de întoarcere cu memoria).
O pointer de stivă serve ș te la stocarea adresei vârfului stivei, care
sunt de fapt structuri de date care sunt utilizate în mod obișnuit
pour gérer des appels de sous-programmes.

5
Un registru de instruc ț iuni permite stocarea instruc ț iunii în curs de
tratament
un registru de stare compus din mai mul ț i bi ț i care sunt
dessteaguri(steaguri) utilizate pentru a stoca informații referitoare la
rezultatul ultimei instrucțiuni executate.
Dimensiunea registrelor depinde de arhitectură, dar este în general de
câteva octeți și corespunde numărului de biți al arhitecturii (de exemplu un
procesorul 8 biți va avea registre de un octet.
Este secvențiatorul, sau unitatea de control, care se ocupă de gestionarea
procesor. Poate:
. (1) decodifica instrucțiunile,
. (2) alegeți ce registre să folosiți,
. (3) a gestiona întreruperile sau
. (4) inițializați registrele la pornire.
apelează la unitatea de intrare-ie ș ire pentru a comunica cu
memorie sau cu dispozitive.
În sfârșit, ceasul trebuie să furnizeze un semnal regulat pentru a sincroniza totul.
funcționarea procesorului.

Procesoarele actuale integrează de asemenea elemente mai complexe:


mai multe unită ț i aritmetice ș i logice, care permit procesarea
mai multe instrucțiuni în același timp.
oL'architecurasuperscalare, în special, permite să dispui de UAL
în paralel, fiecare UAL putând executa o instrucțiune
indiferent de celălalt;
ounitate de calcul în virgulă flotantă(în engleză Unitate de calcul în virgulă mobilă, FPU)
care permite accelerarea calculelor penumere reale codată în virgulă
flotant
ounitate de predic ț ie a ramificării, care permite procesorului
d'anticipa obranșamentîn desfășurarea unui program pentru a
de a evita să aștepte valoarea definitivă a adresei de salt. Permite să
a umple mai bine conducta ;
opipeline, care permite decuparea temporală a procesărilor la
efectuează
omemorie cache, care permite accelerarea proceselor prin diminuarea
acces lamemorie volatilă.
. Lecache de instruc ț iuni prime ș te următoarele instruc ț iuni la
executa
. cache-ul de date manipulează datele.
. Uneori, un cache unificat este utilizat pentru instrucțiuni și
date.
. Mai multe niveluri de cache pot coexista, le numim
adesea sub numele de L1, L2, L3 sau L4.

6
În procesoarele avansate, există unită ț i speciale ale procesorului
dedicate căutării, prin mijloace statistice și/sau predictive, ale
următoarele accesări ale memoriei RAM.

Arhitectura Intel 4004


Un procesor are de asemenea trei tipuri deautobuz:

bază de date, care definește dimensiunea datelor pentru intrări și ieșiri, dintre care
accesul la memorie (indiferent de dimensiunea registrelor interne);
autobuz de adresă, care permite, în timpul unei lecturi sau al unei scrieri, să trimită
adresa unde se desfășoară și, prin urmare, definește numărul de
cazurimemorieaccesibile
autobuz de control, care permite gestionarea echipamentului, prin intermediulinterrupț ii.

Clasificarea procesorilor

Un procesor este definit prin:

Arhitectura sa, adică comportamentul său văzut de programator, legat de:


osonjoc de instrucț iuni(în engleză, Set de Instrucțiuni Arhitectură, ISA)
ola lă ț imea saregistrustudenți de manipulare dedate(8, 16, 32,
64, 128bițiși utilizarea lor;
oles spécifications des entrées–sorties, de l'accès à la mémoire, etc.

7
Caracteristicile sale, variabile chiar și între procesoare compatibile:
osamicroarhitectură;
ola cadence de son horloge exprimée en mégahertz(MHz) ou gigahertz
(GHz) ;
finesse de gravură exprimată în nanometri(nm) ;
oson numărul de nuclee de calcul.

Clădirile sunt clasificate în mai multe mari familii:

CISC(Computer cu set complex de instrucțiuni), alegerea instrucțiunilor atât de aproape de


posibil dintr-un limbaj de nivel înalt ;
RISC(Computer cu set de instrucț iuni reduse), alegerea instrucț iunilor mai simple ș i
a unei structuri care permite o execuție foarte rapidă;
VLIW(Cuvânt de Instrucț iuni foarte lung)
DSP(Procesor de semnal digital), chiar dacă această ultimă familie este relativ
specific
Într-adevăr, un procesor este un component programabil ș i, prin urmare, este
prioricapabil să realizeze orice tip de program.
Totu ș i, dintr-o preocupare pentru optimizare, sunt folosite procesoare specializate.
concepute și adaptate pentru anumite tipuri de calcul (3D, sunet, etc.).
oLesDSPs sunt procesoare specializate pentru calcule legate de procesarea
de semnale.
De exemplu, nu este rar să vezi implementate ni ș tetransformate de
Fourierîntr-un DSP ;

Operaț iile procesorului


Le rôle fondamental de la plupart des processeurs, est d'exécuter une série
instrucțiuni stocate numiteprogram.
Instrucțiunile (uneori decompozate în micro-instrucțiuni) și datele
transmise la procesor sunt exprimate în cuvintebinare(cod mașină).
Ele sunt de obicei stocate înmemorie.
Secvențiatorul ordonează citirea conținutului memoriei și constituirea
cuvinte prezentate la lALUcine le interpretează.
Limbajul cel mai apropiat de codul mașină, rămânând în același timp lizibil pentru
umanii este limbajul de asamblare, de asemenea numit limbajasembler.
Operațiunile descrise aici sunt conforme cuarhitectura von Neumann.
Programul este reprezentat de o serie de instrucțiuni care realizează
operațiuni în legătură cu memoria RAM a computerului.

8
Viteza de procesare

Viteza de procesare a unui procesor este încă uneori exprimată


enIPS(Instrucț iuni Pe Secundă) sau înFLOPS(Operaț ii cu Zecimale
Floatanț i pe secundă) pentru lunitate de calcul în virgulă flotantă.
Totuși, astăzi, procesoarele sunt bazate pe diferite
arhitecturi și tehnici de paralelizare a procesărilor care nu
permit mai mult să-și determine simplu performanțele.
Programe specifice de evaluare a performanțelor(Referințe)
au fost elaborate pentru a obține comparații ale timpilor de execuție de
programe reale.

Maș ina de instrucț iuni

Îninformaticao instrucțiune a mașinii este o operațiune elementară


unulprogramcere unuiprocesorde a efectua. Este cea mai importantă ordine
bazic pe care îl poate înțelege un computer.
Colecția de instrucțiuni mașină care pot fi date unui
procesorul este sunetjoc de instrucț iuni.
Instrucțiunile mașinii sunt codificate înbinar.
Un câmp de instrucțiune numit „cod de operație” sau „opcode” se referă la
operația de efectuat.
Din moment ce valoarea sa numerică nu are sens pentru oameni,
leprogramatorutilizează o abreviere care desemnează codul operațional furnizat de
lelimbaj de asamblarepentru acest procesor.
Dimensiunea unei instrucțiuni depinde de arhitectura platformei, dar aceasta
este de obicei cuprinsă între 4 și 64biti.
Instruțiuni cele mai frecventesunt leInstrucțiuni de transfer,les
Instrucțiuni aritmeticeinstrucțiuni logiceinstrucțiunile
d'entrées/sortiesetInstrucțiunile de conectare.

Diagrama arată cum o instrucțiune deMIPS32este decodată.

9
Finisare
Lăț ime
Număr de de Frecvenț ă de
Date Nume des MIPS
gravura transistorilor ceasul
date
(nm)
4 biți/4 biți
1971 Intel 4004 2.300 10 000 108 kHz 0,06
autobuz
8 biți/8 biți
1974 Intel 8008 6 000 6 000 2 MHz 0,64
autobuz
16 biți/8
1979 Intel 8088 29 000 3 000 5 MHz autobuz de biți 0,33

6
16 biți/16
1982Intel 80286 134 000 1 500 la 16 MHz (20 MHz autobuz de biți 1
la AMD)
32 biți/32
1985Intel 80386 275 000 1 500 16 la 40 MHz autobuz de biți 5

1 200 000 1 000 la 32 biți/32


1989Intel 80486 16 la 100 MHz 20
(800nm) 800 autobuz bits

Pentium (Intel 800 la 32 biți/64


1993 3 100 000 60 la 233 MHz 100
P5) 250 autobuz bits

350 la 32 biți/64
1997 Pentium II 7 500 000 233 la 450 MHz 300
250 autobuz bits

250 la 32 biți/64
1999 Pentium III 9 500 000 450 la 1 400 MHz 510
130 autobuz bits

180 la 32 biți/64
2000 Pentium 4 42 000 000 1,3 la 3,8 GHz 1.700
65 autobuz de biți

Pentium 4 D 32 biți/64
2004 125 000 000 90 la 65 2,66 până la 3,6 GHz 9 000
(Prescott) autobuz de biți

Core 2 Duo 64 de biți/64


2006 291 000 000 65 2,4 GHz (E6600) 22 000
(Conroe) bits autobuz

Core 2 Quad 64 biți/64 2*22 000


2007 2*291 000 000 65 3 GHz (Q6850)
(Kentsfield) autobuz de biți (?)
Core 2 Duo 64 biți/64
2008 410 000 000 45 3,33 GHz (E8600) ~24 200
(Wolfdale) autobuz de biți

Core 2 Quad 64 biți/64


2008 2*410.000.000 45 3,2 GHz (QX9770) ~2*24 200
(Yorkfield) bus de biți
Intel Core i7 3,33 GHz (Core i7 64 biți/64
2008 731 000 000 45 ?
(Bloomfield) 975X) bucăți autobuz

Intel Core
64 biți/64
2009 i5/i7 774.000.000 45 3 06 GHz (I7 880) busa de biți
76 383
(Lynnfield)
Intel Core i7 3,47 GHz (Core i7 64 biți/64
2010 1 170 000 000 32 147 600
(Gulftown) 990X) autobuz de biți

Intel Core 3,5 GHz (Core i7 64 biți/64


2011 [Link] 32
i3/i5/i7 2700K) microbuz bits

10
(Sandy
Pod
Intel Core
i7/Xeon 3,5 GHz (Core i7 64 biți/64
2011 2 270 000 000 32
(Sandy 3970X) autobuz de biți

Bridge-E)
Intel Core
3,5 GHz (Core i7 64 biți/64
2012 i3/i5/i7 (Ivy 1 400 000 000
22
3770K autobuz de biți
Pod
Intel Core
3,8 GHz (Core i7 64 biți/64
2013 i3/i5/i7 [Link] 22
4770K autobuz bits
(Haswell)
Intel Core
3,8 GHz (Core i7 64 biți/64
2014 i3/i5/i7 ? 14
5775R) autobuz de biți
(Broadwell)
Intel Core
4 GHz (Core i7 64 biți/64
2015 i3/i5/i7 ? 14
6700K) autobuz de biți
(Skylake)
Intel Core
64 biți/64
2016 i3/i5/i7 ? 14 autobuz bits
(Kabylake)
Intel Core
64 biți/64
2017 i3/i5/i7 10 autobuz de biți
(Cannonlake)
Intel Core 64 biți/64
2018 10
i3/i5/i7(?) autobuz bits

Data: anul de comercializare al microprocesorului.


Nume: numele microprocesorului.
Numărul de tranzistori: numărul de tranzistori con ț inuț i în
microprocesor.
Finesse de gravură (nm): lăț imea minimă posibilă (în nanometri) a
canalul transistorilor, ea servește indirect ca unitate de bază (lambda) în
dimensionarea celorlalte structuri ale circuitului.
Lenanomètre, simbolul m, este o unitate de lungime a sistemului
sistemul internațional de unități (SI).
Un nanometru este echivalent cu 10 angström.
Este un submultiple al metrului, care valorează 10-9m = 0,000 000 001 metru =
0,000 001 milimetru = 0,001 micrometru = 10^0 nanometru (1 nm)
În comparatie grosimea unui păr uman est
de 100 microns = 100 000 nm.
Diametrul unui atom de siliciu este de aproximativ 100 pm = 0,1 nm.

11
În 2014, la finețuri de gravare de ordinul de 10 nm (pentru memorie), on
se retrouve avec certaine structure (comme la couche d'isolation de la grille
transistori) având o grosime de mai puțin de 4nm, ceea ce face ca ceva
zeci de atomi de siliciu.
Prin creșterea fineții gravurii, ne apropiem de limitele de sub
din care comportamentul electric al materialelor depinde mai puțin de
mai puțin din fizica clasică, dar din ce în ce mai mult dinmecanică
cuantic(electronii care traversează grila tranzistorilor prin efect de tunel).
Frecvenț a ceasului: frecvenț asemnal de orăinterne care bate
microprocesor.
MHz = milioane de cicluri pe secundă.
GHz = miliard(e) de cicluri pe secundă.
Lățimea datelor: primul număr indică numărul de biți pe care
o operație este efectuată. Al doilea număr indică numărul de biți
transferate atât între memorie cât și microprocesor.
MIPS: numărul de milioane de instrucț iuni, pe întregi, efectuate de
microprocesor într-o secundă.

12

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