Ministerul nvamntului i Educaiei al Republicii Moldova
Universitatea de Stat Bogdan Petriceicu Hasdeu din
Cahul
Facultatea Economie, Informatic i Matematic
Specialitatea:IT-1301
La Disciplina: TCI
Refer
at
Tema:
Microprocesorul
Efectuat: Lavric Stelia
Verificat: POPOVICI ILONA
Cahul,2013
CUPRINS:
MEMORIU JUSTIFICATIV
Arhitectura intern
Caracteristicile procesorului
Procesorul Funcionare
Familii de procesoare
MEMORIU JUSTIFICATIV
Microprocesorul: este o component electronic ce poate
procesa dou tipuri de informaie: date i comenzi; el primete i trimite
aceste informaii, codate n limbaj binar, prin impulsuri electrice.
n ciuda complexitii sale, microprocesorul este alctuit n principal
dintr-un singur element de baz: tranzistorul (inventat n 1947). Asamblnd
milioane de tranzistori, se pot crea comenzi ce analizeaz starea unor
cureni electrici, rezultnd n execuia pe plan logic a unei adunri, a unei
comparaii ntre dou date etc. Mrimea 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.
Cnd vorbim despre procesoare, ne gndim automat la CPU (Central
Processing Unit), ns majoritatea componentelor dintr-un PC sunt dotate
cu microprocesoare, acestea controlnd placa de sunet, de reea sau placa
grafic (unde este folosit denumirea de GPU - Graphic Processing Unit,
procesor ce rivalizeaz n numr de tranzistori cu un CPU). Circuitele
procesoare ale componentelor i perifericelor sunt att de specializate
nct nu pot comunica direct ntre ele; n schimb, ele depun informaiile utile
n zone specifice ale memoriei, de unde procesorul le poate extrage,
prelucrnd i coordonnd activitatea acestora. Deoarece toate informaiile
tranziteaz obligatoriu CPU-ul, puterea global de calcul a calculatorului va
depinde de 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.
Arhitectura intern
Arhitectura intern se mparte schematic n trei mari blocuri de
tranzistori, numite i uniti:
1) Unitile 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 apariia lui 80486;
aceasta este capabil de operaii matematice cu virgul mobil, precum i
de altele mai avansate, cum ar fi funciile trigonometrice;
- unitatea multimedia, nestandardizat; prima astfel de unitate a fost
MMX, n 1997, urmat apoi de 3DNow, SSE, 3DNow+, SSE2 i SSE3;
funcia lor este aceea de a optimiza programele multimedia (sunet,
grafic 3D, efecte audio-video).
2) Unitile de control, care se ocup cu decodarea instruciunilor,
accesul la memoria RAM, stabilirea prioritilor de calcul etc.
2) Unitatea de memorie cache, mprit n dou subuniti: una
pentru comenzi, cealalt pentru date; memoria cache stocheaz
comenzile i datele cele mai des utilizate.
Caracteristicile procesorului
a) Frecvena
Cea mai comun proprietate a unui procesor este frecvena de tact,
aflat n relaie direct cu puterea sa de calcul. Unitatea de msur a
frecvenei 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. Creterea frecvenei microprocesorului este o metod
important de a crete performanele.
n ultimii ani, din cauza creterii masive a consumului de putere (fapt
care ducea att la supranclzirea componentelor, ct i la creterea
facturilor la energia electric), s-a pus accentul pe crearea altor metode de
cretere a vitezei, astfel nct bariera de 4 GHz nu a fost atins.
Datorit
diferenei
de
arhitectur
dintre
diferitele
generaii
de
procesoare, puterea de calcul poate varia n cazul a dou procesoare cu
aceeai frecven dar aparinnd unor generaii 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 frecvene de ordinul a 2
GHz, dar depesc n performan vechile Pentium 4 ce aveau un tact de
peste
GHz.
Frecvena unui procesor este direct legat de mrimea circuitelor
interne. Fabricantul trebuie s gseasc un echilibru n reducerea
dimensiunii circuitelor; scderea acestora provoac reducerea cldurii
disipate i, dac tehnologia este bine stpnit, permite creterea
frecvenei de lucru; pe de alt parte, frecvena mare determin automat i o
temperatur ridicat.
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 pstreaz informaiile i datele cele mai recent utilizate. Aceasta este
mprit pe mai multe nivele (levels), n funcie de distana fa de
unitatea de calcul. Astfel, memoria cache level 1 poate fi accesat imediat,
cu stadii minime de ateptare, deoarece lucreaz la viteza procesorului,
fiind strns legat de nucleul acestuia. Memoria cache level 2 este de
obicei mai mare i a cunoscut o evoluie marcant; iniial, ea a fost
ncorporat pe placa de baz i oferea o vitez mic; apoi a fost alturat
procesorului, funcionnd la o vitez fracionat dar comparabil cu acesta;
n final, ea a fost integrat n pastila de siliciu a acestuia, avnd astfel o
vitez egal cu cea a CPU-ului. Avantajul memoriei cache const n
reducerea timpilor de ateptare, deci n creterea vitezei de lucru,
deoarece memoria RAM a sistemului este mult mai lent dect procesorul.
Avantajul memoriei cache (level 1 sau level 2) se poate observa uor,
dezactivnd-o din BIOS (dac el permite acest lucru). Ca fapt divers,
eliminarea L1 cache-ului din orice procesor, orict de modern ar fi, chiar
dac ruleaz la 1 sau 2 GHz, chiar dac deine memorie L2 cache
integrat i de dimensiune mare, va produce scderea performanelor pn
aproape de nivelul unui 486.
Exist mai multe tipuri de memorie cache, diferind n funcie 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, cercettorii au constatat faptul c o
suit de instruciuni simple se poate executa mai rapid dect o singur
instruciune complex, iar diminuarea numrului de comenzi i a
complexitii lor permite
reducerea spaiului utilizat de acestea n procesor, avnd ca i consecin
creterea vitezei de lucru, astfel aprnd arhitectura RISC (Reduced
Instruction Set Computer). Procesoarele uzuale din ziua de azi au la baz
o combinaie a celor dou arhitecturi.
d) Execuia super-scalar, procesoare multi-core
Super-scalar nseamn posibilitatea de a executa mai multe instruciuni
simultan prin integrarea mai multor uniti 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
instruciunile i datele n paralel (aproape dublnd performana n aplicaiile
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 evoluia
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 aprut n
1999, abia dup doi ani de la lansarea lui Pentium II i la ase ani dup
apariia
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
ctre funcii din ce n ce mai numeroase i mai complexe, utile de exemplu
n aplicaii multimedia.
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,808680486 , 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 dect 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
ajungndu-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
pna la 133 , fara prea mult success. Surprinzator , dupa 486 nu a urmat
586 , dect pentru Cyrix si AMD . Intel a decis sa schimbe formatul numelui
trecnd 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 ,
existnd un cache de 8 Ko pentru cod si unul similar pentru date . Pentru
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
mbunatatirea executiei ramificatiilor din programe s-a implementat
conceptul de predictie a salturilor, introducndu-se un tabel pentru
memorarea adreselor cele mai probabile la care se fac salturile . Registrele
principale au 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
sistemele
multiprocessor .
Amd a lansat ntr-o perioada intermediara procesorul 586 , apoi K5 .
dupa 586 pentru Cyrix urmnd 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) sau 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
Instruction,Multiple
se bazeaza pe o arhitectura SIMD (Single
Data)
permitnd
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 avnd un cache L2 de 256 Kb strns
legat de CPU printr-o magistrala dedicata pe 64 de biti. Procesoarele
Pentium si Pentium Pro au fost dezvoltate pna 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
Pentium la 150Mhz , pe cnd 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 numar standard de pini (321) . Pentru a descuraja concurenta , Intel a
schimbat modul de conectare a procesoarelor Pentium II-III , conectarea la
mainboard facndu
Cyrix a ramas n urma , unui 6x86 la 200Mhz corespunzndu-i un
-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 curnd 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 ntlni 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 .
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
8086
Anul Latim Latime Spatiu
Alte caracteristici
lansar
e
mag. de
de
ii
regist date/adr adresa
re
ese
re
(biti)
fizic/vir
t.
1978
16
16/20
1Mo primul procesor pe 16 biti
8088
1980
16
8/20
1Mo
80186
80286
1982
1982
16
16
16/20
16/24
1Mo
16Mo
80386
1985
32
32/32
80486
1989
32
32/32
4Go/6
4To
4Go/6
4To
Pentium
1992
32
64/32
Pentium
Pro
1995
32
64/32
Pentium
II, si III
1997,
1999
32
64/32
4Go/6
4T
4Go/6
4T
4Go/6
4T
procesorul folosit pentru
primul IBM PC
8086 cu suport I/O pe cip
procesor pentru IBMPC,varianta AT
primul procesor pe 32 de
biti
incorporeaza coprocesorul
matematic si unitatea de
management a memoriei
arhitectura pipeline
superscalara
primul reprezentant al
familiei P6 realizeaza
executia dinamica a
instructiunilor
facilitati suplimentare de
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
considerente:
compatibilitate
este
necesara
din
mai
multe
- 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
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.