cuprins - fcim masterat informmasterat.fcim.utm.md/informatii/curs_sdc/scd06.pdf · echipamente f...

of 54/54
15.03.2015 15.03.2015 Sisteme de calcul dedicate (06) Sisteme de calcul dedicate (06) 1 1 Cuprins Cuprins 1. Introducere 1. Introducere 2. Modele 2. Modele ş ş i limbaje pentru specifica i limbaje pentru specifica ţ ţ ia ia sistemelor sistemelor 3. Microcontrolere 3. Microcontrolere 4. Procesoare dedicate 4. Procesoare dedicate 5. Interfe 5. Interfe ţ ţ e de comunica e de comunica ţ ţ ie ie 6. Periferice pentru sisteme dedicate 6. Periferice pentru sisteme dedicate 7. Dezvoltarea programelor 7. Dezvoltarea programelor 8. Sisteme de operare dedicate 8. Sisteme de operare dedicate

Post on 03-Feb-2018

218 views

Category:

Documents

2 download

Embed Size (px)

TRANSCRIPT

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 11

    CuprinsCuprins

    1. Introducere1. Introducere 2. Modele 2. Modele i limbaje pentru specificai limbaje pentru specificaia ia

    sistemelorsistemelor 3. Microcontrolere3. Microcontrolere 4. Procesoare dedicate4. Procesoare dedicate 5. Interfe5. Interfee de comunicae de comunicaieie 6. Periferice pentru sisteme dedicate6. Periferice pentru sisteme dedicate 7. Dezvoltarea programelor7. Dezvoltarea programelor 8. Sisteme de operare dedicate8. Sisteme de operare dedicate

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 22

    Procesoare dedicateProcesoare dedicate

    Procesoare ARMProcesoare ARM

    Procesoare Procesoare PowerPCPowerPC

    Procesoare IntelProcesoare Intel

    Procesoare AMDProcesoare AMD

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 33

    Procesoare ARMProcesoare ARM

    IstoricIstoric

    Modelul de programare ARMModelul de programare ARM

    Versiuni ale arhitecturii ARMVersiuni ale arhitecturii ARM

    Exemple de procesoare ARMExemple de procesoare ARM

    Extensia Extensia ThumbThumb

    Extensia DSPExtensia DSP

    Extensia Extensia JazelleJazelle

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 44

    Istoric (1)Istoric (1) ARMARM AdvancedAdvanced RISC RISC MachineMachine Denumirea iniDenumirea iniialial: : AcornAcorn RISC RISC

    MachineMachine Arhitectura a fost proiectat la firma Arhitectura a fost proiectat la firma

    AcornAcorn ComputersComputers (UK)(UK) Primul procesor RISC comercial: Primul procesor RISC comercial: ARM1ARM1

    (1985)(1985) Bazat pe procesorul Bazat pe procesorul 65026502 (8 bi(8 bii)i) ModificriModificri::

    Arhitectur RISC de Arhitectur RISC de 32 de bi32 de biii Lungime fix a instrucLungime fix a instruciuniloriunilor Arhitectur Arhitectur load/storeload/store

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 55

    Istoric (2)Istoric (2)

    ARM2ARM2 (8 MHz) s(8 MHz) s--a utilizat a utilizat n calculatorul n calculatorul personal personal ArchimedesArchimedes (1987)(1987)

    ARM3ARM3 (24 .. 33 MHz) con(24 .. 33 MHz) coninea memorii inea memorii cache de instruccache de instruciuni iuni i de date (1989)i de date (1989)

    Dezvoltarea procesoarelor ARM a continuat Dezvoltarea procesoarelor ARM a continuat n cadrul firmei ARM n cadrul firmei ARM LtdLtd. (1990). (1990) AcornAcorn

    VLSI VLSI TechnologyTechnology Inc.Inc.

    AppleApple

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 66

    Istoric (3)Istoric (3)

    Urmtoarea versiuneUrmtoarea versiune: : ARM6ARM6 Versiunile utilizate Versiunile utilizate n prezent: n prezent: ARM7ARM7 .. ..

    ARM11ARM11 ARM ARM LtdLtd.:.:

    Proiecteaz arhitectura procesoarelor ARMProiecteaz arhitectura procesoarelor ARM LicenLiceniaz proiectele ctre partenerii care iaz proiectele ctre partenerii care

    fabric procesoarelefabric procesoarele Dezvolt tehnologii pentru asistarea proiectriiDezvolt tehnologii pentru asistarea proiectrii

    Magistrale, perifericMagistrale, periferice, e, instrumente software, pinstrumente software, plci de lci de dezvoltare, depanatoaredezvoltare, depanatoare

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 77

    Parteneri ARMParteneri ARM

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 88

    Produse conProduse coninnd procesoare innd procesoare ARMARM

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 99

    Procesoare ARMProcesoare ARM

    IstoricIstoric

    Modelul de programare ARMModelul de programare ARM

    Versiuni ale arhitecturii ARMVersiuni ale arhitecturii ARM

    Exemple de procesoare ARMExemple de procesoare ARM

    Extensia Extensia ThumbThumb

    Extensia DSPExtensia DSP

    Extensia Extensia JazelleJazelle

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1010

    Modelul de programare ARM (1)Modelul de programare ARM (1)

    Arhitectur de Arhitectur de 32 de bi32 de biii SemicuvntSemicuvnt: 16 bi: 16 biii

    31 registre generale 31 registre generale 16 registre vizibile 16 registre vizibile n orice momentn orice moment

    Celelalte registre: pentru creCelelalte registre: pentru creterea vitezei de terea vitezei de tratare a exceptratare a excepiiloriilor

    R14R14: : LRLR ((LinkLink RegisterRegister))

    R15R15: : PCPC ((Program Program CounterCounter))

    De obicei, De obicei, R13R13 este indicatorul de stiv este indicatorul de stiv SPSP

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1111

    Modelul de programare ARM (2)Modelul de programare ARM (2)

    Seturi de instrucSeturi de instruciuni:iuni: Setul normal pe 32 de biSetul normal pe 32 de biii

    Setul Setul ThumbThumb pe 16 bipe 16 biii

    Extensia Extensia DSPDSP InstrucInstruciuni iuni MACMAC

    InstrucInstruciuni pentru iuni pentru aritmetica saturataritmetica saturat

    Extensia Extensia JazelleJazelle ExecuExecuia direct a codului Javaia direct a codului Java

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1212

    Modelul de programare ARM (3)Modelul de programare ARM (3)

    Moduri ale procesoruluiModuri ale procesorului UserUser: mod neprivilegiat: mod neprivilegiat FIQFIQ: : ntreruperi rapide (prioritatntreruperi rapide (prioritate ridicate ridicat)) IRQIRQ: : ntreruperi normale (prioritatntreruperi normale (prioritate joase joas)) SupervisorSupervisor: d: dup up resetreset sau o instrucsau o instruciune de iune de

    ntrerupere softwarentrerupere software AbortAbort: acces ilegal la memorie: acces ilegal la memorie UndefinedUndefined: instruc: instruciuni nedefiniteiuni nedefinite SystemSystem: mod privilegiat, cu acces la acelea: mod privilegiat, cu acces la aceleai i

    registre ca registre ca i modul utilizatori modul utilizator

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1313

    Modelul de programare ARM (4)Modelul de programare ARM (4)

    ModUserR0-R7,R15,CPSR

    R8

    R9

    R10

    R11

    R12

    R13(SP)

    R14(LR)

    SPSR

    R8

    R9

    R10

    R11

    R12

    R13(SP)

    R14(LR)

    R15(PC)

    CPSR

    R0

    R1

    R2

    R3

    R4

    R5

    R6

    R7

    R13(SP)

    R14(LR)

    SPSR

    ModUser

    R0-R12,R15,CPSR

    R13(SP)

    R14(LR)

    SPSR

    ModUser

    R0-R12,R15,CPSR

    R13(SP)

    R14(LR)

    SPSR

    ModUser

    R0-R12,R15,CPSR

    R13(SP)

    R14(LR)

    SPSR

    ModUser

    R0-R12,R15,CPSR

    Registre inferioaren starea Thumb

    Registre superioaren starea Thumb

    FIQUser IRQ UndefSVC Abort

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1414

    Modelul de programare ARM (5)Modelul de programare ARM (5)

    Registre de stare Registre de stare CPSRCPSR ((CurrentCurrent Program Status RegisterProgram Status Register))

    Un registru dedicatUn registru dedicat

    ConConine starea curent a procesoruluiine starea curent a procesorului

    SPSRSPSR ((SavedSaved Program Status RegisterProgram Status Register)) 5 registre dedicate, cte unul pentru fiecare mod de 5 registre dedicate, cte unul pentru fiecare mod de

    excepexcepieie

    ConConin starea procesorului in starea procesorului naintea aparinaintea apariiei excepiei excepieiiei

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1515

    Modelul de programare ARM (6)Modelul de programare ARM (6)

    Indicatori de condiIndicatori de condiie: ie: NN, , ZZ, , CC, , VV Indicatorul Indicatorul QQ ( (extensia DSP): indiextensia DSP): indic o condic o condiie de ie de

    saturasaturaie la o operaie la o operaie aritmeticie aritmetic Bitul Bitul JJ: J: J==11 dac procesorul se afl dac procesorul se afl n starea n starea

    JazelleJazelle BiBiii de controlii de control

    II==1 d1 dezactiveaz ezactiveaz ntreruperile IRQntreruperile IRQ FF==1 d1 dezactiveaz ezactiveaz ntreruperile FIQntreruperile FIQ TT==1 d1 dac procesorul se afl ac procesorul se afl n starea n starea ThumbThumb BiBii de i de modmod: i: indic modul procesoruluindic modul procesorului

    2731

    N Z C V Q

    28 67

    I F T mod

    1623 815 5 4 024

    N e d e f i n i iJ

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1616

    Modelul de programare ARM (7)Modelul de programare ARM (7)

    ExcepExcepiiii Generate de surse interne sau Generate de surse interne sau

    externeexterne

    Se forSe foreaz execueaz execuia de la o ia de la o adres fixadres fix

    Tabela vectorilor de excepTabela vectorilor de excepieieconconine instrucine instruciuni de saltiuni de salt

    Starea procesorului trebuie Starea procesorului trebuie salvatsalvat

    Tabela vectorilor

    FIQIRQ

    (Rezervat)Data Abort

    Prefetch AbortSoftware Interrupt

    Undefined Instruction

    Reset

    0x1C

    0x18

    0x14

    0x10

    0x0C

    0x08

    0x04

    0x00

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1717

    Modelul de programare ARM (8)Modelul de programare ARM (8)

    OperaOperaii executate de procesor la apariii executate de procesor la apariia ia unei excepunei excepii:ii: Copiaz Copiaz CPSRCPSR n n SPSRSPSR__ Seteaz biSeteaz biii din ii din CPSRCPSR: stare ARM; dezactivare : stare ARM; dezactivare

    ntreruperintreruperi Salveaz adresa de revenire Salveaz adresa de revenire n n LRLR__ ncarc adresa vectorului ncarc adresa vectorului n n PCPC

    OperaOperaii executate de rutina de tratare:ii executate de rutina de tratare: Reface Reface CPSRCPSR din din SPSRSPSR__ Reface Reface PCPC din din LRLR__

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1818

    Procesoare ARMProcesoare ARM

    IstoricIstoric

    Modelul de programare ARMModelul de programare ARM

    Versiuni ale arhitecturii ARMVersiuni ale arhitecturii ARM

    Exemple de procesoare ARMExemple de procesoare ARM

    Extensia Extensia ThumbThumb

    Extensia DSPExtensia DSP

    Extensia Extensia JazelleJazelle

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 1919

    Versiuni ale arhitecturii ARM (1)Versiuni ale arhitecturii ARM (1)

    ARMv1ARMv1 Singura implementare: procesorul Singura implementare: procesorul ARM1ARM1

    Adresare pe 26 de biAdresare pe 26 de biii

    Fr instrucFr instruciuni de iuni de nmulnmulireire

    InstrucInstruciuni iuni Load/StoreLoad/Store pentru octepentru octei, cuvinte i, cuvinte i i cuvinte multiplecuvinte multiple

    InstrucInstruciuni de salt iuni de salt i apel (i apel (BLBL))

    InstrucInstruciune de iune de ntrerupere software pentru ntrerupere software pentru apelul funcapelul funciilor SOiilor SO

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2020

    Versiuni ale arhitecturii ARM (2)Versiuni ale arhitecturii ARM (2)

    ARMv2ARMv2 Adresare pe 26 de biAdresare pe 26 de biii

    InstrucInstruciuni de iuni de nmulnmulire ire i i nmulnmulire cu ire cu acumulare (acumulare (MACMAC))

    Posibilitatea utilizrii unor coprocesoarePosibilitatea utilizrii unor coprocesoare

    Dou registre suplimentare pentru modul de Dou registre suplimentare pentru modul de ntrerupere rapid FIQntrerupere rapid FIQ

    InstrucInstruciuni iuni Load/StoreLoad/Store atomice (atomice (SWPSWP, , SWPBSWPB) ) pentru sincronizarea proceselorpentru sincronizarea proceselor

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2121

    Versiuni ale arhitecturii ARM (3)Versiuni ale arhitecturii ARM (3)

    ARMv3ARMv3 Adresare pe 32 de biAdresare pe 32 de biii SS--a adugat registrul a adugat registrul CPSRCPSR i registre i registre SPSRSPSR

    pentru fiecare modpentru fiecare mod SS--au introdus modurile au introdus modurile AbortAbort i i UndefinedUndefined Variantele Variantele TT: setul de instruc: setul de instruciuni iuni ThumbThumb Variantele Variantele MM: : nmulnmulire 32 x 32 ire 32 x 32 6464 Posibilitatea de a schimba ordinea octePosibilitatea de a schimba ordinea octeilor ilor

    ((littlelittle--endianendian sau sau bigbig--endianendian) ) ImplementriImplementri: : ARM6ARM6, , ARM7ARM7

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2222

    Versiuni ale arhitecturii ARM (4)Versiuni ale arhitecturii ARM (4)

    ARMv4ARMv4 InstrucInstruciuni iuni Load/StoreLoad/Store pentru pentru semicuvintesemicuvinte

    InstrucInstruciuni iuni LoadLoad cu extensie de semn pentru cu extensie de semn pentru octeoctei i i i semicuvintesemicuvinte

    SS--a introdus modul privilegiat a introdus modul privilegiat SystemSystem

    ImplementriImplementri: : StrongARMStrongARM, , ARM8ARM8, , ARM9ARM9

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2323

    Versiuni ale arhitecturii ARM (5)Versiuni ale arhitecturii ARM (5)

    ARMv5ARMv5 InstrucInstruciune iune CLZCLZ ((CountCount LeadingLeading ZerosZeros))

    InstrucInstruciune de suspendare a execuiune de suspendare a execuiei pentru iei pentru depanare (depanare (breakpointbreakpoint))

    Variantele Variantele EE: instruc: instruciuni DSPiuni DSP

    Variantele Variantele JJ: stare Java pentru accelerarea : stare Java pentru accelerarea execuexecuiei codului Javaiei codului Java

    Implementare: Implementare: ARM10ARM10

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2424

    Versiuni ale arhitecturii ARM (6)Versiuni ale arhitecturii ARM (6)

    ARMv6ARMv6 mbuntmbuntirea sistemului de irea sistemului de gestiune a gestiune a

    memorieimemoriei Reducerea timpului de Reducerea timpului de ncrcare pentru instrucncrcare pentru instruciuni iuni i i

    datedate

    CreCreterea performanterea performanelor cu pn la elor cu pn la 30%30%

    Suport pentru Suport pentru sisteme multiprocesorsisteme multiprocesor Posibilitatea unor sisteme mai complexe de Posibilitatea unor sisteme mai complexe de

    sincronizare pentru memoria partajatsincronizare pentru memoria partajat

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2525

    Versiuni ale arhitecturii ARM (7)Versiuni ale arhitecturii ARM (7)

    InstrucInstruciuni pentru iuni pentru aplicaaplicaii multimediaii multimedia Set de instrucSet de instruciuni iuni SIMDSIMD

    Implementarea mai eficient a aplicaImplementarea mai eficient a aplicaiilor audio, iilor audio, video, grafvideo, grafic ic 3D 3D

    Gestiunea mai eficient a datelorGestiunea mai eficient a datelor Suport pentru subsisteme cu ordinea diferit a Suport pentru subsisteme cu ordinea diferit a

    octeocteilorilor

    Gestiunea unor Gestiunea unor date nealiniatedate nealiniate

    Gestiunea mai eficient a Gestiunea mai eficient a ntreruperilor ntreruperilor i a i a excepexcepiiloriilor

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2626

    Versiuni ale arhitecturii ARM (8)Versiuni ale arhitecturii ARM (8)

    SA-110

    ARM7TDMI

    4T

    1 Instruciunipentru semicuvintei extensie de semn

    Mod sistem

    Set deinstruciuniThumb

    2

    4

    ARM9TDMI

    SA-1110

    ARM720T ARM940T

    CLZ

    5TE

    Aritmetic saturat

    Instruciuni MAC pentru DSP

    XScale

    ARM1020E

    ARM9E-S

    ARM966E-S

    3

    Primele arhitecturi

    ARM9EJ-S

    5TEJ

    ARM7EJ-S

    ARM926EJ-S

    Extensie Jazelle

    Execuia coduluiJava

    6

    ARM1136EJ-S

    ARM1026EJ-S

    Instruciuni SIMD

    Multi-procesare

    Memorie virtual(VMSA)

    Date nealiniate

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2727

    Procesoare ARMProcesoare ARM

    IstoricIstoric

    Modelul de programare ARMModelul de programare ARM

    Versiuni ale arhitecturii ARMVersiuni ale arhitecturii ARM

    Exemple de procesoare ARMExemple de procesoare ARM

    Extensia Extensia ThumbThumb

    Extensia DSPExtensia DSP

    Extensia Extensia JazelleJazelle

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2828

    Exemple de procesoare ARM (1)Exemple de procesoare ARM (1)

    Familia ARM7Familia ARM7 ARM7TDMIARM7TDMI: nucleu cu suport pentru depanare : nucleu cu suport pentru depanare

    i emulare i emulare EmbeddedICEEmbeddedICE: l: logic pentru depanare bazat pe ogic pentru depanare bazat pe

    interfainterfaa JTAGa JTAG

    ARM7TDMIARM7TDMI--SS: nucleu sintetizabil: nucleu sintetizabil

    ARM720TARM720T: procesor cu memorie cache (8 KB), : procesor cu memorie cache (8 KB), bufferbuffer de scriere, gestiunea memorieide scriere, gestiunea memoriei Memorie virtual Memorie virtual SO Linux, SO Linux, SymbianOSSymbianOS, ,

    WindowsCEWindowsCE

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 2929

    Exemple de procesoare ARM (2)Exemple de procesoare ARM (2)

    PerformanPerformana: 36 MIPS la 40 MHza: 36 MIPS la 40 MHz

    PosibilitPosibiliti de utilizare i de utilizare Echipamente de reEchipamente de reeaea

    Echipamente fr firEchipamente fr fir: telefoane celulare, PDA: telefoane celulare, PDA

    Decodoare pentru aparate TVDecodoare pentru aparate TV

    Sisteme de control pentru automobileSisteme de control pentru automobile

    ImprimanteImprimante

    Decodoare MP3 audio Decodoare MP3 audio i MPEG4 videoi MPEG4 video

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3030

    Exemple de procesoare ARM (3)Exemple de procesoare ARM (3)

    Familia ARM9EFamilia ARM9E ARM946EARM946E--SS, , ARM966EARM966E--SS, , ARM968EARM968E--SS: :

    macrocelulemacrocelule sintetizabilesintetizabile

    ARM926EJARM926EJ--SS: con: conin extensia in extensia JazelleJazelle Set de instrucSet de instruciuni DSPiuni DSP

    Avantaje faAvantaje fa de sistemele multiprocesor de sistemele multiprocesor: : complexitate complexitate i putere consumat redusei putere consumat reduse

    EmbeddedICEEmbeddedICE--RTRT: l: logic pentru depanare pentru ogic pentru depanare pentru sisteme sisteme n timp realn timp real

    PerformanPerformana: 165 MIPS la 150 MHza: 165 MIPS la 150 MHz

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3131

    Exemple de procesoare ARM (4)Exemple de procesoare ARM (4)

    ARM VFP9ARM VFP9--SS: coprocesor vectorial pentru : coprocesor vectorial pentru operaoperaii ii n VMn VM PerformanPerformane ridicatee ridicate Putere consumat redusPutere consumat redus

    PosibilitPosibiliti de utilizarei de utilizare UnitUniti de discuri magneticei de discuri magnetice Aparate DVDAparate DVD RecunoaRecunoaterea terea i sinteza vociii sinteza vocii PDA PDA i GPSi GPS TelefoaneTelefoane Automobile: ABS, contAutomobile: ABS, controlul vitezei de croazierrolul vitezei de croazier

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3232

    Procesoare ARMProcesoare ARM

    IstoricIstoric

    Modelul de programare ARMModelul de programare ARM

    Versiuni ale arhitecturii ARMVersiuni ale arhitecturii ARM

    Exemple de procesoare ARMExemple de procesoare ARM

    Extensia Extensia ThumbThumb

    Extensia DSPExtensia DSP

    Extensia Extensia JazelleJazelle

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3333

    Extensia Extensia ThumbThumb (1)(1)

    Set de instrucSet de instruciuni alternativiuni alternativ Subset al instrucSubset al instruciunilor ARMiunilor ARM InstrucInstruciunile sunt iunile sunt comprimatecomprimate pe 16 bipe 16 bii i InstrucInstruciunile iunile ThumbThumb sunt sunt decomprimatedecomprimate pe 32 pe 32

    de bide bii i nainte de execunainte de execuieie

    Se pot combina cele dou seturiSe pot combina cele dou seturi Comutarea Comutarea ntre starea ARM ntre starea ARM i starea i starea

    ThumbThumb: cu instruc: cu instruciunea iunea BXBX ((BranchBranch andandeXchangeeXchange))

    InstrucInstruciunile iunile ThumbThumb utilizeaz un format cu utilizeaz un format cu dou adresedou adrese

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3434

    Extensia Extensia ThumbThumb (2)(2)

    AvantajeAvantaje: : Reducerea necesarului de memorieReducerea necesarului de memorie

    Reducerea puterii consumateReducerea puterii consumate

    Reducerea costurilorReducerea costurilor

    LimitriLimitri:: Dimensiuni mai reduse ale operanzilorDimensiuni mai reduse ale operanzilor

    Acces la doar 8 registre generale (MOV: pot Acces la doar 8 registre generale (MOV: pot accesa accesa ntregul set de registre)ntregul set de registre)

    Timp necesar pentru comutareTimp necesar pentru comutare

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3535

    Procesoare ARMProcesoare ARM

    IstoricIstoric

    Modelul de programare ARMModelul de programare ARM

    Versiuni ale arhitecturii ARMVersiuni ale arhitecturii ARM

    Exemple de procesoare ARMExemple de procesoare ARM

    Extensia Extensia ThumbThumb

    Extensia DSPExtensia DSP

    Extensia Extensia JazelleJazelle

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3636

    Extensia DSP (1)Extensia DSP (1)

    Numeroase aplicaNumeroase aplicaii necesit algoritmi ii necesit algoritmi eficieneficieni pentru prelucrarea semnalelori pentru prelucrarea semnalelor Exemplu: algoritmul Exemplu: algoritmul MP3MP3 audioaudio

    Arhitecturile Arhitecturile ARMv5TEARMv5TE i i ARMv6ARMv6 conconin noi in noi instrucinstruciuni DSPiuni DSP nmulnmulire 16x16 ire 16x16 i 16x32i 16x32

    MAC 16x16 MAC 16x16 + + 32, 32x16 32, 32x16 + + 32, 16x16 32, 16x16 + + 6464

    Adunare Adunare i scdere utiliznd i scdere utiliznd aritmetica saturataritmetica saturat

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3737

    Extensia DSP (2)Extensia DSP (2)

    ExempluExemplu: Procesorul : Procesorul ARM9EARM9E Nucleu Nucleu ARM9TDMIARM9TDMI

    Arhitectur Arhitectur HarvardHarvard

    Sistem Sistem pipelinepipeline cu cu 5 e5 etajetaje

    SS--au adugat doar componentele hardware au adugat doar componentele hardware strict necesarestrict necesare

    FrecvenFrecvena de funca de funcionare este similar cu cea a ionare este similar cu cea a nucleului ARM9TDMI (20nucleului ARM9TDMI (200 M0 MHz)Hz)

    Puterea consumatPuterea consumat: 0,5 : 0,5 mW/MHzmW/MHz

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3838

    Extensia DSP (3)Extensia DSP (3)

    AvantajeAvantaje:: Se poate utiliza un singur procesorSe poate utiliza un singur procesor Scade complexitatea Scade complexitatea i puterea consumati puterea consumat

    AplicaAplicaiiii:: Prelucrare audio: MP3, WMAPrelucrare audio: MP3, WMA, A, AACAC UnitUniti de memorie externi de memorie extern Echipamente de reEchipamente de reeaea Telefoane Telefoane i PDAi PDA Sisteme de control pentru automobileSisteme de control pentru automobile

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 3939

    Procesoare ARMProcesoare ARM

    IstoricIstoric

    Modelul de programare ARMModelul de programare ARM

    Versiuni ale arhitecturii ARMVersiuni ale arhitecturii ARM

    Exemple de procesoare ARMExemple de procesoare ARM

    Extensia Extensia ThumbThumb

    Extensia DSPExtensia DSP

    Extensia Extensia JazelleJazelle

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4040

    Extensia Extensia JazelleJazelle (1)(1)

    Numeroase echipamente dedicate utilizeaz Numeroase echipamente dedicate utilizeaz tehnologia Javatehnologia Java PortabilitatePortabilitate Dezvoltare mai simpl comparativ cu CDezvoltare mai simpl comparativ cu C++++ SecuritateSecuritate Reprezentare eficient Reprezentare eficient n memorie (n memorie (bytecodebytecode))

    DezavantajeleDezavantajele tehnologiei Java:tehnologiei Java: PerformanPerformana poate fi sczuta poate fi sczut Necesitatea conversiei Necesitatea conversiei n forma nativ n forma nativ

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4141

    Extensia Extensia JazelleJazelle (2)(2)

    Metode de creMetode de cretere a performantere a performanelorelor Compilare Compilare JITJIT ((JustJust--InIn--TimeTime))

    Compilare Compilare AOTAOT ((AheadAhead--OfOf--TimeTime))

    Compilare dinamic Compilare dinamic DACDAC ((DynamicDynamic Adaptive Adaptive CompilationCompilation))

    Procesoare Java dedicate Procesoare Java dedicate Trebuie s existe Trebuie s existe i un procesor generali un procesor general

    Coprocesoare JavaCoprocesoare Java

    Extensii Java ale arhitecturii procesoruluiExtensii Java ale arhitecturii procesorului

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4242

    Extensia Extensia JazelleJazelle (3)(3)

    Extensia Extensia JazelleJazelle JazelleJazelle DBXDBX ((Direct Direct BytecodeBytecode eXecutioneXecution): ):

    execuexecuia codului Java pe echipamente cu ia codului Java pe echipamente cu resurse limitateresurse limitate

    JazelleJazelle RCTRCT ((RuntimeRuntime CompilationCompilation TargetTarget): ): suport pentru tehnicile JIT, AOT, DAC suport pentru tehnicile JIT, AOT, DAC limbajele Java, limbajele Java, PythonPython, Perl etc., Perl etc.

    Tehnologia Tehnologia JazelleJazelle DBXDBX Implementare cablatImplementare cablat Starea Java: prin instrucStarea Java: prin instruciunea iunea BXJBXJ

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4343

    Extensia Extensia JazelleJazelle (4)(4) SS--a adugat un nou registru a adugat un nou registru CPSRCPSR Unor registre li se asigneaz funcUnor registre li se asigneaz funcii ii

    specifice strii Javaspecifice strii Java: SP, variabile locale: SP, variabile locale 4 e4 elemente din vrful stivei sunt pstrate lemente din vrful stivei sunt pstrate n n regreg. .

    ntreruperile aprute ntreruperile aprute n starea Java sunt n starea Java sunt tratate imediattratate imediat Nu este afectat performanNu este afectat performana a n timp realn timp real InstrucInstruciunile Java sunt iunile Java sunt restartabilerestartabile

    O parte a instrucO parte a instruciunilor sunt emulateiunilor sunt emulate InstrucInstruciuni nedefinite: geiuni nedefinite: genereaz excepnereaz excepiiii

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4444

    Extensia Extensia JazelleJazelle (5)(5)

    Suport softwareSuport software Java Java TechnologyTechnology EnablingEnabling KitKit (JTEK): con(JTEK): conine ine

    secvensecvenele de cod emulate (ele de cod emulate (JazelleJazelle SupportSupportCodeCode))

    Suport pentru diferite maSuport pentru diferite maini virtuale Javaini virtuale Java Suport pentru SO: Suport pentru SO: WindowsCEWindowsCE, Linux, , Linux,

    SymbianOSSymbianOS, , PalmOSPalmOS, SO , SO n timp realn timp real

    AvantajeAvantaje: cre: creterea vitezei (2x..4x); terea vitezei (2x..4x); reducerea puterii consumate, a necesarului reducerea puterii consumate, a necesarului de memorie, a costurilorde memorie, a costurilor

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4545

    Procesoare dedicateProcesoare dedicate

    Procesoare ARMProcesoare ARM

    Procesoare Procesoare PowerPCPowerPC

    Procesoare IntelProcesoare Intel

    Procesoare AMDProcesoare AMD

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4646

    Procesoare Procesoare PowerPCPowerPC

    IntroducereIntroducere

    Exemple de procesoare Exemple de procesoare PowerPCPowerPC

    PowerPCPowerPC 750750

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4747

    Introducere (1)Introducere (1)

    Arhitectura Arhitectura PowerPCPowerPC a a fost dezvoltat defost dezvoltat defirmele IBM, firmele IBM, AppleApple i i MotorolaMotorola

    CCombinaombinaie ie ntre arhitectura procesorului ntre arhitectura procesorului RIOSRIOS ((IBMIBM)) i structura magistralei interne a i structura magistralei interne a procesorului procesorului 8810088100 ((MotorolaMotorola))

    FFamilie de procesoare RISC amilie de procesoare RISC scalabilescalabile OO arhitecturarhitectur a setului de instruca setului de instruciuni la care iuni la care

    aderader totoi membrii familieii membrii familiei Arhitectura Arhitectura PowerPCPowerPC a fost influena fost influenatat de de

    arhitectura precedentarhitectura precedent IBM RTIBM RT

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4848

    Introducere (2)Introducere (2)

    EEste bazatste bazat pe arhitectura pe arhitectura IBM POWERIBM POWER((PerformancePerformance OptimizedOptimized WithWith EnhancedEnhancedRISCRISC))

    ModificModificrile efectuaterile efectuate:: CCrereterea frecventerea frecvenei ceasuluiei ceasului UUn grad mai ridicat de proiectare n grad mai ridicat de proiectare

    superscalasuperscalarr EExtinderea la o arhitecturxtinderea la o arhitectur de 64 de bide 64 de biii PosibilitateaPosibilitatea multiprocesmultiprocesriirii

    Procesoarele Procesoarele PowerPCPowerPC sunt fabricate sunt fabricate de IBM de IBM i i FreescaleFreescale Semiconductor Semiconductor ((MotorolaMotorola))

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 4949

    Procesoare Procesoare PowerPCPowerPC

    IntroducereIntroducere

    Exemple de procesoare Exemple de procesoare PowerPCPowerPC

    PowerPCPowerPC 750750

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 5050

    Exemple de procesoare Exemple de procesoare PowerPCPowerPC (1)(1)

    PowerPCPowerPC 601601 Arhitectur de Arhitectur de 32 de bi32 de biii

    32 de registre generale32 de registre generale

    32 de registre pentru VM (64 bi32 de registre pentru VM (64 bii)i)

    Poate lansa Poate lansa n execun execuie trei instrucie trei instruciuni pe ciclu iuni pe ciclu de ceasde ceas

    Memorie cache unificat de Memorie cache unificat de 32 KB32 KB

    FrecvenFrecvene de funce de funcionare: 50, 66 ionare: 50, 66 i 80 MHzi 80 MHz

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 5151

    Exemple de procesoare Exemple de procesoare PowerPCPowerPC (2)(2)

    PowerPCPowerPC 603e603e Arhitectur de Arhitectur de 32 de bi32 de biii

    Memorii cache separate de instrucMemorii cache separate de instruciuni iuni i de i de date (ctdate (cte 1e 16 K6 KB)B)

    Dou unitDou uniti de gestiune a memorieii de gestiune a memoriei

    Cinci unitCinci uniti de execui de execuieie

    FrecvenFrecvene de funce de funcionare: 100, 166 ionare: 100, 166 i 200 MHzi 200 MHz

    PerformanPerformana: 271 MIPS la 200 MHza: 271 MIPS la 200 MHz

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 5252

    Exemple de procesoare Exemple de procesoare PowerPCPowerPC (3)(3)

    PowerPCPowerPC 74007400 Arhitectur de Arhitectur de 32 de bi32 de biii Poate executa pn la Poate executa pn la 8 instruc8 instruciuni pe ciclu de iuni pe ciclu de

    ceasceas Opt unitOpt uniti de execui de execuie, die, dintre care dou unitintre care dou uniti i

    vectoriale vectoriale AltiVecAltiVec multimediamultimedia Memorii cache separate de instrucMemorii cache separate de instruciuni iuni i de i de

    date (cte 32 KB)date (cte 32 KB) FrecvenFrecvene de funce de funcionare: 350, 400 ionare: 350, 400 i 450 MHz i 450 MHz

    (825 MIPS)(825 MIPS)

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 5353

    Procesoare Procesoare PowerPCPowerPC

    IntroducereIntroducere

    Exemple de procesoare Exemple de procesoare PowerPCPowerPC

    PowerPCPowerPC 750750

  • 15.03.201515.03.2015 Sisteme de calcul dedicate (06)Sisteme de calcul dedicate (06) 5454

    PowerPCPowerPC 750750

    PowerPCPowerPC 750750

    BibliografieBibliografie BaruchBaruch, Z, Z. F. F., ., Structura sistemelor de calcul, Structura sistemelor de calcul,

    Editura AlbastrEditura Albastr, 2004, ISBN , 2004, ISBN 973973--650650--143143--44..