pantilimon alin xi-b.ppt

27
1 Sisteme cu microprocesoare • Microprocesoare

Upload: teopal

Post on 18-Dec-2015

222 views

Category:

Documents


1 download

TRANSCRIPT

  • Sisteme cu microprocesoareMicroprocesoare

  • MicroprocesoareDefinitia 1:Circuit VLSI care incorporeaza o unitate centrala de executie (UCP)Definitia 2:Circuit integrat care incorporeaza:una sau mai multe unitati centrale de prelucrare Multiprocesoare simetriceMultiprocesoare asimetriceMemorie cacheAlte componente: controlor de intreruperi, controlor de magistrala, unitate de management a memoriei

  • Microprocesoare - Aparitia primului microprocesor:Firma Intel, I4004 procesor pe 4 bitiPrimul procesor de succes:Intel I8080 procesor pe 8 bitiPrimul procesor pe 16 bitiIntel I8086 Primul procesor pe 32 bitiIntel I80386Procesor cu arhitectura superscalaraPentium ProProcesor pe 64 biti, arhitectura multi-corePentium IV, dual core, Core Duo

  • Componentele unui microprocesorComponente traditionale:Unitatea de comanda (UC)Unitatea aritmetico-logica (UAL)Registre generale si speciale (RG, RS)Componente suplimentare:Memorie cache (Cache)Coprocesor matematic (CoP)Unitatea de management a memoriei (UMM)Controlor de intreruperi

  • Semnalele unui microprocesor magistrala sistemului

    EU

    BIU

    AH

    AL

    AX

    BH

    BL

    BX

    CH

    CL

    CX

    CS

    DH

    DL

    DX

    DS

    SI

    ES

    DI

    SS

    BP

    IP

    SP

    IR

    C-da

    mag.

    Reg. temp

    ext.

    Unitatea

    UAL

    de c-da

    1,2,3,4, ..

    Coada de instruciuni

    Reg.de stare

    Figura 6-3 Structura interna a procesoarelor I8086 i I8088

  • Semnalele tipice ale unui microprocesor

    Unitatea de adresare

    Unitatea de interfaare

    Amplif. date

    Magistrala

    Amplif adrese

    extern

    Control mag.

    Unitatea de execuie

    Unitatea de instruciuni

    Coada

    Decod.

    de instr

    instr.

    Figura 6-5 Schema bloc a procesorului I80286

  • Semnalele unui microprocesorSemnalele de adresa: A0-AnFolosite pentru indicarea unei locatii de memorie sau port (registru) dintr-o interfataSemnale generate de procesor catre celelalte componente ale sistemuluiNumarul de linii de adresa determina spatiul maxim de adresare al procesoruluiEx: 20 linii=> 1MB 32 linii =>4GBSemnale de date: D0-DmSemnale bidirectionale folosite pentru transferul de instructiuni si date intre procesor si celelalte componente ale sistemuluiNumarul de linii de date este in acord cu structura procesoruluiNumarul de linii de date determina latimea maxima a datelor transferate pe magistralaEx: 16, 32, 64 linii

  • Semnalele unui procesorSemnale de comanda si controlSemnale de comanda:MRDC\, MWTC\, IORC\, IOW\, INTA\Semnale de control: ALE, DENSemnale de intrerupere: INTR, NMISemnale de ceas: CLK, PCLKSemnale de alimentare: GND +5V, 3,3V

  • Executia instructiunilorPasi:Citirea instructiuniiCitirea operanzilorExecutia operatieiSalvarea rezultatuluiPrivit din afara procesorului:Ciclu de citire instructiune din memorie -obligatoriuCiclu de citire operand/ operanzi - optionalCiclu de salvare a rezultatului optionalCiclu de transfer o operatie de transfer pe magistrala care implica:Procesorul si memoria sauProcesorul si o interfata de I/E Un ciclu se desfasoara pe durata unui numar de perioada de ceas (tacti)Un ciclu presupune o secventa de semnale pe magistrala (adrese, date comenzi)

  • Procesoarele familiei Intel x86I8086 i I8088

    Unitatea de

    Unitatea de

    segmentare

    paginare

    Unitatea de

    Unitatea de

    execuie

    interfaare

    Unitatea de

    Unitatea de

    decodificare

    prenc. instr.

    Figura 6-7 Schema de principiu a procesorului I80386

  • I8086, I8088I8086 procesor pe 16 biti, 16 semnale de date, 20 semnale de adresa (spatiu de adresare 1MB)CI cu 40 de piniCircuite ajutatoare:8087 coprocesor matematic (v.flotanta)8288 controlor de magistrala88289 arbitror de magistrala Structura:EU Execution Unit unitatea de execuie, dedicat pentru execuia propriu-zisa a instruciunilorUC, UAL, registre generale, registru de stareBIU Basic Interface Unit - unitatea de interfaare a magistralei externe, care se ocup de transferul de informaii (date i instruciuni) ntre procesor i magistrala externRegistre speciale (segment, IP)Coada de instructiuni, interfata cu magistrala externa8088 identic cu 8086 dar cu 8 semnale de date pe magistrala externa

  • I80286Procesor pe 16 biti16 semnale de date, 24 semnale de adresa (spatiu de adresare 16MB)Moduri de lucru: real si protejat

    Unitatea de

    Unitatea de

    segmentare

    paginare

    Procesor

    v. fix

    Unitate

    Unitate

    cache

    interf.

    Procesor

    mag.

    v. mobil

    Decodificare

    Prencrcare

    instruciuni

    instruciuni

    Figura 6-8 Schema de principiu a procesorului I486

  • I80386Procesor pe 32 biti, 32 semnale de date, 32 semnale de adrese (spatiu de adresare 4GB)Registre generale extines la 32 biti2 registre segment suplimentareMod protejat perfectat

    Unitatea de extragere i decodificare instruciuni

    Unitatea de dispecerizare i execuie

    Unitatea de retragere

    Rezervor de instruciuni

    Figura 6-9 Schema de principiu a arhitecturii P6

  • I80486Integreaza: procesor+coprocesor+MMUFaciliteaza utilizarea memoriei cachePerfectarea modului protejat

    Magistrala sistem

    L2 Cache

    Unitatea de interfatare a magistralei (BIU)

    L1 ICache

    L1 DCache

    Unitatea de extragere i decodificare instruciuni

    Unitatea de dispecerizare i execuie

    Unitatea de retragere

    Rezervor de instruciuni

    Figura6-10 Fluxul de informaii (instruciuni i date) n cadrul arhitecturii P6

  • PentiumDoua linii de procesare pipeline: U si VMagistrala externa de date pe 64 biti (desi este procesor pe 32 biti)Versiuni: Pentium arhitectura cu 2 linii pipelinePentium ProPentium II - arhitectura superscalara P6Pentium IIIPentium IV arhitectura NetBurst

  • Procesoarele PentiumPentium ProArhitectura superscalara P6Executie dinamica a instructiunilor:Analiza fluxurilor de datePredictia salturilor Executia speculativa a instructiunilor Pentium IITehnologia MMX:Componenta pt. date multimediaExecutie paralela tip SIMD57 instructiuni noi MMXPentium IIITehnologia SSE2Executie paralela SIMD pt. flotantPentru grafica 2D/3D

  • Arhitectura superscalara P63 unitati autonome Executie speculativa

    De la BIU (Basic Interface Unit)

    L1 Icache

    Next_IP

    Bloc de

    Decodificator

    memorare

    de

    adr de salt

    instruciuni

    (x3)

    Secveniator

    de microinstr.

    Ctre rezervorul de

    Alocator de

    microinstruciuni

    registre alias

    Figura6-11 Unitatea de extragere i decodificare a instruciunilor

  • Arhitectura P6 - detalii

    Staia de

    rezervare

    UE-MMX

    UEF

    Port 0

    UEI

    Rezervor de

    UE-MMX

    instruciuni

    UES

    Port 1

    UEI

    Port 2

    UGA

    citire

    Port 3,4

    UGA

    scriere

    Figura6-12 Unitatea de dispecerizare i execuie

  • Unitatea de citire si decodificare instructiuniCiteste si decodifica in avans instructiuniUnitate in-order3 instructiuni decodificate / ceasPredictia salturilorComponente:DecodificatorCircuit de generare adrese (next_IP)Bloc memorare adrese de saltSecventiator de microinstructiuniAlocator de registre Alias

    DCache

    Staia de

    UIM

    rezervare

    FRR

    Rezervorul de instruciuni

    Figura6-13 Unitatea de retragere

  • Unitatea de dispecerizare si executieResponsabila pentru executia instructiunilorUnitate out-of-order7 unitati de executie + statie de rezervareUEI unitate de executie pt. intregiUEF unitate de executie pt. flotantMMX unitate de executie pentru date multimediaUGA unitate de generare adreseUGS unitate de generare salturi

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    BCLK

    Arbitrare

    Cerere

    Eroare

    Spionare

    Rspuns

    Transfer

    Figura 6-14 Tranzacii n regim concurent pe magistrala P6

  • Unitatea de retragereReface ordinea normala a instructiunilor (rezultatelor)Unitate in-orderComponente:UIM unitatea de interfaare a memorieiFRR fiierul de registre de retragere

  • Magistrala P6Elementele definitorii ale noului standard de magistral sunt:magistrala lucreaz n mod sincron , cu memorarea semnalelor pe frontul urctor al semnalului de ceastransferul de date se realizeaz pe baz de tranzacii, care se pot desfura n paralelexist suport pentru conectarea mai multor procesoare pe aceeai magistralsunt favorizate transferurile pe blocuri de dateexist implementate mecanisme de detecie i corecie a erorilorexista suport pentru verificarea i meninerea consistenei memoriilor cachese utilizeaz o tehnologie de transmitere a semnalelor care garanteaz nealterarea semnalelor chiar i la frecvene mari

  • Transferul pe magistrala P6Tranzactii paralele (pipeline)Faze:ArbitrareCerere de transferSpionareEroareRaspunsTransferTehnologie: GTL

  • Diagrama de tip pentru magistrala P6

  • Pentium IV Arhitectura NetBurst- adoptarea unei arhitecturi pipeline cu 20 de faze de procesare a instruciunilor, dublu fa de varianta P6- creterea de 4 ori a frecvenei magistralei sistem, care astfel ajunge la 400MHz; prin utilizarea tehnologiei "quad pump" se asigur o rat de transfer de 3,2Goctei/s - dublarea vitezei de execuie a UAL, ceea ce permite efectuarea a dou operaii aritmetice i logice simple pe fiecare perioad de ceas; de fapt unitatea aritmetico-logic lucreaz cu un semnal de ceas care are frecvena dubl fa de frecvena procesorului- utilizarea unei memorii cache de foarte mare vitez (eng. Advanced Transfer Cache), care la o frecven de 2GHz asigur o rat de transfer de 64Goctei/s- extinderea tehnologiei MMX (eng. SSE - Streaming SIMD Extension) prin adugarea a 144 instruciuni SIMD noi i extinderea limii datelor prelucrate la 128 bii (16 octei prelucrai n paralel)- mbuntirea cu 30% a ratei de predicie a salturilor n special datorit extinderii ferestrei de analiz; procesorul Pentium 4 menine n linia de execuie pn la 126 de instruciuni i utilizeaz 4Koctei pentru memorarea adreselor de salt (BTB - Branch Target Buffer)

  • Pentium IV

  • Pentium IVNoi tendinte:Tehnologia hyperthreadingTehnologia multi-coreArhitecura pe 64 biti