Cercetarea Unitatii Centrale de Procesare, a Microprocesoarelor
Universitatea Politehnica Bucuresti
Ingineria si Managementul Sistemelor Tehnologice
Cercetarea Unitatii Centrale de Procesare, a microprocesoarelor.
Influenta concurentei Intel-AMD asupra dezvoltarii microprocesoarelor
Student: Nedelcu Daniel Madalin Coordonator:
Grupa: 622AA Prof. Conf. Univ. Dr. Ing. Elena Lacatus
Mai 2016
Cuprins
Obiective
Intrebari de cercetare
Metodologie
Microprocesorul
Istoria microprocesoarelor Intel-AMD
Unitatea centrala de procesare
Operatiile microprocesorului
Procesoarele cu nuclee multiple
Viitorul Intel-AMD
Concluzie
Bibliografie
Obiective
Scopul principal al acestui proiect este de a cerceta evolutia microprocesoarelor de-a lungul istoriei si cum a fost influentata aceasta de cele doua mari companii producatoare Intel si AMD
Un alt scop este cercetarea operatiilor logice efectuate de Unitatea Centrala de Procesare si cum au fost ele imbunatatite in timp, pentru a ajunge la frecventele de calcul din zilele noastre
Un alt scop ar fi cercetarea procesoarelor cu nuclee multiple si cum afecteaza performanta acestora numarul de nuclee.
Si un ultim scop ar fi inovatiile Intel-AMD in ultimii ani si in anii urmatori, bazate pe anunturi facute de aceste companii
Intrebari de cercetare
Intrebarile de cercetare isi vor gasi raspunsul pe parcursul acestei activitati de cercetare.
Formularea lor in prima parte a raportului este esentiala pentru reducerea timpului de cautare a raspunsurilor.
Va prezint intrebarile ce vor defini proiectul:
Microprocesorul
Definitie: [Microprocesorul este o unitate centrală de prelucrare (CPU) a unui calculator realizată adesea pe o singură plăcuță de siliciu sau alt material semiconductor (chip), care în prezent poate avea peste un milion de tranzistoare. Microprocesorul efectuează operațiile esențiale de prelucrare și controlează celelalte elemente ale sistemului de calcul. Microprocesorul constituie „creierul calculatorului”.] sursa: https://ro.wikipedia.org/wiki/Microprocesor
Forma , designul si implementarea microprocesoarelor s-a schimbat pe parcursul anilor, dar la baza operatiile logice au ramas aproape neschimbate. Principalele componente ale unui procesor sunt unitatea aritmetico-logica (UAL) care proceseaza calculele aritmetice sau operatiile logice, registrii de procesare ce alimenteaza operanzii spre UAL si stocheaza rezultatele operatiilor ale UAL, si o unitate de control ce aduce instructiuni de la memorie si le “executa” directionand operatii coordonate spre UAL, registri si alte componente.
Cele mai multe procesoare sunt microprocesoare in ziua de astazi, adica ele sunt pe un singur circuit integrat, numit chip. Un chip care contine un procesor poate contine si memorie, interfete periferice si alte componente ale unui computer; astfel de dispozitive se numeste microcontrollere sau sisteme pe chip ( SpC). Unele computere au un procesor cu nuclee multiple, care este un chip ce contine unul sau mai multe CPU-uri numite “nuclee”. In acest context, chipurile singulare sunt uneori denumite “sockete”. Procesoarele de matrice sau procesoarele vectoriale au procesoare multiple ce opereaza in paralel, cu nicio unitate considerata centrala.
Istoria microprocesoarelor
In anul 1968, in data de 18 Iulie, Intel Corporation a pus bazele procesoarelor pe care le folosim in ziua de azi. Intel a dezvoltat o tehnologie care nu a mai fost intalnita pana in vremea de atunci si astfel, a reusit sa “inventeze” procesoarele pe arhitectura x86, arhitectura care este folosita si astazi, in PC-urile noastre. Dupa lungi cercetari, primul procesor „comercial” a fost lansat in anul 1971 la care au lucrat foarte multi specialisti in domeniu. Pana in anul 1990 Intel a investit extrem de mult in dezvoltarea procesoarelor, a adus cei mai buni specialist si a beneficiat de cea mai intalta tehnologie de atunci si astfel, procesoarele au ajuns sa aiba o evolutie extreme de rapida.
[sursa: http://zonait.tv/istoria-procesoarelor-intel/]
In anul 1968, in data de 18 Iulie, Intel Corporation a pus bazele procesoarelor pe care le folosim in ziua de azi. Intel a dezvoltat o tehnologie care nu a mai fost intalnita pana in vremea de atunci si astfel, a reusit sa “inventeze” procesoarele pe arhitectura x86, arhitectura care este folosita si astazi, in PC-urile noastre. Dupa lungi cercetari, primul procesor „comercial” a fost lansat in anul 1971 la care au lucrat foarte multi specialisti in domeniu. Pana in anul 1990 Intel a investit extrem de mult in dezvoltarea procesoarelor, a adus cei mai buni specialist si a beneficiat de cea mai intalta tehnologie de atunci si astfel, procesoarele au ajuns sa aiba o evolutie extreme de rapida.
Primul procesor comercial fabricat de catre Intel a fost Intel 4004, acesta fiind produs pana in anul 1981. Avand o baza din ceramica si fiind conceput cu 16 pini, procesorul rula la frecvente intre 108KHz si 740KHz. Aceasta noua tehnologie integra 2300 de tranzistori, iar procesul de fabricare era pe 100μm. Acesta a reprezentat o adevarata inventie tehnologica. Procesorul 4004 a fost o adevarata “vedeta” a anilor 70 fiind capabil sa execute 92600 de instructiuni pe secunda sau 1200 de calcule pe secunda. Dupa cei 10 ani in care a tot fost produs, apare o noua versiune de procesor care il inlocuieste.
Astfel, in anul 1972 apare Intel 8008, un procesor pe 8 biti care rula la o frecventa de la 0.5MHz pana la 0.8MHz si integra 3500 de tranzistori. Perioada acestuia de glorie a fost foarte scurta deoarece in anul 1974 acesta a fost inlocuit cu Intel 8080, care integra 4500 de tranzistori si rula la o frecventa de 2MHz, procesul de
fabricare al acestuia fiind pe 6000nm. Intel 8080 a fost integrat in calculatorul Altair 8800 si pretul pentru acest stramos al calculatoarelor din ziua de azi era de 300$ in anul 1974.
[sursa: http://zonait.tv/istoria-procesoarelor-intel/]
Desigur, urmatorul pas logic sunt procesoarele cu 16 biti, introduse la sfarsitul anilor ’70 si inceputul anilor ’80, semnificativ mai bune fata de predecesoarele lor. Inceputul erei procesoarelor x86 este marcata de aparitia acestor procesoare pe 16 biti. Intel 8086 este cunoscut si sub numele de iAPX 86, avea29000 de tranzistori , iar procesul de fabricare era pe 3000nm. Procesorul rula la frecvente de la 5MHz pana la 10MHz, avea 40 de pini. Primul calculator care a beneficiat de aceasta tehnologie este IBM PS/2.
Aparitia acestul procesor a condus la o perioada zbuciumata. Au existat problem deoarece Uniunea Sovietica a reusit sa cloneze procesorul sub numele de KP1810BM86. Acest fapt a adus nesiguranta in firma, iar personalul a fost acuzat de spionaj. In anul 1979 pe data de 1 Iulie, Intel a lansat modelul 8088, integrat pentru prima data in calculatorul IBM 5150. Procesorul rula la o frecventa intre 5MHz si 8MHZ si avea un bus pe 8 biti spre deosebire de 8086 care era pe 16 bit. Pretul acestui procesor a fost la lansare de 124.8$.
In timp, cei de la Intel reusesc sa isi dezvolte tehnologia tot mai mult si mai repede, fapt demonstrat de aparitia, in anul 1982, a urmatoarei versiuni, 80186, care avea la baza modelul 8086, dar era construit folosind un proces de fabricatie de 2000nm si putea depasi un million de instructiuni pe seconda. Spre deosebire de 8086 care avea 0.75 de milioane de instructiuni/secunda la 10MHz, frecventa maxima a lui 80186 era de 25MHz. Intel 80186 a fost integrat in calculatorul Tandy 2000.
[sursa: http://zonait.tv/istoria-procesoarelor-intel/]
Intre anii 1981 si 1982, Intel a dezvoltat o noua versiune de procesor a carui productie a fost oprita imediat. Acest fapt se datoreaza performantelor relativ scazute in comparatie cu procesorul aparut anterior. Desi aducea pe piata o tehnologie revolutionara, fiind primul procesor pe 32 de biti, nu s-a bucurat de prea mult succes. Problema era cauzata in primul rand de frecventele foarte mici la care acesta putea rula si costul de productie ridicat.
Aparitia urmatorului model de procesor, 80286 (sau Intel 286) a ramas in istorie ca fiind cel mai mare salt de performanta fata de generatia anterioara. Spre deosebire de modelul anterior care avea doar un milion de instructiuni pe secunda, acesta beneficia de o capacitate de 4 ori mai mare. Procesul de fabricatie a fost scazut la 29000 de tranzistori. In afara faptului ca Intel 80286 era foarte performant, acesta s-a dovedit efficient si din punct de vedere al costului de productie. Procesorul si-a pastrat recordul pana in anul 2007, an in care tot Intel revolutioneaza tehnologia fabricand seria de procesoare Atom.
Era catre procesoarele pe 32 de biti a fost deschisa cu adevarat in anul 1985, an in care apare Intel 386DX. Frecventa de la baza a acestui processor era de 16MHz, dar putea ajunge pana la 33MHz. Inca present in unele scoli din tara noastra, acest processor a fost fabricat pana in anul 2007. Integra 275000 de tranzistori si putea executa maxim 11.4 milioane de instructiuni pe secunda. Avand doar 24 de pini conectati la circuitul placii, procesorul limita cantitatea de RAM la maxim 16MB. Deoarece modelul ducea lipsa unui coprocesor matematic, tot Intel 80278 a ramas in top pana la aparitia lui 80387.
In anul 1990 Intel lanseaza procesorul 386SL dedicate laptopurilor. Acesa integra memoria cache si controllerul de memorie. Procesorul dispunea de 855000 de tranzistori, iar frecventa era de la 20MHz pana la 25MHz.
Un alt processor celebru care inca se mai gaseste prin scolile din Romania este Intel 486. Fabricat in 1989, acesta avea o frecventa minima de 25MHz si una maxima de 50MHz. Avand un total de 1.2 milioane de tranzistori, acest procesor era capabil de 41 de milioane de operatiuni pe secunda. In anul 1992 Intel lanseaza o versiune imbunatatita a acestui processor si-l numeste 286DX2 care putea rula la 66MHz. Ultima versiune a acestui processor avea capacitatea de a ajunge si la o frecventa de 100MHz. Produsul a fost destinat celor care nu doreau sa investeasca prea mult intr-un calculator. Desi ultima variant a acestui processor a aparut in 1994, acesta a fost fabricat pana in 2007.
[sursa: http://zonait.tv/istoria-procesoarelor-intel/]
Ajungem astfel, in anul 1993 cand, la 22 martie , a fost lansat primul procesor Pentium. De mentionat este faptul ca numarul tranzistoarelor ajunsese la 3.3 milioane, iar ca si frecventa, acest procesor a ajuns pana la 200MHz, odata cu modelul actualizat care a fost lansat pe piata in 1996. In 1997 a fost lansata inca o versiune actualizata, Intel P55C, primul procesor care recunoastea instructiunile MMX. Acesta rula la 300MHz, iar productia sa a durat pana in anul 1999. Numele procesorului “Pentium” provine din limba greaca, “pente” insemnand cinci. Procesoarele sub brandul Pentium se fabrica si in zilele noastre.
In 1994, un profesor de la colegiul Lynchburg a descoperit o problema, mai exact un bug la aceasta serie. Intel P5 Pentium avea un defect din fabrica: bug-ul numit “Pentium FDIV” afecta unitatea de calcul a procesorului care returna zecimale incorecte in operatiuni de impartire, lucru care nu putea fi admis in domeniul matematicii sau al ingineriei, unde sunt necesare calcule exacte. Din fericire, Intel si-a asumat greseala si a reparat-o in seriile urmatoare.
[sursa: http://zonait.tv/istoria-procesoarelor-intel/]
Pana in anul 1998 a fost fabricat un procesor care ar fi trebuit sa inlocuiasca seria P5. Acesta se numea Intel Pentium Pro care suporta un maxim de 64GB RAM. Procesorul incorpora 5.5 milioane de tranzistori, iar viteza lui era de 150 -200MHZ.
Pentium 2 a fost lansat in 1997 si avea 7.5 milioane de tranzistori si o frecventa de baza de 233MHz, putand ajunge la un maxim de 450MHz. Pentium 2 a fost un procesor adresat consumatorilor si era bazat pe arhitectura lui Pentium Pro. Procesorul a fost inlocuit in 1999, odata cu aparitia lui Pentium 3.
In 1998 apare seria Celeron, destinata consumatorilor low end care nu aveau nevoie de o putere de calcul prea mare. Primul model Celeron ingloba 19 milioane de tranzistori si avea o frecventa de 266MHz. In momentul de fata ajunge pana la 3.6GHz. Pentium 3 a fost fabricat pana in 2003 si a dus la un scandal in Europa. Parlamentul European a acuzat compania Intel ca ar supraveghea activitatea utilizatorului prin prezenta alaturi de procesor si a unui PSN ( Processor Serial Number) care putea fi accesat de catre softurile instalate pe calculator, daca nu era oprit din BIOS.
Intel s-a conformat si a scos PSN-ul incepand cu seriile Tualatin. Un lucru interesant in perioada de fabricatie a acestui procesor este faptul ca Intel intra in competitia gigahertzilor impotriva AMD cu acest model. Astfel, Pentium 3 ajunge sa aiba o frecventa maxima de 1.4GHz.
Anul 2000 este cel mai dramatic pentru Intel. Se lanseaza Pentium 4 cu un nucleu bazat pe arhitectura Netburst. Procesorul urma sa depaseasca viteza de 2GHz, insa avea un consum de current extreme de mare si drept consecinta, degaja prea multa caldura. Cu timpul, seria Pentium 4 a evoluat si a primit functia de Hyperthreading care era initial disponibila doar pe procesoarele de server. Pentium D este primul dual core produs de Intel. Urmatorul pas major a fost reprezentat de procesoarele de 64 biti Intel 64 cu o constructie denumita “Core microarchitecture”.
Prima tehnologie de acest gen a fost introdusa in 2006. De notat ca aici apar si procesoarele cu patru nuclee. Erau mai multe modele oferite din aceste tipuri de procesoare: Xeon, (destinat pentru servere si workstation-uri,) Intel Core 2 (pentru desktop-uri), Pentium Dual Core, dar si procesoare mai modeste, precum Celeron si Celeron M. Procesoarele dual core erau capabile de un multi tasking avansat si se descurcau foarte bine in conversia video, randari, editari audio si video. Totusi, la inceput a aparut o problema de optimizare a nucleelor, problema care se mai regaseste si in zilele noastre.
Core 2 Duo a avut un impact foarte mare in cresterea performantei spre deosebire de predecesori. Intel a incercat sa „micsoreze” procesul de fabricare la fiecare doi ani, si odata cu Core 2 Duo a fost introdus modelul Tik-Tok. Tik inseamna ca o varianta de nucleu va fi mult mai performanta decat varianta anterioara iar Tok inseamna ca varianta va fi slaba in performante, spre deosebire de varianta precedenta.
Anul aparitiei primelor procesoare i3, i5 si i7 este 2008. Acestea au o arhitectura de baza numita Westemere care a fost la baza tuturor seriilor Intel Xeon, Celeron si Pentium. Westmere a putut fi scalat pana la 8 nuclee si avea integrat 2.3 milioane de tranzistori la o frecventa de 3.33GHz. In 2011 si-a facut aparitia Sandy Bridge/Ivy Bridge. Procesoarele cu aceasta arhitectura au modele precum Celeron, Pentium, Core i3, i5, i7. La aceasta serie deja exista si procesor cu 8 nuclee fizice (Core i7 Sandy Bridge-E). Aceasta din urma are 16 thread-uri si 2270 milioane de tranzistoare.
[sursa: http://zonait.tv/istoria-procesoarelor-intel/]
Cel de-al doilea procesor de pe piata este AMD. Advanced Micro Devices sau AMD cum mai este cunoscuta firma cu sediul in California este al doilea mare producator de procesoare din lume, dupa Intel.
In anul 1969 opt oameni reusesc sa creeze in mod official compania AMD al carei sediu era in sufrageria lui John Carey, unul din fondatori. Compania s-a dezvoltat incet dar sigur, plecand de la un capital de doar 100.000 de dolari. Compania reuseste sa stranga suficiente fonduri pentru a incepe productia si astfel se muta in primul sau sediu permanent, in Sunnyvale. In primii ani, produsele AMD erau doar simple copii imbunatatite ale produselor aflate deja pe piata. In continuare, compania se dezvolta foarte repede, iar in 1973 incepe productia la prima fabrica AMD din afara Statelor Unite. Dupa cinci ani de activitate, compania ajunge sa aiba vanzari in valoare de 26.5000.000 de dolari, oferind peste 200 de tipuri de produse. In 1976, AMD semneaza primul accord cu Intel prin care se facea un schimb reciproc in urma caruia AMD devine al doilea producator de procesoare Intel. Acordul a fost reinnoit in 1981 si completat apoi in fiecare an.
[sursa: http://www.pchouse.ro/blog/evolutia-procesoarelor-amd/ ]
Anul 1982 este anul in care AMD semneaza un contract cu Intel si astfel devine al doilea producator licentiate de surse de procesoare 8086 si 8088. In 1991 AMD lanseaza AM386, clona de processor Intel 386. In mai putin de un an compania a vandut un milion de unitati, intrerupand monopolul companiei Intel pe aceasta piata. Mai tarziu, AM486 a fost utilizat de catre un numar mare de producatori de echipamente originale si astfel a devenit popular. Primul processor complet AMD pe arhitectura x86 a fost K5, lansat in 1996. Denumirea acestuia a fost o trimitere la “Kryptonite”, substanta de care se spunea in comix-uri ca este singura substanta care ar putea sa-l afecteze pe Superman, clara trimitere la Intel, care a dominat piata pe timpurile acelea.
[sursa: http://www.pchouse.ro/blog/evolutia-procesoarelor-amd/ ]
Familia de procesoare K6 apare in anul 1997 si pune serios in pericol dominatia companiei Intel pe piata procesoarelor. Totusi, AMD devine lider doar cand AMD K7, a saptea generatie de procesoare pe x86, care si-a facut debutul in 1999 sub numele de Athlon. Arhitectura K8 a reprezentat o revizuire majora a celei denumita K7. O caracteristica de mentionat o reprezinta adaugarea extensiei pe 64 de biti la setul de instructiuni x-68, denumita official AMD 64. Initial, aceasta tehnologie a fost lansta pentru procesoarele Operon, orientate pentru servere. In scurt timp, compania s-a ocupat si a incorporate aceasta arhitectura intr-un produs pentru calculatoare de timp desktop.
Spre sfarsitul anului 1999 si inceputul lui 2000, dominarea pietei de catre compania Intel este intrerupta. AMD lanseaza un processor care depaseste performantele procesoarelor Pentium 3 oferite de Intel. Acest eveniment a avut ca urmare o crestere spectaculoasa a vanzarilor companiei AMD si astfel, in vara anului 2000 se intareste pozitia companiei, cand Intel lanseaza Pentium 3 si este retras de pe piata la scurt timp din cauza unui bug semnalat de catre presa. Acest fapt a dus la un nou val de cereri pentru procesoarele AMD care au atins frecvente din ce in ce mai mari. Desi in anul 2003 AMD se situeaza pe locul doi, compania anunta ca va lansa primul procesor pe 64 de biti compatibil cu aplicatiile de pe 32 de biti contemporane vremii de atunci.
AMD revine la politica sa de a livra procesoare mult mai ieftine ca cele de la Intel, in 2004. Compania scoate pe piata doua variante foarte appreciate de public, Duron si Sempron care ajung sa fie rivalul direct al procesoarelor Celeron, special concepute pentru cei cu bugete mici. In data de 21 aprilie 2005 compania lanseaza primul procesor Opteron cu doua nuclee care era destinat serverelor.
Prima familie de procesoare AMD 64 X2 cu doua nuclee destinate pentru calculatoare de tip desktop au fost lansate cu o luna mai tarziu. La inceputul lunii mai a anului 2007 AMD a renuntat la extensia 64 ea fiind substituita cu AMD X2. Incepand din anul 2000 AMD a devenit al doilea mare producator mondial de procesoare, reusind sa cucereasca o mare parte din piata de PC-uri de uz casnic. Tinand cont de raportul calitate – pret, se poate trage concluzia ca pe toata perioada, de la lansare si pana in prezent procesoarele AMD s-au situat pe primul loc pe acest segment de piata.
Din 2007 AMD inlocuieste seria de procesoare Athlon cu Phenom, bazata pe microarhitectura K10 oferind veritabile procesoare Triple-core si Quad-core la preturi fara concurenta. Aparitia lui K10 s-a facut pe data de 10 septembrie 2007. Acest procesor devine succesorul lui K8 si are patru nuclee, facand parte din generatia a treia a procesoarelor Opteron.
[sursa: http://www.pchouse.ro/blog/evolutia-procesoarelor-amd/]
Compania AMD s-a orientat si spre piata mobile si astfel, in 2003, AMD a creat o platform orientate spre aceasta piata. Aceasta platform a imbinat procesoarele mobile Athlon 64 si Sempron. In 2007, firma a anuntat oficial ca aceasta platform va veni impreuna cu un processor AMD Turin 64 x2.Pe viitor, AMD are planuri sa lanseze procesoare cu patru nuclee cu capabilitati 3D (Fusion).
Desi a pornit doar de la capitalul in valoare de 100.000 de dolari pe care ii avea la dispozitie in 1969, compania AMD s-a dezvoltat si a ajuns sa aibe venituri anuale de 4.6 miliarde de dolari. Cu toate acestea, au existat perioade mai grele datorate fie recesiunii economice, fie competitiei cu care se confrunta. Deseori, AMD a fost nevoita sa concedieze o parte din angajati pentru a supravietui. Existenta companiei AMD este de bun augur pentru piata procesoarelor. intotdeauna AMD a oferit produse mai ieftine decat Intel la performante apropiate.
In perioada 1999-2000 procesoarele AMD erau chiar mai performante decat cele oferite de Intel, chiar daca preturile erau mult mai mici. Se observa destul de clar faptul ca utilizatorii romani prefera sa achizitioneze procesoare Athlon XP cu frecvente mai mici de 2 GHz, chiar daca Intel ofera produse mai performante. Evident, principalul criteriu care duce la luarea unei astfel de decizii este pretul mult mai mic al procesoarelor AMD.
CPU-uri de integrare la scara mica
O metoda de constructie a mai multor tranzistori interconectat a fost inventata. Circuitul integrat (IC) permitea fabricarea unui numar de tranzistori pe un singur chip. Unitatile centrale de procesare bazate pe aceste “blocuri” ICs sunt adesea numite si dispozitive de “integrari la scara mica” (SSI).
Acestea, fiind la fel ca cele folosite la Computerul de ghidare Apollo, contineau de obicei cativa tranzistori. Pentru a construi o intreaga unitate centrala de procesare din unitati SSI erau necesare mii de chip-uri individuale si totusi ar fi ocupat mai putin spatiu si ar fi necesitat mai putina cantitate de energie decat transistoarele precedente.
CPU, memoria si interfata unui DEC PDP-8/l.
Construit din circuite integrate de scara medie
[sursa: https://en.wikipedia.org/wiki/Central_processing_unit]
CPU-uri de integrare la scara mare
Lee Boysel a publicat articole , inclusiv un “manifest” in 1967, care descria cum sa construiesti un computer din un numar relativ mic de circuite de integrare la scara mare ( LSI ) care ar fi fost echivalent cu un computer pe 32 de biti. Singura cale de a construi un chip LSI , care este un chip cu o suta sau mai multe porti, era de a folosi un proces MOS ( Logic PMOS, logic NMOS, logic CMOS). Totusi, unele companii au continuat sa construiasca procesoare din chip-uri bipolare , deoarece acestea erau mult mai rapide decat chip-uri MOS, de exemplu, procesoarele pentru date din chip-urile TTL pana in anii 1980.
Oameni construind computere cu viteza mare vroiau ca procesoarele sa fie rapide, asa ca in 1970 au construit un procesor dintr-un sistem SSI si un sistem SSI mediu – (MSI) 7400. La acel timp , chip-urile MOS erau asa de incete incat erau considerate folositoare doar pentru unele aplicatii ce necesitau energie putina.
Cum tehnologia microelectrica avansa, un numar mai mare de tranzistori erau plasati pe chipurile IC, numarul individual al acestora fiind mai mic pentru construirea unei unitati centrale de procesare
.
Interiorul unui microprocesor Intel 80486DX2 cu dimensiunea 12 x 6.5 mm
[sursa: https://en.wikipedia.org/wiki/Central_processing_unit]
Operatiile
Principala caracteristica a majoritatii procesoarelor din unitatile centrale de procesare, netinand cont de forma fizica pe care o au, este de a executa o secventa stocata de instructiuni numite “program”.
Instructiunile care trebuiau executate erau tinute intr-un fel de memorie a computerului. Toate unitatile centrale urmeaza secventele de abordare si de decodare apoi executa pasi pentru o operatie, care sunt cunoscute ca ciclul de instructiuni.
Dupa executarea unei instructiuni, intregul proces se repeta. Daca se executa o instructiune de sarire , programul se va modifica in asa fel incat sa contina adresa exacta a acelesi instructiuni care a fost sarita si apoi programul se executa in parametrii normali. In unitati centrale de procesare mai complexe, pot fi preluate mai multe instructiuni, decodate si executate simultan.
Aceasta sectiune descrie ce este in general numita “classic RISC pipeline”, care este destul de comuna printre procesoarele folosite in multe dispozitive electrice. Ignora rolul important al memoriei cache a CPU, si desigur stagiul de acces al conductei.
Unele instructiuni de fapt manipuleaza programul decat sa-l faca sa produca rezultate directe. Astfel de instructiuni sunt in gemeral numite “sarituri” si faciliteaza comportamentul programul in “hopuri”, executia conditionata a programului, si existenta functiilor. In unele procesoare, unele instructiuni schimba statutul bitilor intr-un “steag al registrilor. Aceste steaguri pot fi folosite sa influenteze cum se comporta un program , deoarece indica de obicei cat de mult poate scoate variate operatii. De exemplu, in astfel de procesoare , o instructiune de comparare evalueaza doua valori sau sterg biti din registrul de steaguri pentru a indica pe cea mai mare sau daca sunt egale.
Preluarea
Primul pas, preluarea, implica prelurea unei instructiuni( care este reprezentata de un numar sau o succesiune de numere) din memoria unui program. Locatia instructiunilor (adresa) in memoria programului este determinata de un program contra (CP) , care stocheaza un numar ce identifica adresa urmatoarei instructiuni ce trebuie preluata.
De obicei, instructiunile ce trebuiesc preluate vin din memoria relativ inceata, cauzand procesorul sa stationeze in timp ce asteapta ca instructiunea sa fie returnata. Aceasta problema este adesea intalnita in procesoarele moderne din cauza memoriilor cache si a arhitecturilor conductelor.
Decodarea
Instructiunea pe care o preia procesorul din memorie determina ce va face acesta mai departe. In decodare, pas facut de decodorul de instructiuni, instructiunea este acoperita in semnale ce controleaza unele parti ale unitatii centrale de procesare.
Modul in care instructiunea este interpretata este definita de arhitectura setului de instructiuni (ISA) a procesorului. In repetate randuri , un grup de biti ( care este un “camp”) in interiorul instructiunii, numit cod OP, indica ce operatie trebuie executata, in timp ce campurile ramase de obicei aduc informatii suplimentare necesare pentru operatie, ca operanzii.
In unele design-uri de procesoare decodorul de instructiuni este implementat ca un circuit din fire tari , neinlocuiubile. In altele , un microprogram este folosit sa traduca instructiunile in seturi de semnale de configuratii ale procesorului, care sunt aplicate secvential peste mai multe pulsatii ale ceasului. In unele cazuri memoria ce stocheaza microprogramul se poate rescrie, fiind posibila schimbarea modului in care procesorului decodeaza informatia.
Executarea
Dupa preluare si decodare, urmeaza pasul de executare. Depinzand de arhitectura procesorului, aceasta ar putea fi dintr-o singura actiune sau din mai multe secvente de actiuni. In timpul fiecarei actiuni, parti variate ale procesorului sunt conectate electric pentru a putea functiona toate sau doar o parte pentru operatia dorita iar apoi actiunea este completata de obicei dupa un puls al ceasului. De multe ori rezultatele sunt scrise pe un registru intern al procesorului pentru accesul rapid al instructiunilor succesive.
In alte cazuri rezultatele ar putea fi scrise pe o memorie cu o capacitate mai mare dar mai putin scumpa. De exemplu, daca o instructiune de adunare trebuie executata, unitatea aritmetico-logica (ALU) este conectata la o pereche de surse operande( numere care sa fie adunate), ALU este configurata sa execute o operatie de adunare in asa fel incat intrarile operanzilor sa apara ca iesiri, si iesirea ALU este conectata la stocarea (ex: registrul de memorie) ce va primi suma. Cand pulsul frecventei se produce, suma este transferata pe stocare si, daca rezultatul sumei este prea mare, o atentionare de umplere aritmetica se va seta.
Structura si implementatie
Construite din fire tari, in interiorul procesorului sunt tiparite un set de operatii de baza care pot fi executate, numite set de instructiuni. Astfel de operatii pot implica, de exemplu, adaugarea sau scaderea a doua numere, compararea lor, sau sarirea la alta parte a programului.
Fiecare operatie de baza este reprezentata de o combinatie particulara de biti, cunoscuta ca limba masinii “opcode”; in timp ce executa instructiuni intr-un program al unei masini, procesorului decide ce operatie sa execute “decodand” codul “op”. Un limbaj complet de instructiuni al masinii , consta intr-un “opcode” si , in multe cazuri, biti in plus ce specifica argumente pentru operatie.
Urcand pe scara complexitatii, un program in limbaj al masinii de calcul este o colectie de instructiuni in limbajul acelei masini pe care procesorul il executa.
Actuala operatie matematica pentru fiecare instructiune este executata de circuitul combinational logic din interiorul procesorului cunoscuta ca unitatea aritmetico-logica sau ALU. In general , un procesor executa o instructiune , preluand-o din memorie, folosindu-i unitatea aritmetico-logica pentru a executa o operatie, si apoi stocand-o in memorie.
Schema bloc a unui computer de bază uniprocesor – CPU . Liniile negre indică fluxul de date , în timp ce liniile de culoare roșie , indică fluxul de control ; săgețile indică direcțiile de curgere
[sursa: https://en.wikipedia.org/wiki/Central_processing_unit]
Procesoarele cu nuclee multiple
Un procesor cu nuclee multiple este o componenta singulara cu doua sau mai multe unitati de procesare numite “nuclee”, ele fiind unitatile care citesc si executa instructiuni de programe. Instructiunile sunt instructiuni normale CPU (ca de exemplu adauga, muta date) , dar nucleele multiple pot efectua mai multe instructiuni in acelasi timp, crescand
viteza pentru programe care pot fi supuse calculului paralel.
Diagrama unui procesor dual-core cu L1 Cache si shared L2 Cache
[sursa: https://en.wikipedia.org/wiki/Multi-core_processor]
Producatorii integreaza nucleele intr-un singur circuit integrat (cunoscut ca si cip multiprocesor sau CMP). Inginerii au inventat primimele procesoare cu un singur nucleu. La mijlocul anilor 80 Rockwell International au produs versiuni ale procesoarelor 6502 cu doua nuclee 6502 pe un chip , cunoscute ca R65C00, R65C21 si R65C29, impartind pinii chip-ului pe faze diferite ale frecventei. Intel, AMD si alti producatori au produs procesoare cu nuclee multiple la inceputul anilor 2000.
Procesoarele cu nuclee multiple pot avea:
Doua nuclee ( exemplu: AMD Phenom II X2 si Intel Core Duo)
Trei nuclee ( exemplu: AMD Phenom II X3)
Patru nuclee ( exemplu: AMD Phenom II X4, Intel I5 si I7)
Sase nuclee ( exemplu: AMD Phenom II X6, AMD FX seria 6xxx, Intel Core I7 Extreme Edition 980X)
Opt nuclee ( exemplu: Intel Core i7 5960X Extreme Edition si AMD FX-8xxx)
Zece nuclee ( exemplu : Intel Xeon E7-2850)
Sau mai multe – pana la 18 nuclee pe Intel Xeon E5 2699v3 sau pana la 32 pe viitoarele procesoare Zen, AMD Opteron APU.
Un procesor Intel Core 2 Duo E6750 dual-core
[sursa: https://en.wikipedia.org/wiki/Multi-core_processor]
Un procesor AMD Athlon x2 6400+ dual-core
[sursa: https://en.wikipedia.org/wiki/Multi-core_processor]
Un procesor cu nuclee multiple implementeaza multiprocesarea intr-un singur pachet fizic. Designerii pot cupla nucleele dintr-un dispozitiv multi-nucleu strans sau slab. De exemplu, nucleele pot sau nu pot interschimba memoria cache, si pot implementa pasarea mesajelor sau memoriei distribuite prin metode de comunicare intre nuclee.
Procesoarele cu nuclee multiple sunt folosite in gama larga pe multe domenii de aplicatie, incluzand scopuri generale, network, procesare a semnalului digital si grafica (GPU). Imbunatatirea performantei dobandita prin folosirea procesoarelor cu nuclee multiple depinde foarte mult de algoritmii software folositi si implementarea lor. In particular, dobandirile posibile sunt limitate de partea de software care poate rula in paralel simultan pe mai multe nuclee.
Cele mai multe aplicatii nu sunt consumatoare mari de resurse, doar daca nu cumva programatorii investesc in inhibarea acestora si recreearea intregii probleme.
Terminologie
Termenii de “nucleu multiplu” si “nucleu dual” de obicei se refera la unitatea centrala de procesare (CPU) dar uneori se aplica si la procesoarele de semnal digital si sistemele pe chip (SoC). Termenii sunt in general folositi doar pentru o referinta la microprocesoarele cu nuclee multiple care sunt fabricati pe acelasi circuit integrat.
In contrast cu sistemele cu nuclee multiple, termenul CPU multiplu (multi-CPU) se refera la unitati fizice de procesare multiple.
Termenii “multe nuclee” si “massive multi-core” sunt uneori folositi pentru a descrie arhitecturi multi-core cu un numar special de mare de nuclee ( zeci sau sute)
Dezvoltare
In timp ce tehnologia de fabricare se imbunatateste, reducand marimea portilor individuale, limitele fizice ale microelectronicelor bazate pe semiconductoare au devenit o ingrijorare majora de design. Aceste limite fizice pot cauza multa disipare de caldura si probleme de sincronizare a datelor. Alte metode pot fi utilizate pentru a imbunatati performanta CPU.
Avantaje
Apropierea de mai multe nuclee CPU pe aceeași matriță permite circuitele cache-ul să funcționeze coerentei la o rată de ceas mult mai mare decât ceea ce este posibil, în cazul în care semnalele trebuie să călătorească off-chip. Combinand procesoare echivalente pe o singură matriță îmbunătățește semnificativ performanța cache-spiona (alternativă: Bus IGMP) operațiuni.
Pune pur și simplu, acest lucru înseamnă că semnalele între diferite procesoare parcurge distanțe mai scurte, și, prin urmare, aceste semnale se degradează mai puțin. Aceste semnale de calitate superioară permit mai multe date să fie trimise într-o anumită perioadă de timp, deoarece semnalele individuale pot fi mai scurte și nu trebuie să fie repetate la fel de des.
Presupunând că matrița se poate potrivi fizic în pachet, desene sau modele multi-core CPU necesită bord (PCB), spațiu de circuit imprimat mult mai puțin decât a face desene sau modele SMP multi-chip. De asemenea, un procesor dual-core folosește ușor mai puțină energie decât două procesoare single-core cuplate, în principal din cauza puterii a scăzut necesară pentru a conduce semnalele externe la cip. Mai mult decât atât, miezurile parts unele circuite, cum ar fi memoria cache L2 și interfața cu front-side bus (FSB).
În ceea ce privește tehnologiile pentru zona matriței de siliciu disponibile concurente, design multi-core poate face uz de desene sau modele de biblioteci de bază CPU dovedit și de a produce un produs cu un risc mai scăzut de eroare de proiectare decât elaborarea unui nou design mai larg-core. De asemenea, adăugarea de mai mult de cache suferă de diminuarea revine.
Chips-uri multi-core permit, de asemenea, la o performanță mai mare de energie mai mic. Acest lucru poate fi un factor important în dispozitivele mobile care funcționează pe baterii. Din moment ce fiecare nucleu într-un procesor multi-core este, în general, mai eficiente energetic, cip devine mai eficient decât cu un singur nucleu de monolit mare. Acest lucru permite o performanță mai mare cu mai puțină energie. O provocare în acest sens, cu toate acestea, este deasupra capului suplimentar de a scrie cod paralel.
Dezavantaje
Maximizând utilizarea resurselor de calcul oferite de procesoarele multi-core necesită ajustări atât ale sistemului de operare (OS) de sprijin și aplicații software existente. De asemenea, capacitatea de procesoare multi-core pentru a crește performanța aplicațiilor depinde de utilizarea de mai multe fire în cadrul aplicațiilor.
Integrarea unui cip multi-core poate reduce randamentele de producție cip. Ele sunt, de asemenea, mai dificil de gestionat termic decât cu densitate mai mica design single-core. Intel a contracarat parțial această primă problemă prin crearea de modele quad-core prin combinarea a două cele dual-core pe o singură matriță cu un cache unificat, prin urmare, orice două de lucru dual-core dies pot fi folosite, spre deosebire de a produce patru nuclee pe un o singură matriță și care necesită toate cele patru pentru a lucra pentru a produce un procesor quad-core.
Din punct de vedere arhitectural, în cele din urmă, desene sau modele singur CPU poate face o mai bună utilizare a suprafeței de siliciu decât miezuri de multiprocesare, astfel încât un angajament de dezvoltare a acestei arhitecturi poate transporta riscul uzurii morale. În cele din urmă, puterea de procesare brută nu este singura constrângere asupra performanței sistemului.
Două nuclee de procesare în comun au același sistem de transport bus și lățimea de bandă de memorie limitează avantajul performanțele reale. S-a revendicat că în cazul în care un singur nucleu este aproape de a fi de memorie cu lățime de bandă limitată, apoi merge la dual-core, s-ar putea da o îmbunătățire de 30% până la 70%; în cazul în care lățimea de bandă de memorie nu este o problemă, atunci o îmbunătățire de 90% poate fi de așteptat;
Cu toate acestea, legea Amdahl face ca această afirmație sa fie dubioasa. Ar fi posibil ca o aplicație care utilizează două procesoare pentru a încheia cu care rulează mai repede pe un dual-core una, dacă comunicarea între unitățile centrale a fost factorul limitativ, ceea ce ar conta ca mai mult de imbunatatire 100.
Efectele software
partiționare
Etapa de partitionare a unui desen sau model este destinat pentru a expune oportunități de execuție paralelă. Prin urmare, accentul este pus pe definirea unui număr mare de sarcini mici, în scopul de a se obține ceea ce se numește o descompunere granulată fină a unei probleme.
Comunicare
Sarcinile generate de un perete despărțitor sunt destinate să execute simultan, dar nu poate, în general, să execute în mod independent. Calculul care urmează să fie efectuată într-o singură sarcină va necesita în mod tipic de date asociate cu o altă sarcină.
Datele trebuie să fie apoi transferate între sarcini, astfel încât să permită calcul pentru a continua. Acest flux de informații este specificat în faza de comunicare a unui desen sau model
Aglomerare
În a treia etapă, de dezvoltare se mută de la abstract spre concret. Dezvoltatorii revizuiască deciziile luate în fazele de separare și comunicare în vederea obținerii unui algoritm care se va executa în mod eficient pe o anumită clasă de calculator paralel.
În special, dezvoltatorii iau în considerare dacă este util să se combine sau aglomereze, sarcinile identificate în etapa de partiționare, astfel încât să asigure un număr mai mic de sarcini, fiecare mai mare dimensiune. De asemenea, acestea stabilesc dacă este util să reproducă date și calcul.
Cartografiere
În a patra și ultima etapă a proiectării algoritmilor paralele, dezvoltatorii specificați în cazul în care fiecare sarcină este de a executa. Această problemă de cartografiere nu apare pe uniprocessors sau pe computerele de memorie partajată care asigură programarea automată a sarcinii.
Pe de altă parte, pe partea de server, procesoarele multi-core sunt ideale, deoarece acestea permit mulți utilizatori să se conecteze la un site simultan și au fire independente de execuție. Acest lucru permite servere Web și servere de aplicații care au mult mai bine tranzitează
Viitorul AMD
Anul 2015 nu va aduce nimic inovator din partea companiei AMD pe segmental desktop. Ultima arhitectura prezentata a fost Piledriver-Vishera in 2012. Totusi, AMD a reusit sa introduca pe piata, in anul 2014, Steamroller.
Privit mai atent la procesoarele cu grafica Fusion, ultimul reprezentant ar fi Kaveri cu a sa arhitectura Steamroller de care aminteam anterior. Aceste CPU-uri folosesc socket-ul FM2+ lansat impreuna cu ele la inceput de 2014. In 2015, in materie de Fusion, AMD va avea familia Carrizo, cu arhitectura Excavator. Dar Carrizo va fi mai degraba o platforma SoC (System on a Chip) decat un APU (Accelerated Processing Unit) ca predecesorii sai. In loc sa aduca un inlocuitor, AMD pare ca renunta complet la segment, pana in 2016, cand va dispune de o arhitectura complet noua, care sa substituie generatia ratata K11 – Bulldozer.
Viitorul Intel
[Circuitele electrice interne vor fi de inalta toleranta, iar aceste procesoare vor permite si voltaje mai mari. Si, bineinteles, vor avea multiplicatorul deblocat. CPU-urile Devil’s Canyon vor fi lansate in gama Core i7 4000, si vor costa mai mult. Si este foarte probabil ca in afara de selectionarea acestor chip-uri restul sa fie numai marketing (nu cred ca Intel va dedica o linie de productie speciala pentru a avea conectivitate si pasta superioare, imbunatatirile fiind probabil pentru toate CPU-urile Haswell realizate de acum inainte).
Lunile urmatoare vom vedea si noi placi de baza, construite in jurul chipset-ului Z97. Acestea, destinate initial CPU-urilor Broadwell, vor fi necesare se pare si pentru noile modele Devil’s Canyon. Speram insa ca aceasta informatie sa se adevereasca falsa, si atat Devil’s Canyon cat si Broadwell sa functioneze si pe actualele placi de paza LGA1150.
Si tot la capitolul Haswell, Core i7 4770R va primi si o versiune normala, pentru socket-ul LGA1150 (actualul model al acestui procesor este un BGA sudat pe placa de baza). Si va exista si un model Pentium aniversar, cu multiplicator deblocat, care insa pentru overclocking va avea nevoie de chipset-uri scumpe (Z87, Z97), asta daca producatorii de placi de baza nu au un cuvant de spus…
Mai tarziu, undeva in cel de-al treilea sfert al acestui an 2014, Intel va lansa procesoarele Broadwell. Acestea vor fi realizate in procesul tehnologic de 14 nm, si vor avea mici imbunatatiri fata de actuala generatie Haswell. Vor sosi si in variante pentru socket-ul LGA1150, dar este posibil ca initial sa nu avem parte de modelele high end, pentru a lasa putin loc pentru Devil’s Canyon.
Si tot spre sfarsitul anului, Intel va lansa procesoarele high end Haswell E. Acestea vor avea pana la opt nuclee, controller de memorie DDR4, si desi vor folosi acelasi socket LGA2011, vor fi complet incompatibile cu actualele placi de baza de la Ivy Bridge E. Si cu aceasta ocazie uram bun venit si chipset-ului X99.
Deci este clar. Intel si-a schimbat strategia in ceea ce priveste procesoarele desktop (in bine), si incearca sa ne convinga ca 2014 va fi un an interesant in acest segment de piata. A, da, si ca este indicat sa facem un upgrade!] sursa: http://itlider.ro/index.php?route=pavblog%2Fblog&id=9
In citatul de mai sus aflam ca Intel au anuntat multe pentru viitor, cum ar fi noi generatii de procesoare gandite pentru overclocking puternic, gama Core i7 4xxx care vor costa mai mult, vor dedica o serie de procesoare dedicate chipset-ului Z97 si multe altele. Este clar ca Intel a schimbat strategia pentru a face urmatorii ani interesanti pe acest sector de piata.
Concluzie
In concluzie tehnologia microprocesoarelor a fost in continua expansiune, in continua evolutie.Fiecare aspect tehnic al acestei minuni tehnologice s-a schimbat pe parcursul istoriei pentru imbunatatirea performantei per total.
Succesiunea logica pe care o executa un procesor a evoluat la o rapiditate foarte mare, in asa fel incat s-au ajuns la frecvente uriase , incomparabile cu cele de la inceputul lor.
Razboiul Intel- AMD continua si in ziua de astazi , cele doua firme incercand sa aduca inovatii din ce in ce mai bune in acest domeniul al microprocesoarelor.
Bibliografie
http://www.pchouse.ro/blog/istoria-procesoarelor/
https://en.wikipedia.org/wiki/Multi-core_processor
https://en.wikipedia.org/wiki/Central_processing_unit
https://en.wikipedia.org/wiki/Parallel_computing
https://ro.wikipedia.org/wiki/Advanced_Micro_Devices
https://en.wikipedia.org/wiki/Intel_Core#Core_Duo
https://ro.wikipedia.org/wiki/Procesor
https://en.wikipedia.org/wiki/Processor_design
http://itlider.ro/index.php?route=pavblog%2Fblog&id=9
https://en.wikipedia.org/wiki/Intel
https://www.pcmadd.com/index.php/teach-zone/istoria-procesoarelor-amdr.html
http://dan-blog.ro/amd-vs-intel.html
https://ro.wikipedia.org/wiki/Microprocesor
Multicore Processors and Systems (Authors :Stephen W. Keckler Kunle Olukotun H. Peter Hofstee)
http://searchdatacenter.techtarget.com/definition/multi-core-processor
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Cercetarea Unitatii Centrale de Procesare, a Microprocesoarelor (ID: 111428)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
