31

Izbor procesoraes.elfak.ni.ac.rs/rts/Materijal/NASTAVA_2012/PDF_PPT/5... · 2013. 12. 6. · Izbor procesora razotkrivanje mitova-prvi korak ka racionalnom izboru Koliko je procesora

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • Izbor procesorarazotkrivanje mitova-prvi korak ka racionalnom izboru

    Koliko je procesora na raspolaganju?Oko 100 razli čitih vrsta 32 bitnih (ne ra čunaju ći pakovanja)Po nekoliko stotina 16 bitnih i 8 bitnih

    Mikroprocesor – Pentium – Intel (u novinama 95% tržišt a)Samo 2% svih mikroprocesora je ugra đeno u PCSamo 2% svih mikroprocesora je ugra đeno u PCIntel nije ni u prvih pet. Samo za 32 bitne na dnu l iste.

    Uticaj instrukcionog seta na izvršni kod.Nekoliko elegantnih linija na C-u -> ?Performanse, predvidivost, potrošnja!Primer sa instrukcijom množenja

  • Vreme izvršenja instrukcije množenja

    Množenje komutativno (vreme množenja nije!)Kako znati šta je kra će?

  • RISC ili CISC. Ni jedan nije bolji u svemuCISC – bolja gustina koda, manji programi. “Zreliji” s oftverski alatiRISC - veće vrzine, mnogo ve će tržište.

    Java čipoviPokušaj produkcijeJava “accelrator” čipovi 30-60 % kodova izvršava u hardveru.SUN prestao sa razvojem ovih čipova.

    MIPS Beznačajan indikator performansi

    Cena proporcionalna performansama – cena koštanja proizvodnje. Cena proporcionalna performansama – cena koštanja proizvodnje. u embedded primenama procesor od 15$ može biti bolji od 150$ proc.

    ARM kao procesor sa najboljom reputacijom.Magična sposobnost da radi “na vetar”. Takav ARM nema FP,nema keš, nema izlaznu magistralu, drajverei ima mali set instrukcija.

    “Second sourcing” parola komercijalista u firmama. Ha rdveristi su moglida specificiraju komponentu samo ako postoji SS.Ovo je nemogu će za mikroporcesore.

  • Wiley & IEEE PressReal-Time System Design and Analysis3rd Ed (2004),

    Chapter 2Hardware Considerations

  • Hardverska arhitektura raHardverska arhitektura ra čunaračunara

    Pojednostavljena struktura ra čunaraTri sistemske magistrale: power, address and data – sistemska magistrala.

    Lečovanje: pamćenje stanja signala u cilju kasnijeg procesiranjaTrigerovanje na ivicu ili nivo – Edge or Level triggered.Logika sa tri stanja – mogućnost razmene podataka sa više kolaWait stanjaSistemski interfejsi i magistrale:

    1. MIL-STD-1553B - avionske aplikacije2. Small Computer Systems Interface3. IEEE 1394 Firewire

  • 1. MIL-STD-1553B - avionske aplikacije

    Master-slave protokol. Lista aktivnosti uređaja na magistrali.Poruke sadrže ID brojeve, komande i podatke.Primer : Master želi da uređaj 5 pošalje 10 paketa podataka uređaju 6.Pouzdanost.

  • 2. Small Computer Systems Interface (“scuzzy”)

    PC-bazirani interfejs, paralelni.3 generacije.Daisy-chained konfiguracija.ID-0 boot uređaj, prioritet na osnovu ID

    Brza spoljašnja magistrala.400 Mbps u verziji 1394a i 800 Mbps u verziji 1394b.Veza sa 63 uređaja.Priključivanje u toku rada (hot pluggable).Asinhroni prenos i izohroni (isochronous)

    3. IEEE 1394 Firewire

  • CPU – Centralna procesorska jedinica

    Program kao sekvenca makroinstrukcija ili makrokoda - fetch–execute cycleIdling – no operation

  • Mikrokontroleri – programiranje mikroinstrukcijama – velika brzina. Širina instrukcija!

    Mikrora čunari !

    Format instrukcija definiše jezik koji opisuje funkcionalnost računaraArhitektura računara – Organizacija računaraVažnost razlikovanja operanada koji se referenciraju u instrukciji.

    sabiranje: 1.sabirak+2.sabirak (additions: addend+augends)oduzimanje: umanjenik-umanjilac (subtraction: subtract-subtrahend)množenje: množenik*množilac (multiplication: multiplicand*multiplier)deljenje: deljenik/delelac (division: dividend/divisor).

  • 1-Address and 0-Address Forms – akumulator, stek (kalkulatori)2-Address Form

    op-cod operandam, operandumoperandum = op-code(operandam, operandum)

    Intel-Motorolai=i+1; i++;ADD 0x01, &i ; 2-addressADD 0x01, &i, &i ; 3-address

    3-Address Formop-code operandam, operandum, resultantresultant = op-code(operandam, operandum)resultant = op-code(operandam, operandum)

    Osnovne instrukcije• Horizontal-bit operation AND, IOR, XOR, NOT• Vertical-bit operation rotate-left, rotate-right,• Control• Data movement• Mathematical/special processing (int. Float.pt.,• Other (processor specific) 8086 LOCK, 68000 ILLEGAL

  • Načini adresiranjaImmediate data NeposrednoDirect memory location DirektnoIndirect memory location Indirektno

    CISC1. Complex instructions take many different cycles.2. Any instruction can reference memory.3. No instructions are pipelined.4. A microprogram is executed for each native instruction.5. Instructions are of variable format.6. There are multiple instructions and addressing modes.7. There is a single set of registers.7. There is a single set of registers.8. Complexity is in the microprogram and hardware.

    RISC1. Simple instructions taking one clock cycle.2. LOAD/STORE architecture to reference memory.3. Highly pipelined design.4. Instructions executed directly by hardware.5. Fixed-format instructions.6. Few instructions and addressing modes.7. Large multiple-register sets.8. Complexity handled by the compiler and software.

  • MEMORIJEZnačaj k-ka za projektovanje sistema za rad u realnom vremenuAccess time: vremenski interval od trenutka kada se zahteva neki podatak iz memorije to trenutka kad je podatak dostupan CPU.

  • Organizacija memorijeZnačaj tipa i organizacije memorije kod pisanje programa za RT sisteme!Primer embedded 32-bitnog sistema

  • Ulaz/Izlaz (Input/Output)Senzori, pretvarači, aktuatori, prekidači, displeji,...Tri osnovne metode:

    1. Programirani Ulaz/Izlaz ( Programmed Input/Output)Specijalne instrukcije za prenos podataka (OUT, IN).

    2. Direct Memory AccessPristup memoriji (od strane U/I uređaja) bez intervencije CPU.

  • Memorijsko mapirani U/I (Memory-Mapped I/O)Memorijske lokacije se pojavljuju kao virtualni U/I portovi.

    U/I Bit Mapa – Opisuje raspored kontrolnih signale za kola u sistemu. Ovi signali su ogranizovani kao reči odgovarajuće dužine u memoriji.

  • Prekidi ( Interrupts )Hardverski signal koji inicira neki događaj. Izvori prekida (U/I uređaji, trapovi).Instrukcije za podršku prekida (enable, disable). Atomične instrukcije.Procedura prihvatanja prekida (interrupt handling). Status i maska prekida.

  • Višestruki prekidi, procesori sa više prekidnih ulaza

    Programibilni kontroler prekida PIC (programmable interrupt controller), 82093Programibilni kontroler prekida PIC (programmable interrupt controller), 82093Prihvatanje prekida, zabranadaljih prekida, detekcija lažnihprekida.

  • Načini povezivanje kola korišćenjem prekidnog sistema.

    Reagovanje sistema na jednovremenuReagovanje sistema na jednovremenupojavu većeg broja prekidnih signala.Prioriteti.

    Mogućnost prekida nekih instrukcija(prenos bloka podataka)

  • Watchdog tajmer

    Metode za poboljšanje performansiLokalizam referenci: relativna udaljenost promenljive u memoriji.Keš: mala i brza memorija za smeštanje najčešće korišćenih podataka.Protočnost: paralelizam u izvršavanju instrukcija

    Koprocesori:Izvršavanje specijalnihinstrukcija koje nisu deostandardnog seta.

  • Primena specijalizovanih kola

    Klasa logičkih kola (programibilnih) koja se koriste da realizaciju određenih logičkih f-ja.PLD (programmable logic devices):

    PAL - Programmable array logicsPLA - Programmable logic arraysASIC - Applications-specific integrated circuitsFPGA - Field-programmable gate arrays

  • FPGA

  • Paralelni sistemi

    Nedostatak von Nojmanove arhitekture: U jednom trenutku se samo jednaInstrukcija ili jedan podatak mogu preuzeti sa magistrale.Izvršavanje samo jedne instrukcije.

    Posebne arhitekture

    Mehanizmi razmene podataka:Poruke, Deljiva memorija.

    Flynn-ova Taxonomija paralelizma:

    1. Single instruction, single data (SISD)2. Single instruction, multiple data (SIMD)3. Multiple instruction, single data (MISD)4. Multiple instruction, multiple data MIMD)

  • Klasifikacija ra čunarskih arhitektura

    ------------------------------------------------------------------------------------------------------------------------------Single Data Stream Multiple Data Stream

    ------------------------------------------------------------------------------------------------------------------------------Single instruction stream von Neumann processors Systolic processors

    RISC Wavefront Processors------------------------------------------------------------------------------------------------------------------------------Multiple-instruction stream Pipelined architectures Data flow processors

    VLIW processors TransputersGrid computersHypercube processors

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  • NXPLPC17xx

  • A(19A(19--0)0)

    D(31D(31--0)0)

    SectoredSectoredFlashFlash

    Program BusProgram Bus

    RAMRAMBootBootROMROM

    eQEPeQEP

    1212--bit ADCbit ADC

    WatchdogWatchdog

    ePWMePWM

    eCAPeCAPDMADMA6 Ch.6 Ch.

    XIN

    TF

    XIN

    TF

    DMA BusDMA Bus

    F2833x Block Diagram

    32x32 bit32x32 bitMultiplierMultiplier

    Data BusData Bus

    3232--bitbitAuxiliaryAuxiliaryRegistersRegisters

    333232--bit bit

    Timers Timers RealReal--TimeTime

    JTAGJTAGEmulationEmulation CPUCPU

    Register BusRegister Bus

    RR--MM--WWAtomicAtomic

    ALUALU

    PIE PIE Interrupt Interrupt ManagerManager

    CAN 2.0BCAN 2.0B

    II22CC

    SCISCI

    SPISPI

    GPIOGPIO

    FPUFPU

    McBSPMcBSP

  • Concerto College F28M35x TI

  • 250MHz ARM9 CPU64MB DDR-RAM4MB NOR FlashCustomizable 5K LUT OpenCore FPGA1 micro SDHC Card slotUSB2 480Mbit/s Host(2) / Device(1)1 10/100 Ethernet8 TTL UART33 DIO, SPI and I2C interfacesWatchdog TimerOptional BB -RTC, CAN bus, WiFiOptional BB -RTC, CAN bus, WiFiPower-over-Ethernet ReadyFanless Operation from -20°C to 70°C Small size (67mm x 75mm)Low power (400mA @ 5V)Unbrickable, boots from SD or FlashBoots Linux 2.6 in less than 3 secondsSupports tsinit self-customization

  • BeagleBoard -xM