1 / 24

Curs X

Curs X. Tendinte actuale in sistemele cu microprocesoare. Procesorele Pentium. Pentium – lansat in 22 martie 1993, face parte din generatia a 5 de microprocesoare, contine 3,1 miliaoane de tranzistoare, aproximativ de 3 ori mai mult decat predentul 486

arnie
Download Presentation

Curs X

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Curs X Tendinte actuale in sistemele cu microprocesoare

  2. Procesorele Pentium • Pentium – lansat in 22 martie 1993, face parte din generatia a 5 de microprocesoare, contine 3,1 miliaoane de tranzistoare, aproximativ de 3 ori mai mult decat predentul 486 • Tehnologie pe 0.8 microni, frecventa de 60 si 66MHz, • L1 cache intern 8kocteti pentru date si 8kocteti pentru program • Facilitatile MMX au fost adaugate in 1997 • Procesor superscalar – compatibil cu cu seria x86, ofera performante superioare in comparatie cu precedentele procesoare x86, dar modeste in comparatie cu procesoarele actuale si chiar cu procesoarele RISC din perioada respectiva. (30% din tranzistoare au fost utilizate pentru al face compatibil cu seriax 86) • Datorita performantelor modeste (calcule in virgula mobila) nu s-a utilizat in computerele stintifice si statiile de lucru • Pentium III generatia a 6 de microprocesoare • Pentium 4 – generatia a 7 de microprocesoare http://arstechnica.com/articles/paedia/cpu/pentium-1.ars/4

  3. Arhitectura interna Arhitectura de tip pipeline cu 5 faze O unitate de procesare intregi cu doua canale (U si V) Numai unitatea U este complet. Cele doua canale nu sunt total independente, existand numeroare restrictii Unitatea de virgula mobila - este simpla oferind performante reduse in comparatie cu procesoarele RISC existente la vremea respectiva Functionarea in paralel a unitatii de virgula mobila si a celei de intregi este supusa unor numeroase restrictii.

  4. Fazele “Pipe –line’ • Extragerea instructiunilor • Decodare faza 1 • Decodare faza 2 • Executie • Stocare rezultate Fata de procesoarele RISC si DSP din perioada respectiva necesita doua stagii de decodificare datorita instructiunilor complexe.

  5. Generatia a 6 de procesoare • Performante ridicate, sistemele cu procesoare din generatia a 6 devin competitive cu sistemele cu procesoare RISC • Procesoare din generatia a 6: - Pentium Pro, 0.6/0.35microni, 5,5milioane tranzistori, 150-200MHz, 8kocteti date si 8kocteti instructiuni - L1 cache, 256/512kocteti L2 cache,1995. - Pentium II: 0,35 microni, 7,5 milioane tranzistori, 233-300MHz, 16kocteti date si 16kocteti instructiuni - L1 cache, 512kocteti L2 cache in aceiasi capsula pe un cip suplimentar, facilitati MMX 1997 • Pentium III: 0,25 microni, 9,5 milioane tranzistori, 450-500MHz, 16kocteti date si 16kocteti instructiuni - L1 cache, 512kocteti L2 cache, facilitati MMX si SSE, 1997 • K5 de la AMD

  6. Arhitectura procesoare de generatia a 6 Unitatea de executie cu arhitectura de tip RISC Unitatea de decodare si translatare a instructiunilor x86 in microinstructiuni interne decupleaza aducerea instructiunilor de executie. Unitatile de executie sunt alocate dinamic de catre statia de rezervare. O microinstructiune se executa atunci cand toate conditiile pentru executie sunt indeplinite. Ordinea de executie poate fi alta decat cea in care sosesc instructiunile. Alocare dinamica contribuie la incarcarea optima a unitatiilor de executie spre deosebire de alocarea statica realizata de unitatea de control de la procesoarele din generatia a 5-a. Bufferul de reordonare este utilizat pentru a transmitera la iesire rezultatele in ordinea in care au sosit instructiunile

  7. Arhitectura procesoare de generatia a 6 • Unitatea ROB poate urmarii 40 instructiuni in diferite faze de executie. De asemenea are un rol important in redenumirea registrilor. Procesoarele x86 utilizeaza numai 8 registri pentru intregi si 8 registri pentru virgula mobila cea ce este mult prea putin pt. un procesor de generatia a 6. • Statia de rezervare poate examina 20 instructiuni simultan

  8. Caracteristici Pentium 4 • Generatia a 7 de microprocesoare • 4 transferuri pe ciclu de ceas pe magistrala externa • transfer pe 256 biti intre nivelul L2 si Data L1 cache ( la generatiile anterioare transferul era pe 64biti) • Nivelul L1 de cache de instructiuni a fost relocat dupa decodorul de instructiuni, se regaseste sub denumirea de “Trace Cache” si contine 12 k micro-instructiuni ( 1 microinstructiune este pe 100 biti, deci 150k biti) • 128 registrii interni (numai 40 registri pe Pentium II si III) • 5 unitati de executie interne http://www.hardwaresecrets.com/article/235/7 Inside Pentium 4 Architecture, Author:Gabriel Torres, October 18, 2005

  9. Arhitectura Pentium 4

  10. Organizare Pipeline la Pentium 4 • 20 faze pipeline prima versiune, 31 faze la ultima versiune (pentium III doar 11 faze). • Aceasta a permis cresterea frecventei la valori foarte mari, totusi executia unei instructiuni trece prin 20 sau 31 faze ( la ceias frecventa Pentium III este mai rapid decat pentium IV) • TC Nxt IP: Trace cache next instruction pointer. Detecteaza urmatoarea microinstructiune care trebuie executata din BTB (branch target buffer) (2 faze). • TC Fetch: Trace cache fetch. Incarca din TC microinstructiunea. (2 faze) • Drive: trimite microinstructiunea sprea a fi procesata alocatorului de resurse si circuitelor de redenumirea registrilor. • Alloc: Allocate. Verifica ce resurse CPU vor fi necesare pentru procesare (date din memorie si locatii de stocare). • Rename: Daca programul foloseste unul din registri standard x86, acesta va fi redefinit in unul din cei 128 de registri interni existenti in Pentium 4.

  11. Faze “Pipe-line” la Pentium 4 • Que: Queue. Microinstructiunile sunt depuse in coada de instructiuni dupa timpul instructiunii (intregi sau virgula mobila) They are held in the queue until there is an open slot of the same type in the scheduler. • Sch: Schedule. Microinstructiunile sunt programate pentru executie in functie de tip. Pana in aceasta faza microinstructiunile sunt in ordinea in care apar in program. In aceasta etapa unitatea de planificare reordoneaza executia instructuctiunilor astfel incat unitatile de executie sa fie incarcate la capacitatea maxima. De exemplu daca o unitatea de virgula mobila este libera, planificatorul va cauta o instructiune pentru a fi trimisa acesteia chiar daca urmatoarea instructiune este cu intregi. Unitatea de planificare este inima mecanismului “in afara ordinii” (out-of-order) al generatiei 7 de microprocesoare Intel. (3 faze) • Disp: Dispatch. Trimite microinstructiunile unitatii corespunzatoare de executie. (2 faze). • RF: Register file. Se incarca registri specificati de micro-instructiune. (2 faze) • Ex: Execute.Se executa microinstructiunea. • Flgs: Flags. Se actualizeaza registrul de indicatori (flags). • Br Ck: Branch check. Se verifica daca ramificatia urmata de program este cea estimata de circuitul de predictie a ramificatiilor. • Drive: Trimite rezultatul verificarii spre BTB (branch target buffer) prezent la intrarea in procesor

  12. Memoria cache si Unitatea de extragerea instructiunilor • Nivelul L2 de memorie cache poate fi de 256kB, 512kB, 1MB sau 2 MB in functie de model. • Nivelul L1 de memorie cache de date este de 8KB sau 16kB la versiunile in tehnologie pe 90nm • Decodorul de instructiuni este plasat inaintea nivelului L1 cache de instructiuni (Trace cache) evitandu-se decodarea repetata a instructiunilor dintr-o bucla; contine 12 k-micro-instructiuni. • Memoria Trace Cache are propria unitate BTB cu 512 intrari. BTB este o memorie unde sunt listate toate ramificatiile identificate in program • Unitatea de extragere a intructiunilor din memoeia L2 cache are o unitate BTB cu 4096 intrari in timp ce la procesoarele din generatia a 6-a aceasta avea 512 intrari si 256 intrari la procesoarele din generatia a 5-a

  13. Memoria cache si Unitate de extragerea instructiunilor

  14. Decodorul • Procesoarele din generatia 7 ca si cele din generatia 6 utilizeaza o arhitectura hibrida CISC/RISC • Procesoare pentru PC numai cu arhitectura RISC nu pot fi create deoarece toate programele sunt scrise utilizand instructiuni CISC compatibile x86 • Micro-instructiunile RISC nu pot fi accesate direct de catre programe. • Setul de micro-instructiuni RISC difera de la un procesor la altul (sunt diferite de la pentium III la pentium 4 si fata de Atlon) • Decodorul are rolul de a translata instructiunile CISC in microinstructiuni RISC. • Se poate decoda o instructiune pe ciclu de ceas. Daca instructiunea complexa se translateaza in mai mult de 4 microinstructiuni se utilizeaza o memorie ROM interna care contine corespondenta dintre instructiunile complexe si microinstructiuni

  15. Alocatorul si redenumirea registrilor • Rezerva unul din cele 126 ‘buffere’ de reordonare (ROB) Aceasta permite executia microinstructiunilor in afara ordinii in timp ce unitatea centrala va fi capabila sa le puna din nou in ordine utilizand acest tabel. • Rezerva unul din cele 128 registri (RF) pentru stocarea rezultatului. • Daca microinstructiunea este de incarcare sau stocare se va incarca unul din cele 48 buffere din memoria RAM sau se va rezerva unul din cele 24 buffere de stocare. • Rezerva o intrare in memorie sau coada generala in functie de microinstructiune. • Cei 8 registri pe 32 biti (EAX,EBX,ECX,EDX, EBP, ESI,EDI, ESP) sunt redenumiti utilizand unul din cei 128 registri disponibili permitand instructiunilor care se refera la ceias registri standard sa ruleze in paralel. In plus se permite rularea microinstructiunilor in afara ordinii. • Procesorul Pentium 4 contine in total 256 registrii, (128 pentru intregi si 128 pentru virgula mobila)

  16. Alocatorul / Redenumirea registrilor Poate executa 3 micro-instructiuni pe o periada de ceas

  17. Planificatorul • Sorteaza instructiunile dupa tipul lor si le expediaza spre unitatile de executie corespunzatoare prin 4 porturi. • Contine 4 subunitati: operatii cu memoria, operatii simple, operatii simple in virgula mobila, operatii lente in virgula mobila • Este partea centrala a mecanismului de executie a instructiunilor in afara ordinii la Pentium 4

  18. Proramatorul – schema bloc

  19. Unitate de expediere si Executie Portul 0 si 1 pot expedia 2 instructiuni pe ciclu in timp ce portul 2 si 3 o instructiune pe ciclu

  20. Facilitati MMX • Facilitati multimedia (MMX la procesoarele Intel, 3Dnow la AMD) –introdus in 1997 • Reutilizeaza cei 8 registrii ai coprocesorului matematic pentru operatii vectoriale cu intregi pe 64, 32, 16 sau 8 biti (4 tipuri de date) • 57 de instructiuni noi • Operatii aritmetice cu saturatie.

  21. Asocierea dintre registrii FPU si MMX

  22. Tipuri de date MMX Permit implementarea concepului SIMD (o singura instructiune –multiple date

  23. Facilitati SSE • Streaming SIMDExtensions • Aduga 8 registrii noi de 128 bits,permitand operatii paralele asupra numerelor in virgula mobila in simpla precizie – 32 bits • Este similar facilitatilor MMx dar pentru virgula mobila • A fost introdus pe Pentium III • SSE2 – introdus pe Pentium 4 adouga instructiuni vectoriale in dubla precizie (64biti) si pentru intregi 8/16/32 bits • SSE3 – adauga facilitati matematice orientate pe procesarea digitala a semnalelor (DSP) • SSEE3 – adauga operatii se inmultire in virgula fixa pe 16bits • SSE4 – se adauga noi instructiuni printre care produs scalar - prescrierile SSE4 vor fi implementate pe noile procesoare dual core (Penryn' )

  24. Generatia a 8 de procesoare • Athlon 64 – primul procesor pe 64 bit compatibil cu x86 • Lansat in septembrie 2003, tehnologie pe 130nm • Athlon64x2 – procesor dual core (lansat april 2005) • Prevazut cu capacitatea de a reduce tensiunea de alimentare si frecventa cand nu este intens utilizat ( se reduce astfel consumul de la 89 W pana la 32W sau chiar 22W)

More Related